一、變數的概念: (1)記憶體中的一個存儲區域 (2)該區域有自己的名稱(變數名)和類型(數據類型) (3)Java中每個變數必須先聲明,後使用 (4)該區域的數據可以在同一類型範圍內不斷變化 使用變數註意: (1)變數的作用域:一對{ }之間有效 (2)初始化值 定義變數的格式:數據類型 變數名 = ...
一、變數的概念:
(1)記憶體中的一個存儲區域
(2)該區域有自己的名稱(變數名)和類型(數據類型)
(3)Java中每個變數必須先聲明,後使用
(4)該區域的數據可以在同一類型範圍內不斷變化
使用變數註意:
(1)變數的作用域:一對{ }之間有效
(2)初始化值
定義變數的格式:數據類型 變數名 = 初始化值
二、變數的分類——按數據類型
對於每一種數據都定義了明確的具體數據類型,在記憶體中分配了不同大小的記憶體空間。
1、整數類型:byte、short、int、long
Java各整數類型有固定的表數範圍和欄位長度,不受具體OS的影響,以保證java程式的可移植性。
java的整型常量預設為 int 型,聲明long型常量須後加‘l’或‘L’
2、浮點類型:float、double
(1)與整數類型類似,Java 浮點類型也有固定的表數範圍和欄位長度,不受具體OS的影響
(2)Java 的浮點型常量預設為double型,聲明float型常量,須後加‘f’或‘F’。
(3)浮點型常量有兩種表示形式:
十進位數形式:如:5.12 512.0f .512 (必須有小數點)
科學計數法形式:如:5.12e2 512E2 100E-2
3、字元類型:char
char 型數據用來表示通常意義上“字元”(2位元組)
字元型常量的三種表現形式:
(1)字元常量是用單引號(‘’)括起來的單個字元,涵蓋世界上所有書面語的字元。例如:char c1 = 'a'; char c2 = '中'; char c3= '9';
(2)Java中還允許使用轉義字元‘\’來將其後的字元轉變為特殊字元型常量。例如:char c3 = ‘\n’; // '\n'表示換行符
(3)直接使用 Unicode值來表示字元型常量:‘\uXXXX’。其中,XXXX代表一個十六進位整數。如:\u000a表示\n。
(4)char類型是可以進行運算的。因為它都對應有Unicode碼
4、字元編碼
(1)ASCII 碼
在電腦內部,所有數據都使用二進位表示。每一個二進位位(bit)有 0 和 1 兩種狀態,因此 8 個二進位位就可以組合出 256 種狀態,這被稱為一個位元組(byte)。一個位元組一共可以用來表示 256 種不同的狀態,每一個狀態對應一個符號,就是 256 個符號,從 0000000 到 11111111。
ASCII碼:上個世紀60年代,美國制定了一套字元編碼,對英語字元與二進位位之間的關係,做了統一規定。這被稱為ASCII碼。ASCII碼一共規定了128個字元的編碼,比如空格“SPACE”是32(二進位00100000),大寫的字母A是65(二進位01000001)。這128個符號(包括32個不能列印出來的控制符號),只占用了一個位元組的後面7位,最前面的1位統一規定為0。
(2)Unicode編碼
亂碼:世界上存在著多種編碼方式,同一個二進位數字可以被解釋成不同的符號。因此,要想打開一個文本文件,就必須知道它的編碼方式,否則用錯誤的編碼方式解讀,就會出現亂碼
Unicode:一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,使用 Unicode 沒有亂碼的問題。
Unicode 的缺點:Unicode 只是一個符號集,它只規定了符號的二進位代碼,卻沒有規定這個二進位代碼應該如何存儲:無法區別Unicode和ASCII:電腦無法區分三個位元組表示一個符號還是分別表示三個符號。
(3)UTF-8:
UTF-8 是在互聯網上使用最廣的一種 Unicode的實現方式。
UTF-8 是一種變長的編碼方式。它可以使用 1-6 個位元組表示一個符號,根據不同的符號而變化位元組長度。
UTF-8的編碼規則:
對於單位元組的UTF-8編碼,該位元組的最高位為0,其餘7位用來對字元進行編碼(等同於ASCII碼)。
對於多位元組的UTF-8編碼,如果編碼包含 n 個位元組,那麼第一個位元組的前n 位為1,第一個位元組的第 n+1 位為0,該位元組的剩餘各位用來對字元進行編碼。在第一個位元組之後的所有的位元組,都是最高兩位為"10",其餘6位用來對字元進行編碼。
5、布爾類型:boolean
boolean 類型適於邏輯運算,一般用於程式流程式控制制
if條件控制語句
while迴圈控制語句
do-while迴圈控制語句;
for迴圈控制語句
boolean類型數據只允許取值true和false,無null。
不可以0或非 0 的整數替代false和true,這點和C語言不同
案例
//變數:基本數據類型(8個) vs 引用數據類型(類、介面、數組)
//1.java中的變數定義的格式:數據類型 變數名 = 初始化值
class TestVeriable {
publicstaticvoid main(String[] args) {
//2.變數得先定義,後使用
int myInt1 = 10;
double d = 12.3;
System.out.println(myInt1);
System.out.println(myInt1 + d);
//i1超出了其作用的範圍,不可使用。
//System.out.println(i1);
//3.整型:byte(-128~+127) short int(預設類型) long
byte b1 = 12;
//byte b2 = 128;
short s1 = 128;
int i1 = 12;
//定義long型變數,值的末尾加“L”或“l”
long l1 = 2134123351345325L;
System.out.println(l1);
//4.浮點型(帶小數點的數值):float double(預設類型)
double d1 = 12.3;
//聲明float類型的浮點型數據,末尾要加“F”或者“f”
float f1 = 12.3F;
System.out.println(f1);
//5.字元型(=兩個位元組):char 只能表示一個字元(英文、中文、標點符號、日文、。。。)
char c1 = 'a';
//char c2 = 'ab';
String str = "ab";
char c3 = '中';
String str1 = "中國";
//可以表示轉義字元
char c4 = '\t';
char c5 = '\n';
System.out.println("abc" + c5 + "def");
//瞭解
char c6 = '\u1234';
System.out.println(c6);
//6.布爾類型:boolean 只能夠取值為true 或 false 。不能取值null
boolean bool1 = true;
if(bool1){
System.out.println("今天是周五");
}else{
System.out.println("今天明明是周六!");
}
}
publicvoid method1(){
int i1 = 10;
System.out.println(i1);
}
}
尚學堂讓你零基礎學習JAVA不用愁,帶你進入IT這個神奇的世界!