Java中的數據類型分爲兩大類,基本數據類型和引用數據類型。數組
基本數據類型只有8種,可按照以下分類
①整數類型:long、int、short、byte
②浮點類型:float、double
③字符類型:char
④布爾類型:boolean
this
No. | 數據類型 | 大小/位 | 可表示數據範圍 | 默認值 |
---|---|---|---|---|
1 | byte (字節型) |
8 | -128~127 | 0 |
2 | short (短整型) |
16 | -32768~32767 | 0 |
3 | int (整型) |
32 | -2147483648~2147483647 | 0 |
4 | long (長整型) |
64 | -9223372036854775808~9223372036854775807 | 0 |
5 | float (單精度) |
32 | -3.4E38~3.4E38 | 0.0 |
6 | double (雙精度) |
64 | -1.7E308~1.7E308 | 0.0 |
7 | char (字符) |
16 | 0~255 | '\u0000' |
8 | boolean (布爾) |
- | true或false | false |
引用數據類型很是多,大體包括:
類、 接口類型、 數組類型、 枚舉類型、 註解類型、 字符串型code
例如,String
類型就是引用類型。
簡單來講,全部的非基本數據類型都是引用數據類型。blog
public class Main{ public static void main(String[] args){ //基本數據類型 int i=1; double d=1.2; //引用數據類型 String str="helloworld"; } }
//基本數據類型做爲方法參數被調用 public class Main{ public static void main(String[] args){ int msg = 100; System.out.println("調用方法前msg的值:\n"+ msg); //100 fun(msg); System.out.println("調用方法後msg的值:\n"+ msg); //100 } public static void fun(int temp){ temp = 0; } }
//引用數據類型做爲方法參數被調用 class Book{ String name; double price; public Book(String name,double price){ this.name = name; this.price = price; } public void getInfo(){ System.out.println("圖書名稱:"+ name + ",價格:" + price); } public void setPrice(double price){ this.price = price; } } public class Main{ public static void main(String[] args){ Book book = new Book("Java開發指南",66.6); book.getInfo(); //圖書名稱:Java開發指南,價格:66.6 fun(book); book.getInfo(); //圖書名稱:Java開發指南,價格:99.9 } public static void fun(Book temp){ temp.setPrice(99.9); } }
調用時爲temp在棧中開闢新空間,並指向book的具體內容,方法執行完畢後temp在棧中的內存被釋放掉接口