Java中的變量、基本數據類型及它們之間的轉換

Java中的變量、基本數據類型及它們之間的轉換

1.變量:存數的,代詞,指代它所存的那個數

  1)聲明:
      int a; //聲明一個整型的變量,名爲a
 int b,c,d; //聲明三個整型的變量,名爲b,c,d
  2)初始化:第一次賦值
        2.1)聲明同時初始化
     int a = 100;
2.2)先聲明後初始化
     int a;
     a = 100;
  3)使用:
        3.1)對變量的使用就是對它所存的那個數的使用
         int a = 5; //聲明整型變量a並賦值爲5
 int b = a+10; //取出a的值5,加10後,再賦值給整型變量b
 System.out.println(b);   //輸出變量b的值15
 System.out.println("b"); //輸出b,雙引號中的原樣輸出
 a = a+10; //取出a的值5,加10後,再賦值給a
           //在a本身基礎之上增10
                  System.out.println(a); //輸出變量a的值15
3.2)變量的操作必須與數據類型匹配
         int a = 3.14; //編譯錯誤,數據類型不匹配
3.3)變量在用之前必須聲明並初始化
         System.out.println(m); //編譯錯誤,m未聲明
 int m;
 System.out.println(m); //編譯錯誤,m未初始化
  4)命名:
        4.1)只能包含字母、數字、_和$符,並且不能以數字開頭
4.2)嚴格區分大小寫
4.3)不能使用關鍵字
4.4)可以中文命名,但不建議
   建議:"英文的見名知意"、"駝峯命名法"

2.基本數據類型:

  1)int:整型,4個字節,-21個多億到21個多億
        1.1)整數直接量默認爲int型,但不能超範圍,超範圍則編譯錯誤
1.2)兩個整數相除,結果還是整數,小數位無條件捨棄
1.3)運算時超出範圍則發生溢出,溢出是需要避免的
  2)long:長整型,8個字節,很大很大很大
        2.1)長整型的直接量,需在數字後加L或l
2.2)算術運算時若有可能溢出,建議在第1個數字加L
2.3)System.currentTimeMillis()用於獲取自
   1970.1.1零時到此時此刻的毫秒數
  3)double:浮點型,8個字節,很大很大很大
        3.1)浮點型直接量默認爲double型,表示float時需在數字後加f或F
3.2)浮點型數據參與運算時,有可能會出現舍入誤差
  4)boolean:布爾型,1個字節
    4.1)只能裝true和false
  5)char:字符型,2個字節
        5.1)採用Unicode字符集編碼,每個字符都有一個對應的碼
   表現形式爲字符char,但實質上是碼int(0到65535之間)
(ASCII碼: 'a'--97  'A'--65  '0'--48 )
5.2)字符直接量必須放在單引號中,有且僅有一個
5.3)特殊符號需要通過\來轉義

3.基本數據類型間的轉換:

    數據類型從小到大依次爲:
 byte,short,int,long,float,double
   char,
  1)兩種方式:
        1.1)自動類型轉換:小類型到大類型
           char -->int
           byte-->short--> int--> long--> float-->double
           byte b = 12;
           short s = b;  //正確的
           int i = b;  //正確的
           i = s;     //正確的
           float f = 3.14;   //報錯的
           大轉小,不能自動轉:因爲有可能會造成數據精度丟失或數據溢出
1.2)強制類型轉換:大類型到小類型
    (要轉換成爲的數據類型)變量
    強轉有可能會溢出或精度丟失
             long l = 234;
             int i = (int)l;
 
           容易出問題的類型轉換:
            char -->  int  自動轉換
            char --> byte  強制轉換
            byte --> char  強制轉換
 
            short --> char  強制轉換
            char -->short   強制轉換
        
  2)兩點規則:
        2.1)整數直接量可以直接賦值給byte,short,char,
   但不能超出範圍
2.2)byte,short,char型數據參與運算時,
   先一律轉換爲int再運算
            byte + byte -- >int
            byte + short -- >int
            char + char -->int
            導致的結果:
            byte b1 = 1,b2 = 3;
            byte b3 = b1+b2;  //報錯的
 
            注意點:
               byte b1 = 1,b2 = 3;
               byte b3 = b1+b2;  //報錯的
               byte b4 = 1+3;  //正確的
          原因:
          如果是整數直接量進行運算,編譯器在編譯期會進行類型優化。而如果是          變量,編譯期不會進行優化。
4.Scanner的用法:
  1)在package下:
      import java.util.Scanner;
  2)在main()方法中:
      Scanner scan = new Scanner(System.in);
  3)在第2步之下:
      System.out.println("請輸入年齡:");
      int age = scan.nextInt();
 System.out.println("請輸入價格:");

 double price = scan.nextDouble();



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章