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