1. 程式人生 > 實用技巧 >第三章、Java變數與資料型別

第三章、Java變數與資料型別

第三章、Java變數與資料型別

1 變數

  1. 變數的概述

    變數是指記憶體中的一個儲存區域,該區域要有自己的名稱(變數名)、型別(資料型別),該區域的資料可以在同一資料型別的範圍內不斷變化值。
    每個變數都有自己的作用範圍,叫作用域
    
  2. 變數的注意事項

    1.Java中的變數必須聲明後才能進行使用。否則編譯報錯。
    2.變數在使用之前必須要進行初始化才能使用變數,否則編譯報錯。
    3.不允許在同一段程式碼區域中宣告相同名稱的變數,否則編譯報錯。 
    4.每個變數都有自己獨立的作用域(作用範圍),變數的作用域:在一對{ } 中為有效區間。
    5.在main()方法中宣告的變數叫做區域性變數,區域性變數作用範圍是:從宣告開始到方法體結束
    
  3. 變數的宣告和使用

    宣告:資料型別 變數名;        例如: int age;
    賦值:變數名=值;           例如:age = 18;
    宣告同時賦值: 資料型別 變數名 = 值;   int age = 18;   沒有特殊情況下建議使用這種方式
    使用:通過變數名訪問變數的值  System.uut.println(age);  // 18
    

2 識別符號

1.變數名必須先是識別符號,識別符號命名的一些規則:
2.必須是字母、數字、下劃線、$等,其中數字不能開頭。
3.不能是JAVA關鍵字,比如:public static class ….
4.大小寫敏感,長度沒有限制,但不宜過長。
5.識別符號儘量做到見名知意,可以是漢字,但不推薦使用。
識別符號可以給類/變數/屬性/方法/包 起名字

3 資料型別

資料型別是為了區分不同特點的資料而劃分的資料類別。
 
資料型別分類:
Java分為“基本資料型別“和”引用資料型別“
基本型別有8種。
引用資料型別包括所有的:陣列、類、介面、列舉和標註。
列舉可以看成特殊的類,標註可以看成特殊的介面

4 基本資料型別

基本資料型別是Java事先定義好的,用關鍵字命名的資料型別。
 
基本資料型別分為:
整型      (byte、short、int、long)
浮點型     (float、double)
字元型     (char)
布林型     (boolean)
  1. 整型

    用於表示整數(不包含小數部分)的基本資料型別
    依據分配的記憶體空間大小不同,又分為四種類型
     
    資料型別            佔用的空間大小     取值範圍
    byte(位元組型)   8位,1個位元組     -128~127   
    short(短整型)  16位,2個位元組        -32768~32767   
    int(整型)     32位,4個位元組        -2147483648~2147483647 
    long(長整型)   64位,8個位元組        -9223372036854775808~9223372036854775807
    
  2. 浮點型

    浮點型是用於表示浮點數的基本資料型別
    單精度浮點型:float    (需使用F/f進行標明)  float  number = 1.5f;
    雙精度浮點型:double  (預設型別)          double  number = 5.25
     
    資料型別                    佔用的空間大小 取值範圍
    float(單精度浮點型)       32位、4個位元組        1.4E-45~3.4028235-E38
    double(雙精度浮點型)  64位、8個位元組        4.9E-324~1.7976931348623157E-308
    
  3. 字元型

    字元型是用於表示單個字元的基本資料型別
    以char關鍵字進行標識
    字元型用於儲存單個字元或漢字
    char採用unicode編碼方式(8位的ASCII碼包含在其中)
    字元型佔兩個位元組(也可以賦值0-65535的數字)
     
    例如:
        public class TestType{
            public static void main(String[] args){
                //宣告char型別變數,賦值字元a
                char char_word='a';
                //宣告char型別變數,賦值97
                char char_temp=97;
                //輸出兩個變數檢視值
                System.out.println("char_word變數輸出結果是:"+char_word);
                System.out.println("char_temp變數輸出結果是:"+char_temp);
            }
        }
    
  4. 布林型

    布林型是用於表示邏輯狀態(true和false)的基本資料型別
    布林型特點
    用boolean關鍵字標識
    只有明確的兩種值,true或者false
     
     
    例如:
        public class TestBoolean{
            public static void main(String[] args){
            //建立boolean型別變數b_first 並賦值true;
                    boolean b_first=true;  
                    //建立boolean型別變數b_second 並賦值false;
                    boolean b_second=false;
                }
            }
    

