第2章、變量、數(shù)據(jù)類型和運(yùn)算符_第1頁
第2章、變量、數(shù)據(jù)類型和運(yùn)算符_第2頁
第2章、變量、數(shù)據(jù)類型和運(yùn)算符_第3頁
第2章、變量、數(shù)據(jù)類型和運(yùn)算符_第4頁
第2章、變量、數(shù)據(jù)類型和運(yùn)算符_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 第二章變量、數(shù)據(jù)類型和運(yùn)算符變量、數(shù)據(jù)類型和運(yùn)算符/n掌握變量的概念n會(huì)使用常用數(shù)據(jù)類型n會(huì)使用常用運(yùn)算符n會(huì)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)變量15內(nèi)存中的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)1515內(nèi)存內(nèi)存l應(yīng)用程序要為每一項(xiàng)數(shù)據(jù)分配內(nèi)存l需要多少內(nèi)存l數(shù)據(jù)被存儲(chǔ)在哪個(gè)通過變量,可以為內(nèi)存通過變量,可以為內(nèi)存中的位置提供一個(gè)有意中的位置提供一個(gè)有意義的名稱義的名稱變量是存儲(chǔ)數(shù)據(jù)的一個(gè)基本單元變量是存儲(chǔ)數(shù)據(jù)的一個(gè)基本單元變量n變量的定義變量的定義 變量是指在程序執(zhí)行過程中,其值可以改變的量。在內(nèi)存的數(shù)據(jù)區(qū)中,會(huì)為變量分配存儲(chǔ)空間來存放變量的值,這個(gè)內(nèi)存空間的地址對應(yīng)著變量名稱,所以在程序中可以通過變量名稱來區(qū)分和

2、使用這些內(nèi)存空間。n按變量聲明的位置劃分,變量的分類如下按變量聲明的位置劃分,變量的分類如下 成員變量:方法外部,類的內(nèi)部定義的變量。 局部變量:方法或語句塊內(nèi)部定義的變量。n變量的聲明和初始化變量的聲明和初始化JAVA變量使用前必須首先聲明成員(全局)變量創(chuàng)建后::系統(tǒng)會(huì)自動(dòng)對其進(jìn)行默認(rèn)值初始化,可以不手動(dòng)賦初值局部變量創(chuàng)建時(shí):必須顯式初始化(手動(dòng)賦初值),不具備自動(dòng)初始化的能力變量命名規(guī)則變量命名規(guī)則2-1n在Java語言中, 標(biāo)識(shí)符是給類類、變量變量和方法方法等取的名稱。n標(biāo)識(shí)符的命名規(guī)則:由字母、數(shù)字、下劃線、$符號(hào)組成,但不能以數(shù)字開頭不能是關(guān)鍵字和保留字區(qū)分大小寫標(biāo)識(shí)符的長度沒有限

3、制。中文的變量和字符也是合法的,但不推薦使用。變量命名規(guī)范:變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個(gè)單詞的首字母小寫,其后單詞的簡短且能清楚地表明變量的作用,通常第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。例如:首字母大寫。例如:myScore /變量命名規(guī)則2-2n檢查下面這些是否是合法的變量名principalcost_pricemarks_3$lastnamecity123ratediscount%zip codeCityint/變量的聲明和賦值n使用變量的步驟:第一步:聲明一個(gè)變量第二步:賦值第三步:使用變量數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名 = 數(shù)值;數(shù)值; 根據(jù)類型開辟

4、空間根據(jù)類型開辟空間 將數(shù)據(jù)存入空間將數(shù)據(jù)存入空間 取出數(shù)據(jù)使用取出數(shù)據(jù)使用 數(shù)據(jù)類型數(shù)據(jù)類型 變量名;變量名; 變量名變量名 = 數(shù)值;數(shù)值;int money = 1000;int money;money = 1000 ;Java數(shù)據(jù)類型nJava數(shù)據(jù)類型示意圖:數(shù)據(jù)類型 基本(簡單)數(shù)據(jù)類型 引用(復(fù)合)數(shù)據(jù)類型數(shù)值型類(class)接口(interface)數(shù)組整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)字符型(char)布爾型(boolean)Java數(shù)據(jù)類型n整數(shù)類型: 包含以下4種:byte short int long 每一種類型都有各

