




已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
JAVA 語言,第2講 JAVA語言基礎,2019年7月12日,上一講回顧,Java發(fā)展 Java特點 面向程序設計基本概念 Java程序結構 Java體系結構 JDK及Java程序編譯與運行方法,2019年7月12日,學習要點,掌握各種簡單數(shù)據(jù)類型的使用 掌握運算符和表達式的使用 掌握流程控制語句 分支語句 循環(huán)語句 掌握Java程序簡單的輸入輸出方法 Java數(shù)組的使用方法,2019年7月12日,2. 1 數(shù)據(jù)類型,Java數(shù) 據(jù)類型,基本數(shù)據(jù)類型,字符型(char),布爾類型(boolean),復合數(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ù)類型 關鍵字 占用比特數(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 標識符(區(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 不能轉化為 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ù)),特殊字符 引用方法 對應Unicode碼 意義 b u0008 回退 t u0009 水平制表符tab n u000a 換行 r u000d 回車 “ u0022 雙引號 u0027 單引號 u005c 反斜線,2019年7月12日,2.1.4變量類型轉換,短類型 - 長類型:默認 長類型 - 短類型:強制轉換 例: int a ; long b ; b = a ; a = ( int ) b ;,2019年7月12日,2.2 JAVA的運算符,算術運算符 關系運算符 邏輯運算符 位運算符 其他 三目條件;合并 運算符的優(yōu)先級 注釋,2019年7月12日,JAVA的運算符(續(xù)),2.2.1 算術運算符 雙目運算符 +,/,%(取余) +號:可連接字符串 “He“+“l(fā)lo“為“Hello“ 單目運算符(自運算符) +,- -,運算符的位置決定自運算的順序 a=3,b=5; c=(a+)*b; a=?,c=? -,求相反數(shù),2019年7月12日,JAVA的運算符(續(xù)),2.2. 2 關系運算符 對兩運算量大小關系的比較,結果是布爾量 ,=, B | f(A) 簡潔運算符:&,| A B | f(A) 單目:?。ǚ瘢?2019年7月12日,注意區(qū)別簡潔與,&,如果其前面的表達式為假,則不再計算其后面的表達式,(a=7,b=8,c=10,d=12,x=false),boolean x=+ab+,(a=7,b=8,c=10,d=12,x=false),&,不管其前面的表達式是什么,都計算其后面表達式,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=表達式A?表達式B:表達式C A為真,返回表達式B A為假,返回表達式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的流程控制語句,結構化程序設計的三種基本控制語句 順序 分支 循環(huán),按語句書寫的先后順序執(zhí)行,在若干路徑中有條件地擇一執(zhí)行,當某條件成立時,反復執(zhí)行一段代碼,2019年7月12日,2.3.1 分支(選擇)語句,IF語句 if(條件表達式)語句組; if(條件表達式)語句組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 多分支開關語句,SWITH語句 switch(表達式) case 判斷值1:語句組1; case 判斷值2:語句組2; default:語句組n; 根據(jù)表達式取值的不同轉向不同的分支 每個case分支都只是入口點:break 語句,2019年7月12日,2.3.3 JAVA的循環(huán)語句,1. while語句 當型循環(huán):while(表達式) 語句組; 執(zhí)行過程: 先計算表達式 若為真則執(zhí)行語句組,并轉回再計算表達式 若為假 則跳出循環(huán),執(zhí)行后面的語句。,2019年7月12日,JAVA的循環(huán)語句(續(xù)),2. do-while語句 直到型循環(huán): do 語句 while(表達式); 執(zhí)行過程: 先執(zhí)行語句,再計算表達式 若為真則轉回再執(zhí)行語句,若假則跳出循環(huán) 循環(huán)體至少執(zhí)行一次。,2019年7月12日,JAVA的循環(huán)語句(續(xù)),3. for 語句 當型循環(huán),功能最強、使用最多、最靈活 for ( 表達式1;表達式2;表達式3) 語句組; 表達式1:循環(huán)變量賦初值,可使用外部沒有定義的循環(huán)變量 表達式2:循環(huán)條件 表達式3:循環(huán)變量修正,2019年7月12日,JAVA的循環(huán)語句(續(xù)),2019年7月12日,4. 循環(huán)語句中途退出,Java沒有goto語句 break語句: 不帶標號break 語句 從循環(huán)體內(nèi)跳出至后面語句,結束當前循環(huán)。 跳出當前循環(huán)體,不是跳出當前大括號對。 循環(huán)嵌套時,break 語句只跳出當前循環(huán)。 帶標號的break語句 采用 label: 的形式定義標號 跳出標號標志的循環(huán)體,2019年7月12日,循環(huán)語句中途退出(續(xù)),continue 語句 不帶標號的continue 跳過本輪循環(huán)剩余語句,直接進入當前循環(huán)體 的下一輪。 帶標號的continue 跳過循環(huán)剩余語句,直接進入標號所指的循環(huán) 體的下一輪循環(huán)。 循環(huán)的正常退出途徑:符合結束條件,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對象進行輸出。 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ù),標準輸入 System.in對象,標準輸出,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; /導入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.*; /導入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(“關閉“); 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ù)型,包括簡單類型和復合類型。 例: 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)復合類型的數(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ù)組下標,它可以為整型常數(shù)或表達式,下標從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ù)組應用舉例,1、數(shù)組的基本操作: BasicArray.java 2、選擇排序: SequenceSorting.java 3、快速排序:(自學) 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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年音樂文化與藝術鑒賞考試試卷及答案
- 2025屆河北省永清縣英語七下期末達標檢測試題含答案
- 10.2《歸去來兮辭+并序》課件 統(tǒng)編版高中語文選擇性必修下冊
- 1.1中華人民共和國成立前各種政治力量 課件 高中政治統(tǒng)編版必修三政治與法治
- 2025年法律文書寫作與分析考試卷及答案
- 2025年電子商務法則與應用考試題及答案
- 2025年動物醫(yī)學專業(yè)實操能力考試卷及答案
- 2025年電商運營與管理崗位考試題及答案
- 2025年財務分析師考試試題及答案
- 2025年財務風險管理與控制基礎知識試題及答案
- 加油站有限空間安全警示牌
- 安全員的任職條件及職責
- 資產(chǎn)評估收費管理辦法(2023)2914
- 出師表標準注音版修正版
- 孤獨癥康復教育人員上崗培訓練習題庫及答案
- 籃球比賽記錄表A4版
- 機械設備投入計劃及保證措施
- 小兒清熱止咳口服液產(chǎn)品知識-課件
- 鋼 筋 檢 查 記 錄 表(鋼筋加工及安裝)
- 附件9:未取得國外國籍的聲明
- 一般自我效能感量表(GSES)
評論
0/150
提交評論