Java中的變數和基本資料型別:
寫完第一個java程式之后,我們對Java也有了初步的了解,現在我們再來繼續認識一下Java中的基本知識點——變數和資料型別,
那么我們該怎樣來認識變數和資料型別呢,在這里,我們首先來認識一下記憶體,我們日常生活中的計算機體系中記憶體主要分為記憶體儲器和外存盤器,比如說我們平常看我們電腦配置的時候,都會看到8G+256G這樣的標志,其中的8G就是所說的記憶體儲器(RAM),而256G也就是外存盤器,諸如磁盤,u盤,光碟等,這里我們就不詳細的研究了,我們定義的變數占用的就是記憶體儲器,它的本質就是一段實際連續存盤空間,而資料型別則代表資料需要占用的存盤空間大小,資料型別的作用就是告訴編譯器當前這個變數需要占用多少記憶體,Java中的資料型別分為基本資料型別和參考資料型別,基本資料型別一共有八個,現在我們就先來認識一下這八個基本資料型別,
- 整型
public class Test {
public static void main (String[]args) {
int a = 10;//int 代表整型
int b = 5;
System.out.println("a的值是:"+a);
System.out.println("b的值是:"+b);
}
}
注:整型在記憶體中占用四個位元組,不管是32位還是64位,和作業系統沒有關系,一個位元組=八個bit位,所以整型在記憶體中占三十二個bit位,一個bit位代表一個二進制數字,第一個bit位代表的是符號位,后面的三十一個bit位代表數值位,總共有2^31 種狀態,正數有2^31-1 種可能,負數的范圍是-2^31 —— 1,所以我們可以求出整形的取值范圍:-231-231-1
public class TestB {
public static void main(String[] args) {
int a =10;
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
這里我們可以用int的包裝類Integer來驗算取值范圍結果

注:①整型的最大值+1就變成了最小值,相當于一個圓一樣在一直回圈
- 長整型
public class TestC {
public static void main(String[] args) {
long a = 10L;
long b = 5L;
System.out.println("a的值是:"+a);
System.out.println("b的值是:"+b);
}
}
注意:長整型在Java中占八個位元組,64個bit位,一個符號位,63個數值位,同樣的計算方法,它的取值范圍是:-263-263-1
public class TestD {
public static void main(String[]args) {
long a = 10L;
System.out.println("最大值:"+Long.MAX_VALUE);//“+”是拼接的意思
System.out.println("最小值:"+Long.MIN_VALUE);
}
}
這里我們也可以用long的包裝類Long來驗證

- 短整型
public class TestH {
public static void main (String[]args) {
short a = 2;
short b = 4;
System.out.println(a);
System.out.println(b);
}
}
短整型占兩個位元組,取值范圍也就是-2^ 16——2^15-1
同樣的我們也可以用short的包裝類Short來驗證:
public class TestI {
public static void main(String[]args) {
short a = 10;
System.out.println("最大值:"+Short.MAX_VALUE);
System.out.println("最小值:"+Short.MIN_VALUE);
}
}

- 單精度浮點型
public class TestJ {
public static void main(String[]args) {
float f = 11.5f; //小數默認為是雙精度,所以要加一個f
float f1= 6.3f;
System.out.println(f);
System.out.println(f1);
}
}
注:單精度浮點型占四個位元組,我們同樣可以計算出它的取值范圍為-231-231-1,小數默認為是雙精度型別,所以在定義的時候需要在后面加一個"f",這也體現了java的安全性
public class TestK {
public static void main(String[]args) {
float f = 1.6f;
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
}
}
我們同樣可以用float的包裝類Float來驗證

- 雙精度浮點型
public class TestO {
public static void main(String[]args) {
double d = 11.5;
double d1 = 14.73;
System.out.println(d);
System.out.println(d1);
}
}
注:double占八個位元組,同樣可以用double的包裝類Double來計算取值范圍,只要是小數默認都是雙精度型別,所以寫程式有小數的時候建議都用double,當進行兩個整數相除結果是小數的時候,需要把其中一個整數定義為double型別,比如 double d = 1.0;
public class TestP {
public static void main(String[]args) {
double d = 1.6;
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
}
}

- 字符資料型別:字符資料型別
public class TestQ {
public static void main(String[]args) {
char ch = 'A';//可以是一個漢字,漢字也占兩個位元組,也可以是數字,列印出來的將會是在Unicode碼中對應的符號
System.out.println(ch);
}
}
字符資料型別占兩個位元組,不同的是這里不可用char的包裝類Character計算它的取值范圍,因為它的取值對應的是Unicode碼中的符號
- 位元組型別
public class TestR {
public static void main(String[]args) {
byte a = 102;
byte b = 1;
byte c = (byte)(a+b);//小于四個位元組的型別計算時會提升為整型計算,所以需要強制轉換為位元組型別
System.out.println(c);
}
}
位元組型別占1個位元組,計算初取值范圍為-128——+127,需要注意的是,小于四個位元組的型別在進行計算時會整型提升,所以需要強制轉換為位元組型
public class TestS {
public static void main (String[] args) {
byte a = 12;
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
}
}
同樣可以用byte的包裝類Byte驗證

8.布爾型別
public class TestT {
public static void main(String[]args) {
boolean flg = false;
System.out.println(flg);
}
}
布爾型別在java中沒有明確大小,并且它只有兩個取值,true/false,java中的真/假只有true/false,沒有所謂的0是假,非0是真,布爾型別對應的包裝類是Boolean
除去以上這八大基本資料型別,在Java中還有一種叫參考資料型別,如:類 String 陣列,抽象類 介面 列舉等等,下面我們再來認識一下String
字串資料型別:
public class TestU {
public static void main(String[]args) {
String str ="hello";//字串用雙引號
String str1 = "hello"+"world";
System.out.println(str);
System.out.println(str1);//用"+"可以把兩個字串拼接起來,任意資料型別和字串拼接后都是字串
}
}
認識完以上幾種資料型別,我們對變數也有了大概的了解,在變數的命名中,有一下幾種規則:
①:只能包含數字字母下劃線
②:數字不能開頭
③:推薦使用小駝峰,numMax,也就是初了第一個單詞首字母,其他都要首字母大寫
java中除了變數,還有一種叫做常量,顧名思義,也就是只能被初始化一次,并且使用的時候要記住一定要初始化,常量又分為兩種:
①:字面常量:像10,"abc"這種
②:被final修飾的變數: final int MAXNUM = 10 ;此時的maxNum是常量,并且字母全部大寫,
學到這里,我們對Java中的資料型別和變數也有了一定的認識,更加期待后面的學習!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/275138.html
標籤:java
上一篇:設計模式:行為型-迭代器模式
