1. 程式人生 > >第二章: Java總結

第二章: Java總結

存儲空間 基本類型 code 字節 運行時 void 科學 編程語言 數值

第二章筆記

什麽是變量:
變量代表一塊內存區域,變量類型不一樣,這一塊內存的大小也不一樣。
#在編程語言裏面,你可以通過定義變量,向內存裏添加數據或者修改內存已有的數據。說白了,變量就是代表程序運行時存放數據的地方


數據的存放:
磁盤、內存卡、U盤、光盤、內存條、固態、機械硬盤等等

簡單的信息(臨時的信息)紙

人把信息存在大腦

變量怎麽在內存中存儲

已將數據存儲打內存中怎麽去找
分配後的內存會有內存地址(內存地址不好記憶)
:通過變量名可以簡單快速地找到它存儲的數據


Java定義的常用數據類型有哪些?
字節:#是計算機信息技術用於計量存儲容量的一種計量單位,
#也表示一些計算機編程語言中的數據類型和語言字符
8個二進制位構成1個"字節(Byte)",它是存儲空間的基本計量單位。
1個字節可以儲存1個英文字母或者半個漢字,換句話說,1個漢字占據2個字節的存儲空間
位:是電子計算機中最小的數據單位。每一位的狀態只能是0或1

數據只用0和1還種表現形式,(這裏只表示一個數據點,不是數字),一個0或者1占一個“位”,而系統中規定8個位為一個字節
一個字節等於8位
(一個字節就是一個英語字母這麽大 一個漢字的一半)
電腦裏面的所有數據都是以二進制數1或0來存儲的,一個1或0叫1bit即1位,8位二進制數稱為一個字節,即Byte!
一個字符能存儲一個中文漢字
一個漢字占用兩個字節

#術語:位,字節用於描述計算機數據單位或計算機存儲單位。這裏主要指存儲單位
# 最小的存儲單位稱為位(bit):
# 只能容納兩個值(0或1)之一,不能在一個位中存儲更多的信息。位是計算機存儲的基本單位。
# 對於一種給定的計算機設計,字(word)是自然的存儲單位。
# 一個英文字符和英文標點占用一個字節,一個中文字符和中文標點占用2個字節
#
# 字節(byte)是常用的計算機存儲單位。
# 字節的標準定義:一個字節均為8位。由於上述所講每個位或者是0或者是1,所以一個8位的字節包含256種可能的0,1組合


之前講過集中數據類型?

java基本數據類型就8種,記住就好了。除了這些都是引用型的了
java四類八種基本數據類型 (占用字節)


#在棧中可以直接分配內存的數據是基本數據類型

字節大小
第一類:整型
int(整數類型) 4
byte(字節類型) 1
short(短整形) 2
long(長整形) 8
第二類:浮點型
double(雙精度類型 雙精度) 8
float(浮點類型 單精度) 4
第三類:邏輯型
boolean(布爾型 他只有兩個值1.True 2.False) 1
第四類:字符型
char(字符型) 2





主類型 大小 最小值 最大值
boolean 1位 - -
char 16位 0 2的16次方-1=65535
byte 8位 -128 +127
short 16位 -2的15次方=-32768 +2的15次方-1
int 32位 -2的31次方 +2的31次方-1
long 64位 -2的63次方 +2的63次方-1
float 32位 1.4E-45 3.4028235E38
double 64位 4.9E-324 1.7976931348623157E308

// byte
System.out.println("基本類型:byte 二進制位數:" + Byte.SIZE);
System.out.println("最小值:" + Byte.MIN_VALUE);
System.out.println("最大值:" + Byte.MAX_VALUE);
System.out.println();


// short
System.out.println("基本類型:short 二進制位數:" + Short.SIZE);
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();

// int
System.out.println("基本類型:int 二進制位數:" + Integer.SIZE);
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();

// long
System.out.println("基本類型:long 二進制位數:" + Long.SIZE);
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();