5 型別轉換

由一種資料型別轉換為另一種資料型別的轉換
 
型別轉換分為:
基本資料型別間轉換(自動型別轉換(隱式)和強制型別轉換(顯示))
引用資料型別間轉換(向上轉型、向下轉型)
基本資料型別和引用資料型別間轉換(自動裝箱、自動拆箱)
  • 基本型別轉換

    自動型別轉換(隱式)
    由低階向高階的型別轉換。
    強制型別轉換(顯示))
    從高級別型別強制向低級別型別的轉換
    

6 常用的進位制

(1)基本概念
    日常生活中採用十進位制來表示整數 ,逢十進一
    計算機採用二進位制來描述整數,逢二進一
        八進位制和十六進位制等....
 
 
(2)十進位制和二進位制之間的轉換(重點掌握)
 
    a.正十進位制轉二進位制
        除二取餘法,讓十進位制整數不斷的除以2取出餘數,直到商為0時候將餘數逆序排序
        拆分法,將十進位制整數拆分為若干個二進位制權重的和,有該權重則在下面寫1否則寫0即可
 
        20----16+4
 
                         2^4 2^3 2^2 2^1 2^0
                          16  8   4   2   1
                          1   0   1   0   0
 
 
 
    b.正的二進位制轉換為十進位制
        加權法,讓二進位制的每個數字乘以當前位的權重再相加即可
 
 
    如:0010101   --- 21
                    2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
                    128 64  32  16  8     4   2   1
                                 1  0     1   0   1
 
練習:
    37 和 65 轉換為二進位制,再轉換成十進位制
 
 
c.負十進位制轉換為二進位制的方式
    1>將絕對值轉換為二進位制,再進行按位取反加1
 
 
如: -20
 
    -20的絕對值轉換為二進位制:0001 0100
    按位取反:1110 1011
    再加一:     1110  1100
 
d.負二進位制轉換為十進位制的方式
    1.先進位制按位取反再加1,然後轉為十進位制整數後新增符號即可
 
    如:1110 1100
        按位取反 : 0001 0011
        再加一:    0001 0100
        轉換為十進位制:20
        新增符號: -20
 
總結:
    再計算中採用二進位制序列中的最高為(最左邊)代表符號為,使用1代表負數,0代表非負數
 
 
 
練習:
    45 和 -45 轉換為二進位制
    78 和 -78 轉換為二進位制
 
 
(3)二進位制和八進位制之間的轉換(熟悉)
 
    a.二進位制轉換為八進位制的方式
        將每3為二進位制合併為一位八進位制,並使用0作為字首代表八進位制
 
        如:
            011 001 (二進位制) ----- 032(八進位制)
 
            011 101 100 (二進位制)---- 0354(八進位制)
 
    b.八進位制轉換為二進位制的方式
        將每一位八進位制拆分為三位二進位制,並使用0b最為字首帶二進位制(jdk1.7新特性)
 
    如:
        075(八進位制) ---->    ob111  101 (二進位制)
 
 
(4)二進位制和十六進位制之間的轉換(熟悉)
 
    a.二進位制轉換為十六進位制方式
        將每四位二進位制合併為一位十六進位制,並使用0x作為字首代表十六進位制
 
 
    如:
        1010 0011(二進位制) --->   0xa3  (十六進位制,使用a~f代表 10~15之間的整數)
 
 
    b.十六進位制轉換為二進位制的方式
        將每一位十六進位制拆分為四位二進位制,並使用0b作為字首代表二進位制
 
        如:
            0x8c(十六進位制)  ---> 0b 1000 1100(二進位制)

7 單個位元組代表的整數範圍(重點中重點)

    在計算中單個位元組表示8位二進位制,描述的整數範圍是:
    對於非負數來說,描述範圍:0000 0000 ~ 0111 1111 =>
 
    0000 0000 ----> 0
    0111 1111  ----> 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
              ---->     64      32      16      8       4       2       1
              ---->127
 
    對於負數來說   描述的範圍 :1000 0000 ~ 1111 1111
    1000 0000 = 按位取反   0111 1111
                再加1:1000 0000
             =  轉換位十進位制整數 128
            = 新增符號  -128
 
 1111 1111 => 按位取反  0000 0000
          => 再加1: 0000 0001
             =  轉換位十進位制整數 1
            = 新增符號  -1
 
 
