第三章、Java變數與資料型別
阿新 • • 發佈:2020-12-06
第三章、Java變數與資料型別
1 變數
-
變數的概述
變數是指記憶體中的一個儲存區域,該區域要有自己的名稱(變數名)、型別(資料型別),該區域的資料可以在同一資料型別的範圍內不斷變化值。 每個變數都有自己的作用範圍,叫作用域
-
變數的注意事項
1.Java中的變數必須聲明後才能進行使用。否則編譯報錯。 2.變數在使用之前必須要進行初始化才能使用變數,否則編譯報錯。 3.不允許在同一段程式碼區域中宣告相同名稱的變數,否則編譯報錯。 4.每個變數都有自己獨立的作用域(作用範圍),變數的作用域:在一對{ } 中為有效區間。 5.在main()方法中宣告的變數叫做區域性變數,區域性變數作用範圍是:從宣告開始到方法體結束
-
變數的宣告和使用
宣告:資料型別 變數名; 例如: 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)
-
整型
用於表示整數(不包含小數部分)的基本資料型別 依據分配的記憶體空間大小不同,又分為四種類型 資料型別 佔用的空間大小 取值範圍 byte(位元組型) 8位,1個位元組 -128~127 short(短整型) 16位,2個位元組 -32768~32767 int(整型) 32位,4個位元組 -2147483648~2147483647 long(長整型) 64位,8個位元組 -9223372036854775808~9223372036854775807
-
浮點型
浮點型是用於表示浮點數的基本資料型別 單精度浮點型: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
-
字元型
字元型是用於表示單個字元的基本資料型別 以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); } }
-
布林型
布林型是用於表示邏輯狀態(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
-
下載eclipse
通過百度、搜狗等去過去 www.eclipse.org/downloads/
-
安裝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鍵