一、基本資料型別
a. 基本資料型別的分類
b. 基本資料型別的取值範圍
資料型別
位數
取值範圍
byte
8
-128~127
short
16
-32768~32767
int
32
-231~231-1
long
64
-263~263-1
float
32
略
double
64
略
char
16
『\u0000』~『\uffff』
boolean
1
true/false
c. 基本資料型別的型別轉換
程式中經常會遇到要將資料型別進行轉換的情況(如:在乙個表示式中存在不同型別的運算元時)
資料轉換分成兩種模式:
1、 自動型別轉換
自動轉換又叫隱式轉換,只要滿足以下條件,就會發生自動型別轉換
a) 兩種型別之間相互相容
b) 目標型別大於源型別(即型別提公升)
char ch = 『b』;
int a = ch;
float f = a;
double d = f;
//型別轉換自動發生,無需顯式說明
有型別提公升的情況下,編譯器將自動進行型別轉換,否則就要進行強制型別轉換;
在進行強制轉換時,需要清楚強制轉換後的結果是否是自己所需要的
型別提公升應遵循如下規則:
兩種型別必須相容,且目標型別大於源型別,例如:
byte、char和short型別都可以提公升為long型。
對於表示式而言,其最終結果將會與表示式中最高的資料型別相同。
2、 強制型別轉換(在強制轉換前首先需要了解強制轉換結束後的結果是否是自己需要的可用的結果)
也叫做顯式型別轉換
如果被轉換的值的資料型別大於其目標型別,將會丟失部分資訊; 如:
int x = 44;
char ch = x;
這樣的語句將報錯,因為char型別精度低於int型別,編譯器無法將其自動轉換,只能進行強制轉換:
int x = 44;
char ch = (char)x;
二、資料型別分為兩大類:基本型別和引用型別
a、基本資料型別:8類
b、引用型別 :
除了基本資料型別之外都是引用型別
包括api中的類,比如string、file
也包括自定義的類,如schoolname,classroom
包括陣列,如int,string
三、資料型別和引用型別的區別:
基本資料型別
引用資料型別
概念 變數(單純的值)
物件(引用)
儲存位置
在棧中存值
在棧中存引用,在堆中存具體物件的屬性值
賦值方式
直接賦值
new ,string類和包裝器類可以直接賦值
四、引用資料型別
引用資料型別的定義:除了上述基本資料型別的變數以外,其餘的全都屬於引用資料型別
api中的類,如string、file等 陣列
自定義的類,如person,room
物件全部是引用資料型別
物件都是引用資料型別
引用型別使用new呼叫構造方法進行賦值:引用資料型別的賦值
引用型別都是物件,所以賦值都使用new呼叫構造方法進行賦值
//引用型別的賦值都是通過new呼叫構造方法,先構造兩個變數,並賦初值,person是
string型的
person p =newperson("red");
person p1 =newperson("blue");
age a = new age(1);//age就是乙個
int型的
例外:string類可以直接使用=賦值,不使用new
Java資料型別 及 轉換原則
1 型別轉換主要在在 賦值 方法呼叫 算術運算 三種情況下發生。a 賦值和方法呼叫 轉換規則 從低位型別到高位型別自動轉換 從高位型別到低位型別需要強制型別轉換 1 布林型和其它基本資料型別之間不能相互轉換 2 byte型可以轉換為short int long float和double 3 shor...
Java資料型別 及 轉換原則
1 型別轉換主要在在 賦值 方法呼叫 算術運算 三種情況下發生。a 賦值和方法呼叫 轉換規則 從低位型別到高位型別自動轉換 從高位型別到低位型別需要強制型別轉換 1 布林型和其它基本資料型別之間不能相互轉換 2 byte型可以轉換為short int long float和double 3 shor...
JAVA的資料型別
boolean byte short char intlong float double 以上的八種是基本資料型別 string 是一種類型別 陣列型別 以上兩種資料型別合稱為引用資料型別 通常在給類賦值是用 set.取值時通常是用 get.例 public class person public ...