綜上所述:
    對於單個位元組所能描述的十進位制整數範圍  : -128 ~ 127

8 Java整合開發環境

作用:用於提供程式碼編輯、編譯、除錯等.....
 
 
常用的IDE:Eclipse、Myeclipse、IDEA
  1. 下載eclipse

    通過百度、搜狗等去過去
     
     www.eclipse.org/downloads/
    
  2. 安裝Eclipse

    eclipse-jee-mars-2-win32-x86_64.zip
     
     
     
    找一個碟符右鍵解壓到當前的目錄----->雙擊開啟解壓後的檔案  --->找到 eclipse.exe 右鍵傳送到桌面快捷方式,雙擊開啟 ----> 彈出一個視窗,作用是選擇工作空間,以後的程式碼專案都會儲存到你指定的檔案中,點選確定 ---->  彈出一個大視窗,看見歡迎頁,這時候把歡迎頁關閉即可。
     
     
     
    切換工作空間
        選單欄中File--- swith workspace
     
     
    使用eclipse開發java的步驟
     
        1.建立一個java專案
     
            1).第一種方式建立:在包資源管理器(package explorer)視窗中滑鼠右擊任意位置選擇 New --- > Java Project,如果找不到那麼選擇other  ---- >在搜尋框中輸入 “ Java Project”  --- 找到後雙擊
            2).第二種方式建立:File --- > Java Project,如果找不到那麼選擇other  ---- >在搜尋框中輸入 “ Java Project” --- 找到後雙擊
            3).第三種方式: 在工具條上點選新建按鈕 (位於 file 下面) 選擇  Java Project,如果找不到那麼選擇other  ---- >在搜尋框中輸入 “ Java Project”  --- 找到後雙擊
     
     
        2.建立java源程式
            在專案中找到 src ---- 右鍵點選class  ---   輸入類名(回車)
     
     
        3.編譯java源程式  --------   eclipse自動編譯
     
        4.執行java程式
            專案中右鍵----run    --- java application
     
     
     
    字型設定
        window----- preferences  ---  General ---  Appearnce --  Colors and Fonts   ---  Basic  --- Text Font  雙擊
     
     
     
    常用快捷鍵
            Alt+/                   輔助提示
            Ctrl+/                  新增或取消單行註釋
            Ctrl+Shift+F            格式化當前程式碼
            Ctrl+Shift+/            新增多行註釋
            Ctrl+Shift+\            取消多行註釋
            Ctrl+D                  刪除當前行
            Ctrl+Z                  程式碼回退
            Ctrl+S                  儲存程式碼  --- 當儲存的時候會重新編譯    (注意:養成一個良好的程式設計習慣,寫一行程式碼儲存一下)
     
    案例:
        使用Eclipse 建立Java應用程式,實現輸出個人資訊功能
    

9 Java中Scanner實現輸入

是Java中用於實現從控制檯讀取使用者輸入的類。
 
使用步驟
    1.匯入包     
        import java.util.Scanner;
    2.建立Scanner物件
        Scanner input = new Scanner(System.in);
    3.呼叫Scanner物件的方法,實現讀取
 
 
        方法名稱        說    明
        next()      查詢並返回來自此掃描器的下一個完整標記,返回一個字串
        nextLine()  返回Enter鍵之前的所有字元
        hasNext()   判斷掃描器的輸入中是否包含下一個標記
        nextByte()  將輸入的下一個標記掃描為byte
        nextShort() 將輸入的下一個標記掃描為short
        nextInt()   將輸入的下一個標記掃描為int
        nextLong()  將輸入的下一個標記掃描為long
        nextFloat() 將輸入的下一個標記掃描為float

next()和nextLine()區別

next()
    不包含有效字元前的空格
    在輸入有效字元之後,將其後輸入的空格
    鍵、Tab鍵或Enter鍵等視為分隔符或結束符
nextLine()
    包含有效字元前的空格
    結束符只是Enter鍵