1. 程式人生 > 其它 >3.Java基礎語法之資料型別

3.Java基礎語法之資料型別

  • 強型別語言

要求變數的使用要嚴格符合規定,所有變數都必須先定義後使用

  • 弱型別語言

  • Java的資料型別分為兩大類

    1. 基本型別(primitive type)

      1. 數值型別

        1. 整數型別

          1. byte 佔一個位元組 範圍:-128~127

          2. short 佔2個位元組 範圍:-32768~32767

          3. int 佔4個位元組 範圍:-2147483648~2147483647

          4. long 佔8個位元組 範圍:-9223372036854775808~9223372036854775807

        2. 浮點型別

          1. float 佔4個位元組

          2. double 佔8個位元組

        3. 字元型別 char 佔2個位元組

      2. Boolean型別:佔1位,值只有ture和false

    2. 引用型別(reference type)

      1. 介面

      2. 陣列

//八大基本資料型別
//整數
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//long型別在數字後面加個L

//小數:浮點數
float num5 = 20.1F;//float型別後加個F
double num6 = 3.1415926;

//字元
char name1 = 'l';

//字串,String不是關鍵字,類
String name2 = "lizhikun";

//布林值:是非
boolean flag0 = true;
boolean flag1 = false;

  • 位元組

    • 位(bit):是計算機內部儲存的最小單位,11001100是一個8位二進位制數

    • 位元組(byte):是計算機中資料處理的基本單位,習慣上用B來表示

    • 1B=8bit

    • 字元:是指計算機中使用的字母、數字、字和符號

    • 1bit表示1位,1byte表示一個位元組,1024B=1KB , 1024KB=1M,1024MB=1G

  • 擴充套件

    • 整數

      • 進位制:二進位制0b 十進位制 八進位制0 十六進位制0x

        int i1 = 10;
    int i2 = 010;//八進位制
    int i3 = 0x10;//十六進位制
    int i4 = 0b10;//二進位制
    • 浮點數

        //銀行業務可使用  BigDecima  數學工具類
    //float 有限 離散 舍入誤差 大約 接近但不等於
    //double
    //最好完全避免使用浮點數進行比較
    //最好完全避免使用浮點數進行比較
    //最好完全避免使用浮點數進行比較

    float f = 0.1f;
    double d = 1.0/10;

    System.out.println(f==d);
    System.out.println(f);
    System.out.println(d);

    float d1 = 2323232322132232121f;
    float d2 = d1+1;

    System.out.println(d1==d2);
    • 字元

        char c1 = 'a';
    char c2 = '中';

    System.out.println(c1);
    System.out.println((int)c1);//強制轉換
    System.out.println(c2);
    System.out.println((int)c2);

    //所有字元的本質還是數字
    //Unicode編碼 2位元組 0~65535 2^16=65536
    //U0000-UFFFF

    char c3 ='\u0061';

    System.out.println(c3);

    • 轉義字元

    1.八進位制轉義序列:\ + 1到3位5數字;範圍'\000'~'\377'
    \0:空字元
    2.Unicode轉義字元:\u + 四個十六進位制數字;0~65535
    \u0000:空字元
    3.特殊字元:就3個
    \":雙引號
    \':單引號
    \\:反斜線
    4.
    \r 回車
    \a 響鈴(BEL)
    \b 退格(BS),將當前位置移到前一列
    \f 換頁(FF),將當前位置移到下頁開頭
    \n 換行(LF),將當前位置移到下一行開頭回車(CR),將當前位置移到本行開頭
    \t 水平製表(HT)(跳到下一個TAB位置)
    \v 垂直製表(VT)
    \\ 代表一個反斜線字元"\”
    \' 代表一個單引號((撇號)字元
    \" 代表一個雙引號字元
    \? 代表一個問號
    \0 空字元(NUL)
    \ddd 1到3位八進位制數所代表的任意字元
    \xhh 十六進位制所代表的任意字元


    點的轉義:. ==> u002E
    美元符號的轉義:$ ==> u0024
    乘方符號的轉義:^ ==> u005E
    左大括號的轉義:{ ==> u007B
    左方括號的轉義:[ ==> u005B
    左圓括號的轉義:( ==> u0028
    豎線的轉義:| ==> u007C
    右圓括號的轉義:) ==> u0029
    星號的轉義:* ==> u002A
    加號的轉義:+ ==> u002B
    問號的轉義:? ==> u003F
    反斜槓的轉義: ==> u005C
    • 布林型別

    boolean flag = ture;

    if (flag==ture){}
    if (flag){}
    //上面兩行是一樣的