java第3章Java語言基礎程序0810ppt課件_第1頁
java第3章Java語言基礎程序0810ppt課件_第2頁
java第3章Java語言基礎程序0810ppt課件_第3頁
java第3章Java語言基礎程序0810ppt課件_第4頁
java第3章Java語言基礎程序0810ppt課件_第5頁
已閱讀5頁,還剩85頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第三章第三章第三章JavaJava言語根底言語根底本節要點和目的.一、言語與程序Java程序的構成二、數據類型、常量、變量三、表達式四、流程控制語句本節要點和目的言語與程序言語與程序人類言語:人類言語:漢語、英語、法語漢語、英語、法語計算機言語:計算機言語:C、java、VB構成:構成:字、詞字、詞句子句子文章文章語法:語法:詞法詞法句法句法章法章法漢語:字法漢語:字法構成:構成:標識符標識符語句語句程序程序語法:語法:詞法詞法句法句法章法章法言語與程序言語與程序人類言語:人類言語:漢語、英語、法語漢語、英語、法語計算機言語:計算機言語:C、java、VB構成:構成:字、詞字、詞句子句子文章文

2、章語法:語法:詞法詞法句法句法章法章法漢語:字法,字構成詞。漢語:字法,字構成詞。英語:詞法,字母構成詞。英語:詞法,字母構成詞。構成:構成:標識符標識符語句語句程序程序語法:語法:詞法詞法句法句法章法章法詞法,字符構詞法,字符構成標識符、成標識符、運算符。運算符。public class appl3_0 public static void main(String args ) int i; for(i=1;i3;i+) System.out.print(i+*+i); System.out.println(=+i*i); 程序文章程序文章語句語句詞法:詞法:標識符標識符-系統定義標識符保管

3、字,不能再用系統定義標識符保管字,不能再用 用戶定義標識符用戶定義標識符系統定義標識符系統定義標識符(類名、方法名、類名、方法名、語句名、數據語句名、數據類型名、修飾類型名、修飾符符)用戶定義標識符用戶定義標識符(類名、變量名、類名、變量名、常量名、函數常量名、函數名名)字母或下劃線字母或下劃線 + 字母、下字母、下劃線、數字劃線、數字 + 各種稱號各種稱號類名類名變量名變量名iJava程序程序值可變值可變可顯示可顯示可運算可運算一、Java程序的構成java程序程序構造構造public class appl2_5 / 定義定義public類類appl2_5 public static voi

4、d main(String args ) int i; for(i=1;i3;i+) System.out.print(i+“*+i); / 輸出變量、字符串輸出變量、字符串 System.out.println(=+i*i); 一個Java程序的根本框架構造:Java程序由一個或多個獨立的類組成,但其中必需有一個公有類如:HelloWorld,而且源代碼文件必需與這個公有類的名字一樣如:HelloWorld.java。Java的類可以由一個或多個方法組成,其中公有類中的main方法可用作程序運轉的入口。 / The First Java Programpublic class HelloWo

5、rld public static void main(String args) System.out.println(Hello World!); 程序頭的注釋程序頭的注釋HelloWorld公共類公共類main方法方法修飾符修飾符方法頭方法頭方法體方法體方法名方法名參數參數前往類型前往類型二、數據類型、常量、變量數據類型、常量、變量java數據類型分為兩大類:數據類型分為兩大類: 根本數據類型根本數據類型 援用數據類型援用數據類型一數據類型一數據類型數據類型數據類型Java數據數據類型類型 根本類型援用類型數值類型l整數類型整數類型 占字節占字節l 1)字節型字節型 byte 1Bytel

6、 2)短整型短整型 short 2Bl 3)整型整型 int 4Bl 4)長整型長整型 long 8Bl浮點數浮點數l 1)浮點型浮點型 float 4Bl 2)雙精度型雙精度型 double 8Bl字符類型字符類型l 1)字符型字符型 char 2B布爾類型 boolean 1Byte1類類型類類型class2接口類型接口類型interface3數組類型數組類型 專講專講4字符串字符串 String又稱復合類型又稱復合類型傳送數值傳送數值傳送地址傳送地址整理如整理如下表下表地址地址數據數據000035500014669999811內部存儲器內部存儲器數值數值Java數據類型數據類型數據類型數

7、據類型占用占用字節字節 缺省缺省數值數值取值范圍取值范圍根本數據類型根本數據類型 取值范圍與缺省值取值范圍與缺省值boolean(布爾型布爾型)1falsetrue,flaseshort(短整型短整型)2(short)0-3276832767char(字符型字符型)2u00000 65535 u0000 uFFFFint(整型整型)40-21474836482147483647float(浮點數型浮點數型)40.0f1.40129846432481707e-45 3.40282346638528860e+38long(長整型長整型)80L-9223372036854775808 9223372