5、自占用的內(nèi)存空間和不同范圍的表數(shù)范圍如下:類型名大小(字節(jié))范圍byte1(8bit)-128127short2(16bit)-3276832767int4(32bit)-21474836482147483647long8(64bit)-92233720368547758089223372036854775807Java數(shù)據(jù)類型nJAVA語言中整型常量的三種表示形式: 十進(jìn)制整數(shù),如12, -314, 0。八進(jìn)制整數(shù),要求以0開頭,如012 十六進(jìn)制數(shù),要求0 x或0X開頭,如0 x12 JAVA語言中的整型常量默認(rèn)為int型, 如: int i =3; 聲明為標(biāo)準(zhǔn)的long型常量可以在其后加

6、 l 或 L , 如: long l = 3L;Java數(shù)據(jù)類型n浮點(diǎn)型 浮點(diǎn)類型用于表示有小數(shù)部分的數(shù)值。在Java中有兩種浮點(diǎn)類型,如下表所示:類型名大?。ㄗ止?jié))范圍float4(32bit)-3.4E38 3.4E38double8(64bit)-1.7E308 1.7E308JAVA浮點(diǎn)類型常量有兩種表示形式: 十進(jìn)制數(shù)形式,必須含有小數(shù)點(diǎn),例如: 3.14 314.0 .314 科學(xué)記數(shù)法形式,例如:3.14e2 3.14E2 314E2 注意:JAVA中浮點(diǎn)型常量默認(rèn)為double型。也可以在數(shù)字后面加d或D 要聲明一個(gè)常量為標(biāo)準(zhǔn)的float型,則需在數(shù)字后面加f或F,如: dou

7、ble d = 3.14; float f = 3.14f; 或者或者 float f=3.14F;Java數(shù)據(jù)類型nChar類型 char字符型保存無符號(hào)(不能表示負(fù)數(shù))的 16 位雙字節(jié)碼位,其值的范圍從 0 到65535,每個(gè)碼位(或字符代碼)表示單個(gè) Unicode 字符。字符常量是用單引號(hào)括起來的單個(gè)字符,如: char c = A;char 的默認(rèn)值是碼位為 0 的Unicode編碼的字符 。字符型數(shù)據(jù)對應(yīng)了int的正半軸,是int類型的一個(gè)子集nString類型 在java中用String類型來表示字符串,是引用數(shù)據(jù)類型,不是基本數(shù)據(jù)類型。字符串常量用雙引號(hào)括起來,如String

8、 str=“hello”;Java數(shù)據(jù)類型n特殊字符的轉(zhuǎn)義序列符字符含義Unicode值 b退格u0008 t制表u0009 n換行u000a r回車u000d ”雙引號(hào)u0022 單引號(hào)u0027 反斜杠u005cJava數(shù)據(jù)類型nboolean類型 boolean類型適合于邏輯運(yùn)算,只允許取值true或false,不可以使用0或非0的整數(shù)替代true和false類型名大小(字節(jié))范圍boolean1(8bit)true或false/public class Hello3 public static void main(String args) String title; System.ou

9、t.println( title ); String title; /聲明變量聲明變量titletitle = Java ; /賦值賦值String title = Java; /聲明變量聲明變量title并賦值并賦值 12先聲明變量并賦值,先聲明變量并賦值,然后才能使用然后才能使用 常見錯(cuò)誤常見錯(cuò)誤1代碼錯(cuò)誤代碼錯(cuò)誤正確方案正確方案 / 變量名不能以變量名不能以%開始開始 常見錯(cuò)誤常見錯(cuò)誤2public class Hello4 public static void main(String args) int %hour = 18; System.out.println(%hour); 代碼

