JAVA——基本資料型別與陣列(1)
主要內容:1.識別符號與關鍵字;2.基本資料型別;3:型別轉換運算;4:輸入,輸出資料;5陣列
一:識別符號與關鍵字
1.識別符號(只是一個名字):作用:用來標識類名,變數名,方法名,型別名,陣列名,以及檔名的有效字元序列。
2.命名規則:①不能是數字字元開頭;
②由字母,下劃線,美元符,和數字組成,長度不受限制。
③大小寫敏感:Hello與hello不是相同的識別符號。
④不能是JAVA的關鍵字。(關鍵字:就是具有特定用途或被賦予特定意義的一些單詞)
⑤識別符號不能是true,false,null(儘管true,false和null不是JAVA的關鍵字)
eg.以下都是識別符號:HappyNewYear_ava,TigerYear_2010,$98apple,hello,Hello。
注:JAVA採用UNICODE字符集,即國際字符集。
二:資料型別:(常量是有資料型別的,變數必須宣告資料型別)
1.常量和變數:①定義:在程式中存在大量的資料來代表程式的狀態;常量:資料在程式執行中值不能發生改變;變數:資料在程式執行中值會發生變化。
②JAVA是一種強型別語言,每個變數都必須宣告其型別。
③JAVA變數是程式中最基本的儲存單元,其要素包括變數名、變數型別、和作用域。
④變數在使用前必須對其申明,只有在變數聲明後,才能為其分配相應長度的儲存單元格,宣告格式為:.type varName[=value][{varName[=value]}]
注:1.每個變數都有型別,型別可以是基本型別,也可以是引用型別。
2變數名必須是合法的識別符號。
⑤變數宣告舉例:double salary;boolean done;int age;
2.資料型別:❶基本資料型別:⑴數值型:①整數型別(byte、short、int、long);②浮點型別:(float、double)
⑵字元型別:char
⑶邏輯型別(布林型別);boolean
❷ 應用資料型別:⑴類:class
⑵介面:interface
⑶陣列
3.整形資料型別:整形常量:十進位制數;如99、-500、0;八進位制數:要求以0開頭;十六進位制數:要求以ox開頭。
整形變數:
型別 | 佔用儲存間 | 表數範圍 |
---|---|---|
byte | 1位元組(8位) | —128~127 |
short | 2位元組(16位) | -32768~32767 |
int | 4位元組(32位) | -2147483648~2147483647 |
long | 8位元組(64位) | 負二的六十三次方到二的六十三次方 |
注:整型常量預設為int,宣告long型常量可在後加“L”
4.浮點資料型別
①浮點型別常量:十進位制數形式:3.14;314.0;0.314
科學計數形式:314e2;314E2;314E-2
②浮點型變數:float型別:單精度型別,尾數可以精確到7位有效數字,在很多情況下,float型別的精度很難滿足需求。
double型別:雙精度型別,精度是float型別的兩倍,絕大部分應用程式都採用double型別。
型別 | 佔用空間 | 表數範圍 |
float | 4位元組(32位) | -3.403E38~3.403E38 |
double | 8位元組(64位) | -1.798E308~1.798E308 |
注:浮點型預設為double型別,要變為float型別,須在後面加"F"
5.字元型別:常量:‘A’,‘b’,‘?’,‘悅’,‘8’,等,應用單引號(需用英文輸入法輸入)
變數:使用關鍵字char來表明char型變數。
eg:char ch:='A'; home='家'; handsome=‘酷’;
型別 | 佔用儲存間 | 表數範圍 |
char | 2位元組(16位) | 0~65535 |
注:①最高位不是符號位,沒有負數的char。
②char X='a';等於char x=97;(記憶體中X儲存的是97位,97是字元a在UNICODE表中的排序位置)
③有些字元(如回車符)不能通過鍵盤輸入到字串或程式中,這時就需要使用轉義字元常量:eg:\n.(換行),\b(退格),\t(水平製表),\'(單引號),\\(反斜線)等。例如:char ch1='\n',ch2='\',ch3='\\';
④字串“我喜歡使用雙引號\” "中含有雙引號字元,但是如果寫成“我喜歡使用雙引號” ”,就是一個非法字串。
⑤在JAVA中,可以用字元在UNICODE表中排序位置的十六進位制轉義(需要使用U做字首 )來表示該字元,其一般格式為'\u*****';eg:'\u004'表示字元A,'\u006'表示字元a。
6.布林資料型別:(一位,不是一個位元組)
①boolean型別有兩個值:true和false
②boolean型別用來判斷邏輯條件,一般用於程式流程控制。
實踐:if(is==true&&done==false)
三:型別轉換運算:涉及範圍:把一種基本資料型別變數的值賦給另一種基本型別變數時。
精度從低到高的資料排列:byte、short、char、int、long、float、double
轉換規則:1.當把級別低的變數的值賦給級別高的變數時,系統自動完成資料型別轉換:例如:
int X=50;
float y;
y=X;
如果輸出y的值,結果將 是50。
2.當把級別高的變數的值賦給級別低的變數時,必須使用型別轉換運算。格式為:(型別名)要轉換的值。例如:
int x=(int)34.89;
long y=(long)56.98F;
int z=(int)1999L;
如果輸出x y z的值,結果是34、56、1999。
3.當把一個int型常量賦值給一個byte、short、char型變數時,不可超出這些變數的取值範圍,否則必須進行型別轉換運算。例如:常量128屬於int型別常量,超出byte變數的取值範圍,如果賦值給byte型變數,必須進行byte型別轉換運算(將導致精度型別的損失),例如:
byte a=(byte)128;
byte b=(byte)(-129);
那麼a、b輸出的結果是-128和127。
4.將double型常量賦給float型變數時必須進行型別轉換運算,例如:
float x=11.2F;
或float x=(float)11.2;
總結:1.右側:所有變數先轉換為位元組數最多的資料型別,再計算。
2.兩側:左側寬度>右側寬度(自動轉換)
左側寬度<右側寬度 (強制轉換)
四:輸入、輸出資料
輸出資料型別System.out,println()或System.out.println()可輸出串值、表示式的值,二者的區別是前者輸出資料後換行,後者不換行。允許使用並置符+將變數、表示式或一個常數值與一個字串並置一起輸出,eg:
System.out,println(m+"個數的和為"=sum);
System.out.println(":"+1223+"你好");