《《Java程序設(shè)計(jì)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《Java程序設(shè)計(jì)》PPT課件.ppt(42頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Java語言基礎(chǔ),2020年9月7日星期一4時(shí)35分30秒,,59.64.180.250 9001 course course,HelloWorld.java,public class HelloWorld public static void main(String args) System.out.println(Hello World!) ; ,Java的基本語法,Java所有程序代碼都必須存在于一個(gè)類中 java是嚴(yán)格區(qū)分大小寫的 java是一種自由格式的語言 代碼分為結(jié)構(gòu)定義語句和功能執(zhí)行語句 功能執(zhí)行語句的最后必須用分號(hào)結(jié)束 連續(xù)的字符串不能在兩行中分開寫,2006年2月1
2、6日4時(shí)7分,,Java源程序結(jié)構(gòu),package語句 hello.world //至多只有一句,必須放在源程序的第一句 import語句 /可以有若干import語句或者沒有,必須放在所有的 類定義之前*/ public classDefinition //至多只有一個(gè)公共類的定義 //java源程序的文件名必須與該公共類名完全一致 classDefinition //類定義部分,可以有0個(gè)或者多個(gè)類定義 interfaceDefinition //接口定義部分,可以有0個(gè)或者多個(gè)接口定義,Java源程序結(jié)構(gòu)舉例,package javawork.helloworld; /*把編譯生成的所有
3、.class文件放到包javawork.helloworld中*/ import java.awt.*; //告訴編譯器本程序中用到系統(tǒng)的AWT包 import javawork.newcentury; /*告訴編譯器本程序中用到用戶自定義的包javawork.newcentury*/ public class HelloWorldApp...... /*公共類HelloWorldApp的定義, 名字與文件名相同*/ class TheFirstClass...... //第一個(gè)普通類TheFirstClass的定義 class TheSecondClass...... //第二個(gè)普通類The
4、SecondClass的定義...... //其它普通類的定義 interface TheFirstInterface...... /*第一個(gè)接口TheFirstInterface的定義*/...... //其它接口定義,Java的基本語法(2),java中的標(biāo)識(shí)符 由任意順序的大小寫字母、數(shù)字、下劃線(_)和美元符號(hào)($)組成,但標(biāo)識(shí)符不能以數(shù)字開頭,不能是關(guān)鍵字。 用字母開頭,盡量不包含其它符號(hào),,合法的標(biāo)識(shí)符: indentifier username user_name _userName $username,非法的標(biāo)識(shí)符: class 98.3 Hello World,java的關(guān)鍵
5、字,注:java 無sizeof ,goto, const 關(guān)鍵字,但不能用goto const作為變量名,2006年2月16日4時(shí)37分,,java中的常量(1),整型常量 十進(jìn)制(12) ,十六進(jìn)制 (0 x12),八進(jìn)制(012) 長(zhǎng)整型常量 13L 單精度浮點(diǎn)數(shù) float 5.1f,.4f ,2e3f ,0f 雙精度浮點(diǎn)數(shù) double 5.1,.4,2e-3,0d 布爾常量 true和false,java中的常量(2),字符常量 a , 8, u0027 轉(zhuǎn)義字符:無法直接往程序里寫的特殊按鍵和字符 r;n;t;b;; ;“ 字符串常量 “Hello World” ,“123”,
6、Welcome nXXX null常量 null常量只有一個(gè)值,用null表示,表示對(duì)象的引用為空,變量的概念與作用,變量 系統(tǒng)為程序分配的一塊內(nèi)存單元 所存儲(chǔ)的數(shù)據(jù)類型的不同 變量名代表這塊內(nèi)存中的數(shù)據(jù) int x=0, y; y=x+3; 變量命名規(guī)則 有意義 以一個(gè)小寫字母開頭 在單獨(dú)的一行上聲明變量,便于插入描述,java的變量類型,,數(shù)據(jù)類型,,基本數(shù)據(jù)類型,引用數(shù)據(jù)類型,數(shù)值型,字符型(char),布爾型(boolean),,,整數(shù)類型(byte, short, int, long),浮點(diǎn)類型(float, double),類(class),接口(interface),數(shù)組,,變量
7、字節(jié)大小及有效取值范圍,類型名 占用字節(jié)數(shù) 取值范圍 byte 1 -2727-1 short 2 -215215-1 int 4 -231231-1 long 8 -263263-1 float 4 1.4E-453.4E+38 , -1.4E-45-3.4E+38 double 8 4.9E-3241.7E+308, -4.9E-324-1.7E+308 char2 2 0216-1 boolean 1 true和false,類型轉(zhuǎn)化,
8、自動(dòng)類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換) 強(qiáng)制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換) 字符串:使用字符串與 其它數(shù)據(jù)類型相連形成新串 表達(dá)式的數(shù)據(jù)類型自動(dòng)提升 所有的byte型、short型和char的值將被提升到int型。 如果一個(gè)操作數(shù)是long型,計(jì)算結(jié)果就是long型; 如果一個(gè)操作數(shù)是float型,計(jì)算結(jié)果就是float型; 如果一個(gè)操作數(shù)是double型,計(jì)算結(jié)果就是double型。 分析 System.out.println(a+1)與 System.out.println(“”+a+1) 的區(qū)別。,變量的生命周期與作用域,變量要先定義,后使用 public class TestScope pu
9、blic static void main(String args) int x = 12; int q = 96; // x和q都可用 int x = 3;//錯(cuò)誤的定義,Java中不允許有這種嵌套定義 System.out.println(x is +x); System.out.println(q is +q); q = x; /* 錯(cuò)誤的行,只有x可用, q 超出了作用域范圍 */ System.out.println(x is +x); ,java中的運(yùn)算符,運(yùn)算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較。
10、分類: 算術(shù)運(yùn)算符 賦值運(yùn)算符 比較運(yùn)算符 邏輯運(yùn)算符 移位運(yùn)算符 良習(xí):二元運(yùn)算符兩側(cè)加一個(gè)空格,算術(shù)運(yùn)算符,算術(shù)運(yùn)算符的注意問題,“+”除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串 ,如: “x”+123;的結(jié)果是“x123” 。 如果對(duì)負(fù)數(shù)取模,可以把模數(shù)負(fù)號(hào)忽略不記。但被模數(shù)是負(fù)數(shù)要保持。 對(duì)于除號(hào)“/”,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí),只保留整數(shù)部分而舍棄小數(shù)部分。,賦值運(yùn)算符,比較運(yùn)算符,邏輯運(yùn)算符,“ int y=3; if(x!=0 ,位運(yùn)算符,對(duì)兩個(gè)操作數(shù)中的每一個(gè)二進(jìn)制位都進(jìn)行運(yùn)算。 只有參加運(yùn)算的兩位都為1, case 常量表達(dá)式2:語句2; ca
11、se 常量表達(dá)式n:語句n; default: 語句n; default語句可選的。 case后面可以跟多個(gè)語句,這些語句可以不用大括號(hào)括起來 。 switch語句判斷條件可接受int, byte, char, short型,不可以接受其他類型 一旦碰到第一次case匹配,就會(huì)開始順序執(zhí)行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會(huì)被執(zhí)行,直到碰到break語句為止。,同一段語句處理多個(gè)case,case 1: case 2: case 3: System.out.println(“Youre very bad”); System.out.println(
12、“You must make great efforts”); Break; case 4: case 5: System.out.println(“Youre good”);,while循環(huán)語句,While (表達(dá)式) 語句; int x=1; while(x<3) ; System.out.println(x=+x); x++; ,do-while循環(huán)語句,public class TestDo public static void main(String args) int x=3; while(x==0) System.out.println(ok1); x++; int y=
13、3; do System.out.println(ok2); y++; while(y==0); ,for循環(huán)語句,int x=1; for(;;) if(x = 10) break; System.out.println(x=+x); x++; ,for(int x=1;x<10;x++) System.out.println(x=+x); ,int x=1; for(;x<10;x++) System.out.println(x=+x); ,int x=1; for(;x<10;) System.out.println(x=+x); x++; ,break語句,b
14、reak語句可以中止循環(huán)中的子語句和switch語句。如: st:while(true) while(true) break st; ,continue語句,continue語句只能出現(xiàn)在循環(huán)語句(while,do,for)的子語句塊中,無標(biāo)號(hào)的continue語句的作用是跳過當(dāng)前循環(huán)的剩余語句塊,接著執(zhí)行下一次循環(huán)。 for(int i=0;i<10;i++) if(i%2==0) continue; System.out.println(i); ,數(shù)組,為什么有數(shù)組? 堆內(nèi)存和棧內(nèi)存 int x; x = new int100; x=null; 的內(nèi)存狀態(tài)變化情況,數(shù)組
15、,靜態(tài)數(shù)組 int ia =1,2,3,4; int ia=new int3,4,5; int a5;//聲明數(shù)組時(shí),不能指定其長(zhǎng)度,編譯時(shí)將出錯(cuò) 使用數(shù)組時(shí)要注意的問題 空指針異常 如何得到數(shù)組長(zhǎng)度 數(shù)組越界異常,多維數(shù)組,如何理解多維數(shù)組? java 中并沒有真正的多維數(shù)組,只有數(shù)組的數(shù)組, Java中多維數(shù)組不一定是規(guī)則矩陣形式。 定義一個(gè)多維數(shù)組 int xx; xx=new int3; xx0=new int3; xx1=new int2;,多維數(shù)組,多維數(shù)組中元素的引用方式,如:x12。 規(guī)則矩陣數(shù)組可以在一條語句中產(chǎn)生,如:int xx=new int23; 多維數(shù)組的靜態(tài)初始化 ,如: int xx=3,2,7,1,5,6;,字符串,字符串常量 “Hello World” String 字符串常量 StringBuffer 字符串變量,String,用不同方法生成字符串a(chǎn)bc:char chars1=a,b,c;char chars2=a,b,c,d,e;String s1=new String(chars1);String s2=new String(chars2,0,3);,下節(jié)課內(nèi)容安排,IDE工具使用 JBuilder Eclipse,