版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章基本數據類型和數組
本章導讀標識符和關鍵字基本數據類型基本數據類型的轉換數據的輸入與輸出數組12.1標識符和關鍵字
1.標識符用來標識類名、變量名、方法名、類型名、數組名、文件名的有效字符序列稱為標識符。簡單地說,標識符就是一個名字。
Java語言規定標識符由字母、下劃線、美元符號和數字組成,并且第一個字符不能是數字。標識符中的字母是區分大小寫的,Beijing和beijing是不同的標識符。
2.關鍵字
關鍵字就是Java語言中已經被賦予特定意義的一些單詞,它們在程序上有著不同的用途,不可以把關鍵詞作為名字來用。22.2基本數據類型
基本數據類型也稱作簡單數據類型。Java語言有8種簡單數據類型,分別是:boolean、byte、short、int、long、
float、double、char。這8種數據類型習慣上可分為4大類型:邏輯類型:boolean整數類型:byte、short、int、long字符類型:char浮點類型:float、double31.邏輯類型常量:true,false。變量的定義:使用關鍵字boolean來定義邏輯變量,定義時也可以賦給初值。例:
booleanx,ok=true,關閉=false;
42.整數類型
常量:123,6000(十進制),077(八進制),0x3ABC(十六進制)。
整型變量的定義分為4種。(1)int型使用關鍵字int來定義int型整型變量,定義時也可以賦給初值,例如:intx,平均=9898;對于int型變量,內存分配給4個字節(byte)。
int型變量的取值范圍是:-231~
231-1。(2)byte型使用關鍵字byte來定義byte型整型變量。對于byte型變量,內存分配給1個字節,占8位,byte型變量的取值范圍是-27~27-1。(3)short型使用關鍵字short來定義short型整型變量。對于short型變量,內存分配給2個字節,short型變量的取值范圍是-215~215-1。(4)long型使用關鍵字long來定義long型整型變量,對于long型變量,內存分配給8個字節,long型變量的取值范圍是-263~263-1。53.字符類型常量:
Uincode表中的字符就是一個字符常量,例如'A','?','9','好','き’'
等。
Java還使用轉意字符常量,如:'\n'表示換行,'\b'表示退格
'\t'表示水平制表'\''表示單引號變量的定義:使用關鍵字char來定義字符變量,例如:
charx='A',漂亮='假',jiafei;char類型變量內存分配給2個字節,占16位,最高位不是符號位,沒有負數。Char類型變量的取值范圍是0~65535。對于charx='a';內存中存儲的是97,97是字符
'a'在Unicode表中的排序位置。因此,允許將上面的語句寫成
charx=97;
下面的例子2-1中,用顯示轉換來顯示一些字符在Unicode表中的位置,以及某些位置上的字符。效果如圖2-1所示.6例子2-1效果圖74.浮點類型
浮點型分兩種
(1)float型
常量:
453.5439f,21379.987F,2e40f(2乘10的40次方,科學計數法)
變量的定義:
使用關鍵字float來定義float型變量。對于float型變量,內存分配給4個字節,其取值范圍是10-38~1038和-1038~-10-38。
(2)double型
常量:
21389.5439d(d可以省略),23189908.987,123.0,6e-140(6乘10的-140次方,科學計數法)。變量的定義:使用關鍵字double來定義double型變量。double型變量,內存分配給8個字節,double型變量的取值范圍大約是10-308~10308
和-10308
~-10-308。82.3基本數據類型的轉換
基本數據類型的轉換就是把一種基本數據類型變量轉變成另一種基本類型變量。下列基本類型會涉及數據轉換,不包括邏輯類型和字符類型。我們將這些類型按精度從“低”到“高”排列了順序:
byteshortintlongfloatdouble
當把級別低的變量的值賦給級別高的變量時,系統自動完成數據類型的轉換,如int型轉換成long型。當把級別高的變量的值賦給級別低的變量時,必須使用顯示類型轉換運算。顯示轉換的格式:
(類型名)要轉換的值;例如,intx=(int)34.89;longy=(long)56.98F;如果輸出x和y的值將是34和56
例如,bytea=(byte)128;byteb=(byte)(129);那么,a和b的值分別是128和127。下面的例子2-2中,顯示了類型轉換的結果。效果如圖2-2所示.9例子2-2效果圖102.4數據的輸入與輸出
由于C語言出現的比較早,那個時候還沒有圖形用戶界面的概念(GraphicsUserInterface),因此,C語言提供了許多用來輸入、輸出數據的函數,例如printf、scanf等。Java不象C,提供在命令行進行數據輸入、輸出的功能不多。關于輸入、輸出我們將在第九章詳細介紹,現在只需知道它的作用是在命令行窗口(例如,MS-DOS窗口)輸出數據即可。Sun公司新推出的JDK1.5又新增了一些在命令行進行數據輸入、輸出的功能。111數據輸出System.out.printf
System.out.printf的功能完全類似C語言中的printf函數。pringf的一般格式:
printf(格式控制部分,表達式1,表達式2,…表達式n);
這里的用法與C語言相同,這里不再累述。下面的例子2-3中,來進一步了解System.out.printf數據輸出。效果如圖2-3所示。122數據的輸入Scanner
Scanner是SDK1.5新增的一個類,可以使用該類創建一個對象:
Scannerreader=newScanner(System.in);
然后reader對象調用下列方法(函數),讀取用戶在命令行輸入的各種數據類型,nextByte(),nextDouble(),nextFloat(),nextInt(),nextLine(),nextLong(),nextShort()。下面的例子2-4中,用戶在鍵盤依次輸入若干個數字,每輸入一個數字都需要按回車鍵確認,最后在鍵盤輸入一個非數字字符串結束整個輸入操作過程。程序將計算出這些數的和以及平均值。。效果如圖2-4所示。132.5數組
數組是相同類型的數據按順序組成的一種復合數據類型。通過數組名加數組下標來使用數組中的數據。下標從0開始。
1.聲明數組聲明數組包括數組的名字、數組包含的元素的數據類型。
聲明一維數組有下列兩種格式:
數組元素類型數組名字[];數組元素類型[]數組名字;
聲明二維數組有下列兩種格式:
數組元素類型數組名字[][];數組元素類型[][]數組名字;142創建數組
聲明數組僅僅是給出了數組名和元素的數據類型,要想使用數組還必須為它分配內存空間,即創建數組。
在為數組分配內存空間時必須指明數組的長度。格式如下:
數組名字=new數組元素的類型[數組元素的個數];
例如:
boy=newfloat[4];聲明數組和創建數組可以一起完成,如
floatboy[]=newfloat[4];
intmytwo[][]=newint[3][4];
為數組分配內存空間后,數組boy獲得4個用來存放float類型數據的內存空間,內存示意如圖2.5所示。
153數組元素的使用
一維數組通過下標符訪問自己的元素,如boy[0],boy[1]等。需要注意的是下標從0開始,因此,數組若是7個元素,下標到6為止,如果你將來使用下標超過6將會發生異常。二維數組也通過下標符訪問自己的元素,如a[0][1],a[1][2]等。下標也是從0開始。164數組的初始化
創建數組后,系統會給每個數組元素一個默認的值,如,float型是0.0。我們在聲明數組時同時也還可以給數組的元素一個初始值,如:
floatboy[]={21.3f,23.89f,2.0f,23f,778.98f};
175length的使用
對于一維數組,"數組名字.length"的值就是數組中元素的個數;對于二維數組"數組名字.length"的值是它含有的一維數組的個數。例如,對于float[]a=newfloat[12];int[][]b=newint[3][6];a.length的值12;而b.length的值是3。
186數組的引用
數組屬于引用型變量,因此兩個相同類型的數組如果具有相同的引用,它們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海關行政處罰爭議訴訟代理合同
- 科技公司CFO績效衡量表
- 制造工廠設備維護主管績效評定表
- 2026中國渦流泵行業區域集群發展與協同效應報告
- 2026人工智能產業核心技術研究及投資方向分析報告
- 2026人工智能技術產業化應用與行業變革研究報告
- 2026中國通信設備行業市場供需發展趨勢研究及投資評估規劃報告
- 2026冷鏈物流溫控傳感器精度提升與網絡覆蓋優化報告
- 2026中國醫療健康服務行業市場現狀供需分析及投資發展研究報告
- 2026中國智能汽車保養設備市場供需格局考察及投資建議規劃
- 消防主機售賣合同范本
- 2025年茂名市中小學教師招聘筆試參考試題及答案解析
- 2026年河南中招考試真題及答案
- 《中國金融學》課件 第10章 金融安全與宏觀審慎政策-課件
- 電池管理系統BMS技術應用介紹
- 公務車駕駛員安全教育培訓
- 2025年仁愛科普版中考英語高頻詞匯閃過
- 最高人民法院建設工程司法解釋(二)解讀
- 代建工作規程
- 超星學習通《化學與中國文明(復旦大學)》章節測試答案
- 2021輸變電工程監理費計列指導意見
評論
0/150
提交評論