8、036854775807double(雙精度型雙精度型)80.0d4.94065645841246544e-324 1.79769313486231570e+308integerbyte(字節型字節型)1(byte)0-128 127應有后綴應有后綴( (大、小寫均可大、小寫均可) )應有后綴應有后綴( (大、小寫均可大、小寫均可) )應有后綴應有后綴( (大、小寫均可大、小寫均可) )應有后綴應有后綴( (大、小寫均可大、小寫均可) )十億量級十億量級萬億億量級萬億億量級地球人難有時機用到如此大之數地球人難有時機用到如此大之數數據類型數據類型占用占用字節字節 缺省缺省數值數值取值范圍取值范圍

9、long(長整型長整型)80L-9223372036854775808 9223372036854775807int(整型整型)40-21474836482147483647short(短整型短整型)2(short)0-3276832767byte(字節型字節型)1(byte)0-128 127char(字符型字符型)2u00000 65535 u0000 uFFFFboolean(布爾型布爾型)1falsetrue,flasefloat(浮點數型浮點數型)40.0f1.40129846432481707e-45 3.40282346638528860e+38double(雙精度型雙精度型)8

10、0.0d4.94065645841246544e-324 1.79769313486231570e+308根本數據類型JavaJava數據類型數據類型 記憶記憶根本數據類型:根本數據類型: byte、short、int、long;float、double;char、Boolean1 2 4 8 4 8 2 1根本數據的根本數據的 首字母小寫;首字母小寫;援用類型的援用類型的 首字母大寫。首字母大寫。根本數據類型都有相應的包裝類根本數據類型都有相應的包裝類(Wrapper)如:如:Integer-int,Double-double 這些包裝類曾經是這些包裝類曾經是“類了,也就是援用類型了。類了,

11、也就是援用類型了。 類是援用數據類型類是援用數據類型占用字節數占用字節數java.langLongMAX_VALUEJavaJava中類首字均應大寫。中類首字均應大寫。SystemSystem類的帶包途徑是類的帶包途徑是 java.lang.System java.lang.System ,java.langjava.lang包默許引入。包默許引入。求取最大值求取最大值顯顯示示輸輸出出二標識符1、由字母、數字、下劃線、由字母、數字、下劃線_及美圓符及美圓符$組組合而成。合而成。2、首字符必為字母、下劃線或美圓符之、首字符必為字母、下劃線或美圓符之一。一。3、區分大小寫。、區分大小寫。4、應能表

12、征其意義。、應能表征其意義。四標識符第2章 根本元素本章經過講解數據和數據類型、變量和常量、表達式和運算符,開場Java程序設計言語的探求之旅;重點掌握根本數據類型、各種表達式、及語句的書寫規范。2.1 標識符Java中,標識符由:下劃線、$、英文字母、數字組成,除了數字其他三種均可作為首字;Java標識符不限長度。Java言語運用的是Unicode字符集,含65535個字符,其中前256個是ASCII碼及其擴展碼。2.2 關鍵字abstract default if private throw boolean do implements protected throws break doub

13、le import public transient byte else instanceof return try case extends int short void catch final interface static volatile char finally long super while class float native switch nullconst for new synchronized strictfpcontinue goto package this assertenum三變量在程序運轉過程中,其值可以發在程序運轉過程中,其值可以發生變化的量稱變量。生變化

14、的量稱變量。創建變量的語句格式創建變量的語句格式: :數據類型數據類型 變量名變量名三變量例:例:int n1,n2,n3; int n1,n2,n3; float num1,num2;float num1,num2;二常量常量:常量:在程序運轉過程中,其值不能被改動的量。在程序運轉過程中,其值不能被改動的量。相當于數學中的常數。如:相當于數學中的常數。如:e=2.71828=Pai=3.1415926二常量1整數常量2實數常量留意:留意:longlong、floatfloat、doubledouble類型數據應類型數據應有后綴有后綴l l、f f、d(d(大、小寫均可大、小寫均可) )前置前

15、置0 x0 x決議了后面的:決議了后面的:ffff、3a2c3a2c、2e2e,均為,均為1616進制進制數。數。/ appl3_2, 整數整數錯誤的范例錯誤的范例 public class appl3_2 public static void main(String args ) long num=32998399887;/錯:缺后綴錯:缺后綴l System.out.println(num= +num); / appl3_3,整數數據類型的溢出整數數據類型的溢出 public class appl3_3 public static void main(String args ) int i

