Java的數據類型
————————————————————————-
Java數據類型分爲基本數據類型和引用數據類型。
基本數據類型
1、基本數據類型有以下8種
- 整數 byte、short、int、long
- 浮點數 float、double
- 布爾值 boolean
- 字符 char
2、其基本數據類型的取值範圍如下
數據類型 | 位數 | 最低值 | 最高值 |
---|---|---|---|
byte | 8 | -128 | 127 |
short | 16 | -32768 | 32767 |
int | 32 | -2147483648(-2e31) | 2147483647(2e31-1) |
long | 64 | -2e63 | 2e63-1 |
float | 32 | ? | ? |
double | 64 | ? | ? |
boolean | 1 | true/false | true/false |
char | 16 | 0(‘\u0000’) | 65535(‘\uFFFF’) |
3、其基本數據類型的程序代碼:
public static void main(String[] ages){
byte a=127;
short b=32767;
int c=2147483647;
long d=Long.valueOf("9223372036854775807");
boolean e=true;
float f=10.00f;
double g=10.000d;
char h='k';
System.out.println(0+'海');
//下面是查看數據類型的最大值,最小值同理。
System.out.println(Long.MAX_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Short.MAX_VALUE);
}
-注意:1)如果要表示一個數據是float型的,可以在數據後面加上“F”。
2)如果要表示一個數據是double型的,賦值時可以加d或D也可以不加。
4、以下其基本數據類型的轉換
基本數據類型的轉換分爲”隱式類型轉換“與“強制類型轉換”。
隱式類型轉換的規則:
1、類型兼容。
2、目標類型大於源類型,如:byte< short< int< long< float< double [char< int< long< float< double].
3、數值表達式的轉換:
- 有double的則結果爲double;
- 有float的則結果爲float;
- 有long的則結果爲long;
- 其它結果則爲int;
- 相應的程序代碼如下
public static void main(String[] ages){
byte a=1; short b=a; int c=b; long d=c; float e=d; double f=e; char g='A'; int h=g; long j=h; float k=j; double l=k; int q=a+b+c; long w=b+d; float r=e+d+b; double t=d+e+f; int y=g+h; long u=j+g+h; float o=k+g; double p=l+k+j+h+g; System.out.println(0+g); System.out.println(Long.valueOf(g)); System.out.println(w); System.out.println(y);
}
強制類型轉換 數值型的的規則:
1、大的類型轉換成小的類型,需要使用(類型名)進行強制轉換。
2、強制轉換可能會精度丟失。
3、char可以與整數型進行互轉
4、相應的程序如下
public static void main(String[] ages){
float a=32768.6f; short b=(short)a; int c=(int)a; byte d=(byte)a; System.out.println(b); System.out.println(c); System.out.println(d);
}
引用數據類型
1、引用數據類型
- 除8種基本數據類型以外的都是引用數據類型。
- 比如:String,File,Dog,Pig,LittleRocket與數組等。
- 使用方式和基本數據類型完全一樣(屬性、參數、返回值)。
賦值:
- 使用new關鍵字來賦值,例外(String和包裝器類)。Heap 堆空間 :對象本身。
- Stack 棧空間:引用變量,存儲的是對象的虛地址。
2、比較基本數據類型和引用數據類型
項目 | 基本數據類型 | 引用數據類型 |
---|---|---|
概念 | 單純的值 | 對象 |
存儲位置 | 棧中 | 棧中存引用,堆中存對象本身 |
賦值方式 | 直接賦值 | 棧中存引用,堆中存對象本身 |
3、其程序代碼如下
package com.chinasofti.java3.quote;
public class DogDyeHair {
public Dog take(Dog dog){
dog.setName("拉布拉多");
return dog;
}
public static void main(String[] ages){
DogDyeHair dogDyeHair=new DogDyeHair();
Dog dog=new Dog();
dog=dogDyeHair.take(dog);
dog=dogDyeHair.choose(dog);
dog=dogDyeHair.pick(dog);
System.out.println(dog.getName());
}
}
package com.chinasofti.java3.quote;
public class Dog {
private String name;
private String owner;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
}
參考
計算機常識
- 計算機使用0和1存儲數據
- 用bit來存儲0和1
- 1byte=8bit
- 1k=1024byte
- 1m=1024k
- 1g=1024m
取值範圍
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+ 1*
快捷鍵
- Ctrl + / : 註釋本行
- Ctrl + Alt + ↓(↑) : 向下(上)複製本行
- Alt + ↓(↑) : 向下(上)移動本行
- Ctrl+Shift+/ :添加/* */註釋
- Ctrl + D : 刪除本行
- Ctrl shift + F 自動調整格式