// float
System.out.println("基本類型:float 二進制位數:" + Float.SIZE);
//1.4乘於10的負45次方;此處的E並非自然對數,而是10的次方的意思。這是科學計數法的寫法
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();

// double
System.out.println("基本類型:double 二進制位數:" + Double.SIZE);
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();

// char
System.out.println("基本類型:char 二進制位數:" + Character.SIZE);
// 以數值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺
System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);
// 以數值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺
System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);


變量的聲明及使用
變量的定義兩種方式:
語法:變量類型 變量名 = 數值;

// 先定義 再賦值
int a;
a = 10;

// 邊定義 邊賦值
int a = 10;

起變量名一定要規範:
字母、下劃線、$符號 其余部分任意字符、下劃線、數字、$符號
通常第一個單詞的首字母小寫,其後的單詞的首字母大寫:mySchool(起變量名要有意義,見名知意)

賦值運算符(=):
變量名 = 表達式
程序中的賦值是右邊給左邊賦值
int a = (1 + 2) * (8 - 2);

算數運算符
+ :加
- :減
x : 乘
/ :除
% :余

類型轉換:
自動類型轉換
整型、實型(常量)、字符型數據可以混合運算。運算中,不同類型的數據先轉化為同一類型,然後進行運算。
轉換從低級到高級。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
數據類型轉換必須滿足如下規則:
1. 不能對boolean類型進行類型轉換。
2. 不能把對象類型轉換成不相關類的對象。
3. 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。
4. 轉換過程中可能導致溢出或損失精度,例如:
int i =128;
byte b = (byte)i;
因為byte類型時8位,最大值為127,所以當強制轉換為int類型值128時候就會導致溢出。
5. 浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45

規則一:如果一個操作數為double型,整個表達式都提為double

規則二:滿足自動轉換類型
char c1=‘a‘;//定義一個char類型
int i1 = c1;//char自動類型轉換為int
System.out.println("char自動類型轉換為int後的值等於"+i1);
char c2 = ‘A‘;//定義一個char類型
int i2 = c2+1;//char 類型和 int 類型計算
System.out.println("char類型和int計算後的值等於"+i2);
解析:c1的值為字符‘a‘,查ascii碼表可知對應的int類 型值為97,‘A‘對應值為65,所以i2=65+1=66
擴展:
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單字節編碼系統,並等同於國際標準ISO/IEC 646

強制類型轉換:
語法:(類型名)表達式
強制類型轉換
1. 條件是轉換的數據類型必須是兼容的。
2. 格式:(type)value type是要強制類型轉換後的數據類型 實例:
實例
public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//強制類型轉換為byte
System.out.println("int強制類型轉換為byte後的值等於"+b);
}
}
隱含強制類型轉換
1. 整數的默認類型是 int。
2. 浮點型不存在這種情況,因為在定義 float 類型時必須在數字後面跟上 F 或者 f。
這一節講解了 Java 的基本數據類型。下一節將探討不同的變量類型以及它們的用法


邏輯運算符
&& :兩個條件同時為真,結果為真
|| :兩個條件有一個為真,結果為真
! :條件為真,結果為假;條件為假,結果為真


關系運算符
> 大於
< 小於
= 等於
>= 大於等於
<= 小於等於
!= 不等於
關系運算符的作用:用來做比較運算,比較結果為boolean


運算符的優先級
最高 小括號()
最低 賦值=

優先級順序:算數運算符 > 關系運算符 > 邏輯運算符 > 賦值運算符

short a = 1;
short b = 2;
那麽 a+b 是什麽類型?
答:在java的世界裏,如果比int類型小的類型做運算,java在編譯的時候就會將它們統一強轉成int類型。當是比int類型大的類型做運算,就會自動轉換成它們中最大類型那個。



String a1 = "張三";// 000001

String a2 = "張";// 000001

if(a1 == a2){ // 比較的地址
System.out.println("True");
}else{
System.out.println("False");
}

if(a1.equals(a2)){// 比較值是否相等
System.out.println("True");
}else{
System.out.println("False");
}

}

第二章: Java總結