JAVA的數據類型體系

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*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 =127

快捷鍵

  • Ctrl + / : 註釋本行
  • Ctrl + Alt + ↓(↑) : 向下(上)複製本行
  • Alt + ↓(↑) : 向下(上)移動本行
  • Ctrl+Shift+/ :添加/* */註釋
  • Ctrl + D : 刪除本行
  • Ctrl shift + F 自動調整格式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章