10、錯(cuò)誤代碼錯(cuò)誤/public class Hello5 public static void main(String args) String name = 張三張三; String name = 李四李四; 聲明兩個(gè)同名變量導(dǎo)致編譯錯(cuò)誤聲明兩個(gè)同名變量導(dǎo)致編譯錯(cuò)誤 String name = 張三張三;String Name = 李四李四;Java程序區(qū)分大小寫程序區(qū)分大小寫 常見錯(cuò)誤常見錯(cuò)誤3正確方案正確方案 java基本數(shù)據(jù)類型轉(zhuǎn)換n自動(dòng)類型轉(zhuǎn)換 在某種條件下,系統(tǒng)自動(dòng)完成類型轉(zhuǎn)換兩種類型兼容,且目標(biāo)類型大于源類型byte-short-int-long-float-doublen強(qiáng)制類型轉(zhuǎn)

11、換兩種類型兼容,且目標(biāo)類型小于源類型格式:(類型名)表達(dá)式如:int a=12; byte b=(byte)a;n包裝類過渡類型轉(zhuǎn)換 如:float型轉(zhuǎn)換為double型時(shí):float f1=100.00f; Float F1=new Float(f1); Double d1=F1.doubleValue();/ int age = 19; char sex = 女女; char result = age + sex; 下面語句正確嗎?int a = 10;int b = 10.2;double c = 10; c = a;float d = c; 常見錯(cuò)誤常見錯(cuò)誤/小結(jié)1l使用變量存儲(chǔ)以下M

12、P3信息,并打印輸出l品牌(brand):愛國者F928l重量(weight):12.4l電池類型(type):內(nèi)置鋰電池l價(jià)格(price):499 n定義變量有哪兩種方式?表達(dá)式和運(yùn)算符 n表達(dá)式由操作數(shù)和運(yùn)算符的組合而成n表達(dá)式中的操作數(shù)可以是變量、常量或者子表達(dá)式n運(yùn)算符的主要類型有:n 賦值運(yùn)算符 n 算術(shù)運(yùn)算符n 關(guān)系運(yùn)算符n 邏輯運(yùn)算符n 位運(yùn)算符n 其他運(yùn)算符Z = ( X * 2 ) + ( 5 Y )變量名變量名 表達(dá)式表達(dá)式;賦值運(yùn)算符2-1n賦值運(yùn)算符JAVA中的=表示的是賦值符號(hào),當(dāng)“=”兩側(cè)的數(shù)據(jù)類型不一致時(shí),可以使用默認(rèn)類型轉(zhuǎn)換或強(qiáng)制類型轉(zhuǎn)換原則進(jìn)行處理特例:可以

13、將整型常量直接賦值給byte, short, char等類型變量,而不需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,前提是只要不超出其表數(shù)范圍如:byte b = 12;/合法 byte b = 4096 ; /非法 某班的A學(xué)員Java成績是80分,B學(xué)員與A學(xué)員成績相同,輸出B學(xué)員成績賦值運(yùn)算符2-2運(yùn)算符運(yùn)算符表達(dá)式表達(dá)式計(jì)算計(jì)算結(jié)果(假設(shè)結(jié)果(假設(shè) X=10X=10)+=X += 5X = X + 515-=X -= 5X = X - 55*=X *= 5X = X * 550/=X /= 5X = X / 52%=X %= 5X = X % 50復(fù)合賦值運(yùn)算符算術(shù)運(yùn)算符2-1n基本算術(shù)運(yùn)算符算術(shù)運(yùn)算符的運(yùn)算

14、數(shù)必須是數(shù)字類型。算術(shù)運(yùn)算符不能用在布爾類型上,但是可以用在char類型上,因?yàn)閷?shí)質(zhì)上char類型是int類型的一個(gè)子集。除法運(yùn)算符/,如果兩個(gè)操作數(shù)都是整數(shù)的話就做整除運(yùn)算。求模運(yùn)算符%,其運(yùn)算結(jié)果是整數(shù)除法的余數(shù),它能像整數(shù)類型一樣被用于浮點(diǎn)類型(這不同于C/C+中模數(shù)運(yùn)算符%僅僅能用于整數(shù)類型)某學(xué)員3門課成績?nèi)缬冶硭?,編程?shí)現(xiàn): 1、Java課和html課的分?jǐn)?shù)之差 2、3門課的平均分課程分?jǐn)?shù)oracle89Java90html60算術(shù)運(yùn)算符2-2n算術(shù)運(yùn)算符中還有兩個(gè)一元運(yùn)算符:+, -表達(dá)式表達(dá)式(num1=5)如何計(jì)算如何計(jì)算結(jié)果結(jié)果num2 = +num1;num1 = nu

