Java的基本型別和引用型別
1、基本資料型別
基本資料型別只有8種,可按照如下分類
①整數型別:long、int、short、byte
②浮點型別:float、double
③字元型別:char
④布林型別:boolean
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 |
2、引用資料型別
引用資料型別非常多,大致包括:
類、 介面型別、 陣列型別、 列舉型別、 註解型別、 字串型
例如,String
型別就是引用型別。
簡單來說,所有的非基本資料型別都是引用資料型別。
2、傳遞方式
基本變數型別
- 在方法中定義的非全域性基本資料型別變數,呼叫方法時作為引數是按數值傳遞的
//基本資料型別作為方法引數被呼叫
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在棧中的記憶體被釋放掉
相關文章
- JAVA 基本型別與 引用型別區別Java型別
- js基本型別和引用型別區別JS型別
- Java基本資料型別和引用型別 - Java那些事兒Java資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- javascript基本型別 引用型別 基本包裝型別JavaScript型別
- JS篇-基本型別和引用型別、typeofJS型別
- 從賦值看基本型別和引用型別的區別賦值型別
- 基本資料型別和引用型別的初始值資料型別
- JavaScript - 基本型別與引用型別值JavaScript型別
- JavaScript 基本資料型別和引用型別的區別詳解JavaScript資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- 你不知道的JavaScript--Item4 基本型別和基本包裝型別(引用型別)JavaScript型別
- 值型別和引用型別型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- JS基本型別與引用型別知多少JS型別
- 基本資料型別與API引用型別的使用資料型別API
- java 方法修改主函式裡基本資料型別和引用資料型別的區別Java函式資料型別
- JavaScript值型別和引用型別JavaScript型別
- Swift值型別和引用型別Swift型別
- java基本型別和包裝型別的“==”和equals()方法Java型別
- 《JavaScript物件導向精要》之一:基本型別和引用型別JavaScript物件型別
- Java基礎-基本型別和包裝型別Java型別
- c#中值型別和引用型別的區別C#型別
- C#的型別——值型別與引用型別C#型別
- 值型別與引用型別的區別型別
- JavaScript引用型別-Object型別JavaScript型別Object
- 值型別與引用型別型別
- Python引用型別和值型別的區別與使用Python型別
- Java引用型別原理剖析Java型別
- Java引用型別與WeakHashMapJava型別HashMap
- C#變數型別(1):引用型別和值型別 (轉)變數型別
- Java中的引用型別和使用場景Java型別
- 區別值型別資料和引用型別資料型別
- 引用型別型別
- Java 包裝類和基本型別Java型別
- Js基礎---紅寶書讀書日記(1)-------基本型別和引用型別JS型別
- c#:值型別&引用型別C#型別
- ECMAScript 原始型別與引用型別型別