16、=java.lang.Integer.MAX_VALUE; System.out.println(i=+i); System.out.println(i+1=+(i+1); System.out.println(i+2=+(i+2); 錯錯錯錯求得求得IntegerInteger類型的最大值類型的最大值最大值最大值+1=+1=最小值最小值數值溢出最大值再加1,即溢出:等于最小值往前進一位D7D6D5D4D3D2D1D011111111加加1,等于:,等于:D7D6D5D4D3D2D1D000000000進進11假設已無存假設已無存儲設備,那儲設備,那么該位自動么該位自動喪失喪失最小值再減1,也

17、溢出:等于最大值向前借一位例如:例如:8位數位數/ appl3_3a,整數數據類型的溢出整數數據類型的溢出 public class appl3_3a public static void main(String args ) int i=java.lang.Integer.MIN_VALUE; System.out.println(i=+i); System.out.println(i-1=+(i-1); System.out.println(i-2=+(i-2); 求得求得IntegerInteger類型的最大值類型的最大值最小值最小值-1=-1=最大值最大值System.out.prin

18、tln(“i-1=+(i-1L); System.out.println(i-2=+(i-2L);加尾綴加尾綴L L,類型由,類型由intint4 4字節轉換為字節轉換為longlong8 8字節,不字節,不會再溢出。會再溢出。/ appl3_4,浮點數運用浮點數運用 public class appl3_4 public static void main(String args ) float num=2.0; System.out.println(num+*+num+ =+(num*num); / 輸出輸出num*num的結果的結果 錯錯3布爾型常量4字符型常量中文單引號要出錯中文單引號要

19、出錯字符與其字符與其ASCIIASCII碼值是相互對應的碼值是相互對應的public class appl3_5 public static void main(String args) / TODO Auto-generated method stub char ch1=97+1;/b的的ASCII值值98 char ch2=a+2;/c的的ASCII值值99 char ch3=u0061+3;/d的的ASCII值值100 System.out.println(ch1=+ch1);/顯示顯示b System.out.println(ch2=+ch2);/顯示顯示c System.out.pr

20、intln(ch3=+ch3);/顯示顯示d System.out.println(ch1=+(ch1+1); /數據數據99=97+1+1 System.out.println(ch2=+(ch2+1); /數據數據100=97+2+1 System.out.println(ch3=+(ch3+1); /數據數據101=97+3+1a的的ascii碼是碼是97a=u0061,中文單引號要出錯中文單引號要出錯ff走紙換頁走紙換頁反斜線反斜線bb退一格退一格單引號單引號nn換行換行”雙引號雙引號rr回車回車uxxxxuxxxx十六進制字符十六進制字符tttabtabdddddd八進制字符八進制字

21、符(000377000377)三、表達式表達式表達式:用運算符號銜接各種數據構成的算式。一賦值表達式age18變量或對象設置值+=+=、 = =、= =、/= /= 由賦值運算符由賦值運算符=銜接變量常量、對象等與設定銜接變量常量、對象等與設定值,構成的算式。值,構成的算式。2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算符運算符含義含義=直接賦值+=加法賦值-=減法賦值*=乘法賦值/=除法賦值%=模賦值2.5.5 賦值運算符和復合賦值運算符賦值運算符:=;復合賦值運算符:賦值運算符與算術運算符、位運算符、移位運

22、算符相復合;a += b;即 a = a + b;左值為變量或常量;右值要有確定的值;二算術表達式雙目運算符xy?+ +、 、* *、/ /、% %二算術表達式由算術運算符銜接變量、常量、對象等構成的算式。由算術運算符銜接變量、常量、對象等構成的算式。2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算符運算符JavaJavaC/C+C/C+DelphiDelphi Visual Visual BasicBasic加+減-乘*浮點數除/整數除/div/取模%ModMod2.5 運算符運算符是用來完成一個動作的特定言語

23、的語法記號。2.5.1 算術運算符+、-、*、/、%;有值的量才干進展運算;byte、short、char類型的算術運算會轉換成int型再計算,其結果也是int型;整型相除結果為整型;取余多用于整型運算;取余的符號與前者一樣。2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算符運算符JavaJava C/C+C/C+DelpDelphihiVisual Visual BasicBasic增+Inc()無減-Dec()無單目運算符x 、+、 2.5.3 遞增遞減運算符短路運算與運算只需有一個為假,那么表達式為假,因此

24、前面部分為假時,那么不執行后面部分了。例如:int i = 3;i 2 & i+ 2 | i+ 、 =、=三關系表達式2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算運算符符JavaJavaC/C+C/C+DelphiDelphiVisual Visual BasicBasic相等=或is不相等!=!=大于小于小于等于=2.5.2 關系運算符與邏輯運算符關系運算符:、=、=、!=有值的量才干進展比較;表達式的值是boolean型;留意=與=的區別。邏輯運算符:&、|、!運算符兩邊都應是boolea

25、n型;表達式結果是boolean型;&和|的短路運算。四邏輯表達式xy?& &、| |、! !、 、&、| |四邏輯表達式2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算符運算符JavaJavaC/C+C/C+DelphiDelphi Visual Visual BasicBasic與&andand或notnot取反oror異或xorxor左移Shr無2.5.2 關系運算符與邏輯運算符關系運算符:、=、=、!=有值的量才干進展比較;表達式的值是boolean型;留意=與=的

26、區別。邏輯運算符:&、|、!運算符兩邊都應是boolean型;表達式結果是boolean型;&和|的短路運算。五位運算表達式 、x2整型量位移量例例P46P46五位運算表達式2.3 表達式與運算符運算符是用來完成一個動作的特定言語的語法記號。賦值運算符增減運算符算術運算符關系運算符邏輯運算符位運算符運算符運算符JavaJavaC/C+C/C+DelphiDelphi Visual Visual BasicBasic邏輯與&AndAnd邏輯或|OrOr邏輯非!NotNo2.5.4 位運算符和移位運算符位運算符:&、|、(異或)、(取反,包括符號位);boolean

27、的按位“與、“或其值為boolean型;位運算符沒有短路景象。2&3、2|3、23、2;移位運算符:、(邏輯)算術左移:高位溢出,低位補0;算術右移:低位溢出,高位補原高位;邏輯右移:低位溢出,高位補0;算術左移一位乘2,右移一位除2(能整除時);六條件表達式 ? ? : : 3JavaJava言語規定,表達式言語規定,表達式2 2和表達式和表達式3 3必必需前往一樣的數據類型,并且類型需前往一樣的數據類型,并且類型不能為不能為voidvoid。六條件表達式2.5.6 條件運算符(boolean表達式)?表達式1:表達式2boolean表達式的值為true時,表達式的結果為表達式1;b

28、oolean表達式的值為false時,表達式的結果為表達式2;經常用它求最大、最小值。max = (ab) ? a : b; 例int i = 3; int sum = (i+) + (i+) + (i+);a=b | x=y;判別char型變量ch能否為數字的表達式是:a)0=ch0)&(ch=0)&(ch=0)|(ch=9)(a!=b)&(a+b=0)&(a%2=0)以下表達式的值不是2的是:a) 2&3 b) 11 c) a=2 d) 13七表達式類型轉換1自動類型轉換自動類型轉換轉換前的數據類型與轉換后的類型兼轉換前的數據類型與轉換后的類型兼容容

29、;轉換后的數據類型的表示范圍比轉換轉換后的數據類型的表示范圍比轉換前的類型大。前的類型大。七表達式類型轉換優先級優先級運算符類型運算符類型運算符運算符優先級最優先級最高高一元運算符一元運算符 . ()(方法調用)(方法調用) ! + - + - new ()(強制類型轉換)(強制類型轉換)優先級較優先級較高高算術運算符算術運算符位移運算符位移運算符* / % + -優先級較優先級較低低關系運算符關系運算符位移運算符位移運算符邏輯運算符邏輯運算符 = !=& |& |?:(三元判斷運算符,例如:(三元判斷運算符,例如:AB?X:Y)優先級最優先級最低低賦值運算符賦值運算符=+=

30、-= *= /= %= 1、占用字節少的轉換成字節較多的類型。、占用字節少的轉換成字節較多的類型。2、如、如short類型遇上類型遇上int類型,會轉換成類型,會轉換成int型。型。3、字符類型會轉換成、字符類型會轉換成short類型。類型。4、int類型會轉換成類型會轉換成float類型。類型。5、表達式中的一個操作數為、表達式中的一個操作數為double類型,類型,那么另一個操作數會轉換為那么另一個操作數會轉換為double類型。類型。6、布爾類型不能轉換至其他的類型。、布爾類型不能轉換至其他的類型。2強迫類型轉換強迫類型轉換 假設要將表示范圍大的數據類型轉換假設要將表示范圍大的數據類型轉

31、換成較小的數據類型,或想得到想要的數成較小的數據類型,或想得到想要的數據類型的數據那么必需強迫類型轉換。據類型的數據那么必需強迫類型轉換。缺分號:語句終了符缺分號:語句終了符八運算符的優先級P47P47八運算符的優先級2.6 表達式和語句表達式是運算符、操作數、以及方法調用的序列;它用來闡明某一個計算過程的計算結果;其結果有一個獨一的類型。表達式有運算優先級,可以嵌套;不同數據類型的操作數進展運算,其轉換規那么如下。charbyteshortintlongfloatdouble語法與規則( 類型指示符類型指示符 ) 表達式表達式double pi = 3.1415926;int p = (in

32、t)pi; /p=3圖中:實線表示沒有精度損失的轉換,虛線表示能夠有精度損失的轉換。2.5.7運算符的優先級大體上是:算術關系邏輯賦值;不是方法,不是強轉最大,弄不明白加括號。優先級優先級運算符類型運算符類型運算符運算符優先級最高一元運算符 (下標) . ()(方法調用) ! + - +(正) -(負) new ()(強制類型轉換)優先級較高算術運算符移位運算符* / % + -優先級較低關系運算符位運算符邏輯運算符 = !=& |& |?:(三元判斷運算符,例如:AB?X:Y)優先級最低賦值運算符=+= -= *= /= %= = = &= |= =四、流程控制語句流

33、程控制語句語句Java中的語句以分號終了;Java中的分號一定要用英文輸入法輸入;Java中語句分為:控制語句、方法調用語句、表達式語句、空語句、復合語句;復合語句:又稱塊語句,由 括起來的簡單java語句構成;復合語句中定義的變量的作用范圍只在復合語句中;塊可以嵌套。int k = 0;int i = 0; / i的作用范圍到此 / k的作用范圍到此Java不允許在內層塊中定義與外層塊同名的變量。例float f1 = 12.3f + 45.9f;float f2 = 89 + 56.3f;byte b1 = 56;byte b2 = 12;int b3 = b1 + b2; boolean

34、 b4 = b2f2;int i1 = 5%3;2.7 注釋注釋掉的語句不是可執行的程序語句;單行注釋:/ 常用于解釋某行代碼;多行注釋:/*.*/常用于注釋廢代碼。Java程序構造順序構造順序構造sequence structuresequence structure選擇構造選擇構造selection structureselection structure循環構造循環構造iteration structureiteration structure一順序語句sequence structuresequence structure語句1語句2語句3一順序語句/ appl3_9.java, 簡單

35、的簡單的Java程序程序public class appl3_9 / 定義定義public 類類appl3_9 public static void main(String args ) / main( ) method,主程序開場主程序開場 int num; / 聲明整數聲明整數num num=2; / 將將num賦值為賦值為2 System.out.println(I have +num+ dogs); / 輸出字符串及變量內容輸出字符串及變量內容 System.out.println(You have +num+ dogs, too); 二選擇語句selection structures

36、election structure判別條件truefalse語句1語句2語句3二選擇語句If() ;If() ;else If() ;else if().else ;If() ;else ; if (score=90) if (score=90)流類的實例流類的實例 用構造方法實例一個用構造方法實例一個BufferedReaderBufferedReader流類實例。流類實例。 屏幕輸入的實例屏幕輸入的實例 待續。待續。非靜態方法需實例化非靜態方法需實例化可帶參數運轉可帶參數運轉javajava程序字串類型數組程序字串類型數組BufferedReader buf; /BufferedRead

37、er buf; /流類的實例流類的實例buf=new BufferedReader/buf=new BufferedReader/* *流類的實例流類的實例* */(new /(new InputStreamReader(System.in);/InputStreamReader(System.in);/實例一個新的實例一個新的BufferedReaderBufferedReader,用構造方法實例。,用構造方法實例。new new InputStreamReader(System.in)InputStreamReader(System.in)也就是得到一個從屏幕輸也就是得到一個從屏幕輸入的實

38、例入的實例 String str;/ String str;/實例化一個實例化一個StringString對象對象import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;public class appl3_10ss1 public static void main(String args) try FileReader fr=new FileReader(mytest.txt);/*創建一個創建一個FileReader對象對象*/ BufferedReader br=new BufferedReader(fr); /*創建一個創建一個BufferedReader 對象對象*/ String line=br.readLine(); /*讀取一行數據讀取一行數據*/ while(line!=null) System.out.println(line); lin

溫馨提示

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

最新文檔

評論

0/150

提交評論