15、m1 + 1;num2 = num1;num2 = 6;num1 = 6;num2 = num1+;num2 = num1;num1 = num1 + 1;num2 = 5;num1 = 6;num2 = -num1;num1 = num1 - 1;num2 = num1;num2 = 4;num1 = 4;num2 = num1-;num2 = num1;num1 = num1 - 1;num2 = 5;num1 = 4;/int num1 = 5; int num2 = 2; int a = num1 % num2;int b = num1 / num2;System.out.printl

16、n(num1 + % + num2 + = + a);System.out.println(num1 + / + num2 + = + b);int c=num1+;int d=-num2; System.out.println(num1 = + num1);System.out.println(num2 = + num2);5 % 2= 15 / 2 = 2下面代碼片斷的輸出結(jié)果是什么? 輸出輸出%:求:求余數(shù)余數(shù)/:求商:求商num1 = 6num2 = 1輸出輸出關(guān)系運(yùn)算符n常用關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于決定值和值之間的關(guān)系。JAVA中的任何類型,包括整數(shù)、浮點(diǎn)數(shù)、字符以及布爾型都可用“=

17、”來比較是否相等,用”!=”來測試是否不等。只有整數(shù)、浮點(diǎn)數(shù)和字符運(yùn)算數(shù)可以用來比較大小。 關(guān)系運(yùn)算符的結(jié)果是boolean類型。 = = = !=邏輯運(yùn)算符n邏輯運(yùn)算符的操作數(shù)只能是布爾型。而且邏輯運(yùn)算的結(jié)果也是布爾型 n當(dāng)?shù)谝粋€(gè)運(yùn)算數(shù)能決定表達(dá)式的值的時(shí)候,JAVA就不會(huì)對第二個(gè)運(yùn)算數(shù)求值,只有在需要時(shí)才對第二個(gè)運(yùn)算數(shù)求值。 &: 第一個(gè)操作數(shù)為假則不判斷第二個(gè)操作數(shù)|:第一個(gè)操作數(shù)為真則不判斷第二個(gè)操作數(shù)運(yùn)算符運(yùn)算符表達(dá)式表達(dá)式說明說明&條件1 & 條件2僅僅兩個(gè)條件同時(shí)為真,結(jié)果為真|條件1 | 條件2只要兩個(gè)條件有一個(gè)為真,結(jié)果為真! 條件條件為真時(shí),結(jié)果為假

18、條件為假時(shí),結(jié)果為真練習(xí)以下條件該怎么表達(dá)?n要求學(xué)生考試平均分在80分以上,并且出勤率75以上的學(xué)生才能畢業(yè),否則要留級(jí)。n不需要補(bǔ)課的條件:3門課程中有一門成績高于90即可。n選出年齡為18歲和20歲的學(xué)生n選出年齡在1820歲之間的男生位運(yùn)算符n位運(yùn)算符首先針對的位來進(jìn)行運(yùn)算的。n可以作用于數(shù)值型,也可以作用于布爾類型 n數(shù)值中的操作: | 按位或(兩數(shù)據(jù)對應(yīng)位都是0,則該位為0,否則為1) & 按位與(兩數(shù)據(jù)對應(yīng)位都是1,則該位為1,否則為0) 按位異或(兩數(shù)據(jù)對應(yīng)位相反,則該位為1,否則為0) 右移位(左側(cè)填充符號(hào)位) 無符號(hào)右移位 按位取反(1變0 , 0變1)n布爾中的操作:&,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論