標籤:基礎資料型別 (Elementary Data Type) short byte string double
基礎資料型別 (Elementary Data Type)
基礎資料型別 (Elementary Data Type)-定點型
package com.itany.basejava.day02.demo01;/* * 基礎資料型別 (Elementary Data Type)-定點型 */public class Test{ public static void main(String[] args) { //1-整型常量值預設的類型是int;如果聲明的變數的類型為byte,short,char時,後面為這三個類型的變數 //賦值時,如果常量值在這三個變數表示的範圍內,則int類型的常量會自動轉換成byte,short,char,並賦值。 byte b = 10; short s = 20;// byte bb = 128;//報錯,128超過了byte表示的範圍,而此時,無法將int類型的128常量自動轉換成byte類型// short ss = 65535;//Type mismatch: cannot convert from int to short //2-如果使用整型常量為long類型的變數賦值,則整型常量會自動轉換成long類型。 long ll = 200;//此時,200常量為int類型,該int常量會自動向上轉換成long類型,再賦值 //在整型常量後加上L或l,則該常量表示long類型的常量,用8個位元組儲存。 long l = 40L; //3-如果常量的值超過了int類型表示的範圍,則會報錯。// int xx = 11111111111111111; long xx = 11111111111111L; int i = 30; }}
基礎資料型別 (Elementary Data Type)-char型
/* * 基礎資料型別 (Elementary Data Type)-char */public class Test{ public static void main(String[] args) { char c1 = ‘a‘;// char c2 = ‘‘;//要求字元常量必須是‘‘中有一個字元// char c3 = ‘abc‘; char c4 = ‘中‘; //字元在記憶體中,也是以數值進行儲存的。 //整型常量97屬於char表示的範圍內,則97會自動轉換成char類型,賦值。 char c5 = 97; System.out.println(c5); //char類型既然是以數值儲存,則可以參與數值運算。如果參與元算,則使用的是字元對應的數值 int x = c1 + 1; System.out.println(x); //逸出字元---- \字元 //特殊的字元->一般字元 //‘ " \ System.out.println(‘\‘‘); System.out.println(‘\\‘); System.out.println("\""); //一般字元->特殊含義字元 System.out.println("xxxxxxx"); System.out.println("aaaaaa\nbbbbbbbbbb"); System.out.println("xxxxxx\tyyyyyyyy"); //\r 斷行符號,\n 換行, \t 定位字元 }}
基礎資料型別 (Elementary Data Type)-浮點型,布爾型
/* * 基礎資料型別 (Elementary Data Type)-浮點型,布爾型 */public class Test{ public static void main(String[] args) { //浮點型變數的定義 double d = 10.0;// float ff = 10.0;//Type mismatch: cannot convert from double to float float f = 10.0F;//10.0f或10.0F表示該常量為float類型。 //浮點型表示形式 double dd1 = 10.0; double dd2 = 1.0e2;//科學計數法 double dd3 = 1.0E23;//1.0*10的23次方 double dd4 = 1.0e-23; double dd5 = .12e-10; double dd6 = dd1; //java中無法表示1/10,如果需要具體表示一個小數,則使用BigDecimal類 System.out.println(1.0 - 0.9); //boolean,預設為false boolean flag = true; flag = false; }}
特殊的參考型別
特殊的參考型別-String
/* * 特殊的參考型別-String */public class Test{ public static void main(String[] args) { String s1 = ""; String s2 = "a"; String s3 = "abcdef"; int i = 10; String s = "abc"; i = 100;//重新為i所指向的記憶體空間賦值 s = "efg"; System.out.println(i);//100 System.out.println(s);//efg }}
類型轉換規則
類型轉換規則:基礎資料型別 (Elementary Data Type)
/* * 類型轉換規則:基礎資料型別 (Elementary Data Type) */public class Test{ public static void main(String[] args) { //1-boolean不能與任何基礎資料型別 (Elementary Data Type)轉換 //2-byte,short,char一般不互相轉換。如果參與其他運算,會先自動轉換成int類型,再運算. byte b1 = 10; short s1 = 20; char c1 = ‘a‘; byte b2 = 10; byte b3 = 20;// byte b4 = 30;//30為常量,在byte類型表示的範圍內,所以可以int自動轉換成byte //b2和b3會先自動轉換成int類型,然後相加。此時,即使結果在byte表示的範圍內,也無法自動轉換成byte類型 //因為此時是變數相加,結果不確定。// byte b4 = b2 + b3;// int sum1 = b1 + 1; int sum = b1 + s1 + c1; //3-任何基礎資料型別 (Elementary Data Type),都可以與String相加.基本類型會先轉換成String,與String類型相加. String str1 = "aaa"; String str2 = "bbb"; String str3 = "ccc"; //字串通過+,進行拼接。 String str = str1 + str2 + str3; System.out.println(str);//aaabbbccc// System.out.println(str - str1); int i2 = 1000; long l2 = 11111L; float f2 = 10.0F; double d2 = 20.123; boolean bool = true; char c2 = ‘a‘; System.out.println("10" + i2);//"10" + "1000" -> "101000" System.out.println(str1 + i2);// System.out.println(str1 + l2); System.out.println(str1 + f2); System.out.println(str1 + d2);//"aaa" + "20.123"-> System.out.println(str1 + bool);//"aaa" + "true"->"aaatrue" System.out.println(str1 + c2);//"aaa" + "a"->aaaa }}
基礎資料型別 (Elementary Data Type)轉換
/* * 基礎資料型別 (Elementary Data Type)轉換 */public class Test{ public static void main(String[] args) { //4-類型自動轉換(隱式轉換):位元組數小的可以自動轉換成位元組數大。 byte b1 = 10; short s1 = b1; int i1 = s1; long l1 = i1; float f1 = l1; double d1 = l1;// 5-類型強制轉換(顯式轉換),如果位元組數大的轉換成小的,必須強制轉換。強制轉換,有可能發生資料溢出,造成錯誤。// type1 t = (type1)值; byte b2 = (byte)i1; int i2 = (int)l1; //注意是否會造成資料溢出。 int i3 = 200; byte b3 = (byte)i3;// 如果是浮點型的資料轉換成整型,則會出現截尾操作。 float f2 = 10.123F; double d2 = 1000.6783; int ii1 = (int)f2; int ii2 = (int)d2; System.out.println(ii1); System.out.println(ii2);// 6-多種資料類型混合運算時,小類型自動轉換成大類型。 byte x1 = 10; short x2 = 20; int x3 = 30; long x4 = 40; float x5 = 10.0F; double x6 = 20.5; char x7 = ‘a‘; System.out.println(x1 + x2 + x3 + x7 + x4 + x5 + x6); }}
JAVA學習筆記(一) - 基礎資料型別 (Elementary Data Type)