java期末復(fù)習(xí)課件第2講Java語言基礎(chǔ).ppt_第1頁
java期末復(fù)習(xí)課件第2講Java語言基礎(chǔ).ppt_第2頁
java期末復(fù)習(xí)課件第2講Java語言基礎(chǔ).ppt_第3頁
java期末復(fù)習(xí)課件第2講Java語言基礎(chǔ).ppt_第4頁
java期末復(fù)習(xí)課件第2講Java語言基礎(chǔ).ppt_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

JAVA 語言,第2講 JAVA語言基礎(chǔ),2019年7月12日,上一講回顧,Java發(fā)展 Java特點 面向程序設(shè)計基本概念 Java程序結(jié)構(gòu) Java體系結(jié)構(gòu) JDK及Java程序編譯與運行方法,2019年7月12日,學(xué)習(xí)要點,掌握各種簡單數(shù)據(jù)類型的使用 掌握運算符和表達(dá)式的使用 掌握流程控制語句 分支語句 循環(huán)語句 掌握J(rèn)ava程序簡單的輸入輸出方法 Java數(shù)組的使用方法,2019年7月12日,2. 1 數(shù)據(jù)類型,Java數(shù) 據(jù)類型,基本數(shù)據(jù)類型,字符型(char),布爾類型(boolean),復(fù)合數(shù) 據(jù)類型,類(class),接口(interface),數(shù)組,空類型(null),數(shù)值類型,整數(shù) 類型,實數(shù) 類型,短整型(short),整型(int),單精度浮點型(float),雙精度浮點型(double),長整型(long),字節(jié)型(byte),2019年7月12日,2.1.1數(shù)據(jù)類型,數(shù)據(jù)類型 關(guān)鍵字 占用比特數(shù) 缺省數(shù)值 布爾型 boolean 8 false 字節(jié)型 byte 8 0 字符型 char 16 u0 短整型 short 16 0 整型 int 32 0 長整型 long 64 0 浮點型 float 32 0.0F 雙精度型 double 64 0.0D,2019年7月12日,2.1.2變量,變量聲明:先聲明,后使用 int nSecond = 10 ; 基本數(shù)據(jù)類型 JAVA 標(biāo)識符(區(qū)分大小寫) 字母、數(shù)字、_、$組成,字母、_、$開頭,2019年7月12日,2.1.3常量,整型常量: 32位(一般)和 64位(長型L/l) 255(十),0377(八),0XFF(十六) 浮點常量: 32位(一般F/f)和 64位(雙精度D/d) 19.4(一般表示) 2.4E-4(指數(shù)表示) boolean常量:true,false 不能轉(zhuǎn)化為 int 型,2019年7月12日,常量(續(xù)),char型常量:用單引號界定 , x20 采用Unicode碼,從u0000uFFFF,其中u00uFF為ASCII碼 字符串常量:用雙引號界定 “HELLO,WORLD“ +號的特殊用法 “Hello“+“World“ 即“HelloWorld“ 若a=4, 則“a=“+a 即 “a=4“,2019年7月12日,常量(續(xù)),特殊字符 引用方法 對應(yīng)Unicode碼 意義 b u0008 回退 t u0009 水平制表符tab n u000a 換行 r u000d 回車 “ u0022 雙引號 u0027 單引號 u005c 反斜線,2019年7月12日,2.1.4變量類型轉(zhuǎn)換,短類型 - 長類型:默認(rèn) 長類型 - 短類型:強制轉(zhuǎn)換 例: int a ; long b ; b = a ; a = ( int ) b ;,2019年7月12日,2.2 JAVA的運算符,算術(shù)運算符 關(guān)系運算符 邏輯運算符 位運算符 其他 三目條件;合并 運算符的優(yōu)先級 注釋,2019年7月12日,JAVA的運算符(續(xù)),2.2.1 算術(shù)運算符 雙目運算符 +,/,%(取余) +號:可連接字符串 “He“+“l(fā)lo“為“Hello“ 單目運算符(自運算符) +,- -,運算符的位置決定自運算的順序 a=3,b=5; c=(a+)*b; a=?,c=? -,求相反數(shù),2019年7月12日,JAVA的運算符(續(xù)),2.2. 2 關(guān)系運算符 對兩運算量大小關(guān)系的比較,結(jié)果是布爾量 ,=, B | f(A) 簡潔運算符:&,| A B | f(A) 單目:!(否),2019年7月12日,注意區(qū)別簡潔與,&,如果其前面的表達(dá)式為假,則不再計算其后面的表達(dá)式,(a=7,b=8,c=10,d=12,x=false),boolean x=+ab+,(a=7,b=8,c=10,d=12,x=false),&,不管其前面的表達(dá)式是什么,都計算其后面表達(dá)式,2019年7月12日,2.2.4 位運算符,按位取反,01010101=10101010。 按位與&,11111001&10001111=10001001。 按位或|,11111001|10001111=11111111。 按位異或,1111100110001111=01110110。 左移,101010112=11101010。 無符號右移,101010112=00101010。,2019年7月12日,JAVA的運算符(續(xù)),2.2. 5 三目條件運算符(?:) D=表達(dá)式A?表達(dá)式B:表達(dá)式C A為真,返回表達(dá)式B A為假,返回表達(dá)式C 例: int x=5, y=8; long z=2; long k=x3?y:z; /8 總是返回B,C中的長類型,2019年7月12日,JAVA的運算符(續(xù)),2.2.6 合并運算符 二元運算符=,a=b即a=ab a+=b a = a + b; 運算符的優(yōu)先級 括號最優(yōu)先,參見p33表2-8所示。,2019年7月12日,2.3 JAVA的流程控制語句,結(jié)構(gòu)化程序設(shè)計的三種基本控制語句 順序 分支 循環(huán),按語句書寫的先后順序執(zhí)行,在若干路徑中有條件地?fù)褚粓?zhí)行,當(dāng)某條件成立時,反復(fù)執(zhí)行一段代碼,2019年7月12日,2.3.1 分支(選擇)語句,IF語句 if(條件表達(dá)式)語句組; if(條件表達(dá)式)語句組1; else 語句組2; 語句組 用大括號括起的語句集合 else與最近的if配合,用來消除二義性,If 條件A If 條件B 1 else 2 ,2019年7月12日,分支(選擇)語句(續(xù)),嵌套的if-else-if if (expression) statement; else if (expression) statement; else if (expression) . else statement;,2019年7月12日,2.3.2 多分支開關(guān)語句,SWITH語句 switch(表達(dá)式) case 判斷值1:語句組1; case 判斷值2:語句組2; default:語句組n; 根據(jù)表達(dá)式取值的不同轉(zhuǎn)向不同的分支 每個case分支都只是入口點:break 語句,2019年7月12日,2.3.3 JAVA的循環(huán)語句,1. while語句 當(dāng)型循環(huán):while(表達(dá)式) 語句組; 執(zhí)行過程: 先計算表達(dá)式 若為真則執(zhí)行語句組,并轉(zhuǎn)回再計算表達(dá)式 若為假 則跳出循環(huán),執(zhí)行后面的語句。,2019年7月12日,JAVA的循環(huán)語句(續(xù)),2. do-while語句 直到型循環(huán): do 語句 while(表達(dá)式); 執(zhí)行過程: 先執(zhí)行語句,再計算表達(dá)式 若為真則轉(zhuǎn)回再執(zhí)行語句,若假則跳出循環(huán) 循環(huán)體至少執(zhí)行一次。,2019年7月12日,JAVA的循環(huán)語句(續(xù)),3. for 語句 當(dāng)型循環(huán),功能最強、使用最多、最靈活 for ( 表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句組; 表達(dá)式1:循環(huán)變量賦初值,可使用外部沒有定義的循環(huán)變量 表達(dá)式2:循環(huán)條件 表達(dá)式3:循環(huán)變量修正,2019年7月12日,JAVA的循環(huán)語句(續(xù)),2019年7月12日,4. 循環(huán)語句中途退出,Java沒有g(shù)oto語句 break語句: 不帶標(biāo)號break 語句 從循環(huán)體內(nèi)跳出至后面語句,結(jié)束當(dāng)前循環(huán)。 跳出當(dāng)前循環(huán)體,不是跳出當(dāng)前大括號對。 循環(huán)嵌套時,break 語句只跳出當(dāng)前循環(huán)。 帶標(biāo)號的break語句 采用 label: 的形式定義標(biāo)號 跳出標(biāo)號標(biāo)志的循環(huán)體,2019年7月12日,循環(huán)語句中途退出(續(xù)),continue 語句 不帶標(biāo)號的continue 跳過本輪循環(huán)剩余語句,直接進(jìn)入當(dāng)前循環(huán)體 的下一輪。 帶標(biāo)號的continue 跳過循環(huán)剩余語句,直接進(jìn)入標(biāo)號所指的循環(huán) 體的下一輪循環(huán)。 循環(huán)的正常退出途徑:符合結(jié)束條件,2019年7月12日,循環(huán)語句中途退出(續(xù)),label1: outer-iteration inner-iteration /. break; / 1 /. continue; / 2 /. continue label1; / 3 /. break label1; / 4 示 例:breakloop.java,2019年7月12日,示例:Prime.java,求2100的素數(shù),每行打印5個數(shù)字,First_Loop: for(int i=2,k=0;i100;i+) for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; /end of inner-iteration System.out.print(i+“t“); k+; if(k%5=0) System.out.println(); /end of outer-iteration,/i不是素數(shù),First_Loop: for(int i=2,k=0;i100;i+) for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; /end of inner-iteration System.out.print(i+“t“); k+; if(k%5=0) System.out.println(); /end of outer-iteration,First_Loop: for(int i=2,k=0;i100;i+) for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; /end of inner-iteration System.out.print(i+“t“); k+; if(k%5=0) System.out.println(); /end of outer-iteration,for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; /end of inner-iteration,for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; /end of inner-iteration,int i=2,int i=2,int i=2,k=0,k=0,k=0,First_Loop: continue First_Loop;,First_Loop: continue First_Loop;,First_Loop: continue First_Loop;,2019年7月12日,2.4 簡單的輸入輸出,輸出:使用System.out對象進(jìn)行輸出。 println():輸出文本并換行。 print():輸出文本不換行。 輸入: 1、使用System.in對象輸入。 try-catch與read或readLine方法。 throws IOException與read或readLine方法。 2、使用命令行參數(shù)main()方法的args。,2019年7月12日,字符界面輸入輸出示例,import java.io.*; class inout public static void main(String args)throws IOException byte buf=new byte50; double num, mul=1d; int n=Integer.parseInt(args0); for(int i=0;in;i+) System.out.print(“Please input the NO.“+(i+1)+“ data:“); try System.in.read(buf); num=Double.parseDouble(new String(buf).trim(); catch(NumberFormatException e ) System.out.println(“Input Error!.“); mul=mul*num; System.out.println(“The multi is: “+mul); ,命令行參數(shù),標(biāo)準(zhǔn)輸入 System.in對象,標(biāo)準(zhǔn)輸出,2019年7月12日,字符界面輸入輸出(2),import java.io.*; /輸入一個字符串 public class ApplicationLineIn public static void main(String args) String s = “; System.out.print(“Please enter a string:“); try BufferedReader in = new BufferedReader(new InputStreamReader(System.in); s = in.readLine(); catch(IOException e) ; System.out.println(“Youve entered string: “ + s ); ,2019年7月12日,Java Applet圖形界面輸入輸出(1-1),import java.applet.*; import java.awt.*; import java.awt.event.*; public class AppletInOut extends Applet implements ActionListener Label prompt; TextField input,output;,2019年7月12日,Java Applet圖形界面輸入輸出(1-2),public void init() prompt = new Label(“請輸入您的名字:“); input = new TextField(6); output = new TextField(20); add(prompt); add(input); add(output); input.addActionListener(this); public void actionPerformed(ActionEvent e) output.setText(input.getText()+“,歡迎你“); ,2019年7月12日,Java Application圖形界面輸入輸出(1-1),import javax.swing.JOptionPane; /導(dǎo)入Swing包 public class swingDemo public static void main( String args) String firstNumber; String secondNumber; int number1,number2,sum; firstNumber = JOptionPane.showInputDialog(“Enter first integer“); secondNumber = JOptionPane.showInputDialog(“Enter second integer“);,2019年7月12日,Java Application圖形界面輸入輸出(1-2),number1 = Integer.parseInt(firstNumber); number2 = Integer.parseInt(secondNumber); sum = number1 + number2; JOptionPane.showMessageDialog(null,“The sum is “ + sum, “Results“, JOptionPane.PLAIN_MESSAGE); System.exit(0); ,可能會出錯!,2019年7月12日,Java Application圖形界面輸入輸出(2-1),import java.awt.*; /導(dǎo)入AWT包 import java.awt.event.*; public class ApplicationGraphicsInOut public static void main(String args) new FrameInOut(); class FrameInOut extends Frame implements ActionListener Label prompt; TextField input,output; Button btnOK,btnClose;,2019年7月12日,Java Application圖形界面輸入輸出(2-2),FrameInOut() super(“圖形界面的Java Application程序“); prompt = new Label(“請輸入您的名字:“); input = new TextField(6); output = new TextField(20); btnOK = new Button(“OK“); btnClose = new Button(“關(guān)閉“); setLayout(new FlowLayout(); add(prompt); add(input); add(output);add(btn); input.addActionListener(this); btn.addActionListener(this); setSize(300,200); show(); ,2019年7月12日,Java Application圖形界面輸入輸出(2-3),public void actionPerformed(ActionEvent e) if (e.getSource() = btnOK) output.setText(input.getText()+“,歡迎你“); if (e.getSource() = btnClose) dispose(); System.exit(0); ,2019年7月12日,2.5 數(shù)組,2.5.1 一維數(shù)組的定義 1. 一維數(shù)組的定義 type arrayName ; 類型(type)可以為Java中任意的數(shù)據(jù)型,包括簡單類型和復(fù)合類型。 例: int intArray ; Date dateArray;,2019年7月12日,2、一維數(shù)組的初始化 靜態(tài)初始化 int intArray=1,2,3,4; String stringArray=“abc“, “How“, “you“; 動態(tài)初始化 1)簡單類型的數(shù)組 int intArray; intArray = new int5;,2019年7月12日,2)復(fù)合類型的數(shù)組 String stringArray ; String stringArray = new String3; /為數(shù)組中每個元素開辟引用 空間(32位) stringArray0= new String(“How“); /為第一個數(shù)組元素開辟空間 stringArray1= new String(“are“); /為第二個數(shù)組元素開辟空間 stringArray2= new String(“you“); / 為第三個數(shù)組元素開辟空間,2019年7月12日,3、一維數(shù)組元素的引用 數(shù)組元素的引用方式為: arrayNameindex index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開始。 每個數(shù)組都有一個屬性length指明它的長度,例如:intArray.length指明數(shù)組intArray的長度。,2019年7月12日,4、數(shù)組拷貝,拷貝一個數(shù)組到另一個數(shù)組。 System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length); 5、訪問(遍歷)數(shù)組元素 for(type varName : arrayName) System.out.print(varName);,2019年7月12日,數(shù)組應(yīng)用舉例,1、數(shù)組的基本操作: BasicArray.java 2、選擇排序: SequenceSorting.java 3、快速排序:(自學(xué)) Sort.java,2019年7月12日,2.5.2 多維數(shù)組,1、二維數(shù)組的定義 type arrayName ; type arrayName; 2、二維數(shù)組的初始化 靜態(tài)初始化 int intArray =1,2,2,3,3

溫馨提示

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

評論

0/150

提交評論