




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Java程序設(shè)計總復(fù)習(xí)題1、編寫一個Java程序,用if-else語句判斷某年份是否為閏年。(分支)//ProgrammeNameLeapYear.javapublicclassLeapYear{publicstaticvoidmain(Stringargs[]){intyear=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0&&year%100!=0)||(year%400==0))System.out.println(year+"年是閏年。");elseSystem.out.println(year+"年不是閏年。");}}//if-else語句2、編寫一個Java程序在屏幕上輸出1!+2!+3!+……+10!的和。(循環(huán))//programmenameForTest.javapublicclassForTest{publicstaticvoidmain(Stringargs[]){inti,j,mul,sum=0;for(i=1;i<=10;i++){mul=1;for(j=1,j<=i;j++){mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!=”+sum);}}3、依次輸入10個學(xué)生成績,判斷學(xué)生(優(yōu)秀、良好、中等、及格、不及格)并計算人數(shù)(switch)4、使用冒泡排序(數(shù)組)publicclassBubbleSort{publicstaticvoidmain(String[]args){int[]array={63,4,24,1,3,5};BubbleSortsorter=newBubbleSort();sorter.sort(array);}//冒泡排序publicvoidsort(int[]array){for(inti=1;i<array.length;i++)for(intj=0;j<array.length-1;j++){if(array[j]>array[j+1]){inttemp=array[j];array[j]=array[j+1];array[j+1]=temp;}}showArray(array);}//遍歷數(shù)組,并輸出數(shù)組的元素。publicvoidshowArray(int[]array){for(inti=0;i<array.length;i++){System.out.print(array[i]+"\t");}System.out.println();}}5、實現(xiàn)會員注冊,要求用戶名長度不小于3,密碼長度不小于6,注冊時兩次輸入密碼必須相同(字符串)importjava.util.Scanner;publicclassRegister{Stringname;Stringpassword;StringnewPassword;///////////publicvoidnameExe(){Scannerinput=newScanner(System.in);System.out.println("請輸入用戶名,密碼和驗證密碼");System.out.print("用戶名:");name=input.next();System.out.print("密碼:");password=input.next();System.out.print("驗證密碼:");newPassword=input.next();while(name.length()<3||(password.equals(newPassword)==false)||(password.length()<6)){if(name.length()<3){System.out.println("用戶名不能小于3");}if((password.equals(newPassword)==false)||password.length()<6){System.out.println("兩次輸入密碼不一樣或密碼不能小于6位");}System.out.println("\n"+"請重新輸入");System.out.print("用戶名:");name=input.next();System.out.print("密碼:");password=input.next();System.out.print("驗證密碼:");newPassword=input.next();}System.out.println("注冊成功!");}}publicclassVerify{publicstaticvoidmain(String[]args){Registerm1=newRegister();Exe();}}6、一個景區(qū)根據(jù)游人的年齡收取不同價格的門票。請編寫游人類,根據(jù)年齡段決定能夠購買的門票價格并輸出,然后寫出測試類測試該類(類的基本實現(xiàn))publicclassTourist{intage;intticketPrice;publicvoidsetAge(intage){this.age=age;}publicvoidticket(){if(age>0&&age<12)ticketPrice=20;elseif(age<20)ticketPrice=40;elseif(age<50)ticketPrice=80;elseticketPrice=35;System.out.println("門票價格:"+ticketPrice);}}/////importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Touristt1=newTourist();System.out.print("請輸入年齡:");t1.setAge(input.nextInt());t1.ticket();}}7、(1)編寫一個圓類Circle,該類擁有:一個成員變量Radius(私有,浮點型);//存放圓的半徑;兩個構(gòu)造方法Circle()//將半徑設(shè)為0//創(chuàng)建Circle對象時將半徑初始化為rCircle(doubler)三個成員方法doublegetArea()//獲取圓的面積doublegetPerimeter()//獲取圓的周長voidshow()//將圓的半徑、周長、面積輸出到屏幕(2)編寫一個圓柱體類Cylinder,它繼承于上面的Circle類。還擁有:一個成員變量doublehight(私有,浮點型);//圓柱體的高;構(gòu)造方法Cylinder(doubler,doubleh)//創(chuàng)建Circle對象時將半徑初始化為r成員方法doublegetVolume()voidshowVolume()//獲取圓柱體的體積//將圓柱體的體積輸出到屏幕編寫應(yīng)用程序,創(chuàng)建類的對象,分別設(shè)置圓的半徑、圓柱體的高,計算并分別顯示圓半徑、圓面積、圓周長,圓柱體的體積。//ProgrammeNameTestCylinder.javaclassCircle{//定義父類--園類privatedoubleradius;//成員變量--園半徑Circle(){//構(gòu)造方法radius=0.0;}Circle(doubler){//構(gòu)造方法radius=r;}doublegetPerimeter(){return2*Math.PI*radius;}//成員方法--求園周長//成員方法--求園面積doublegetArea(){returnMath.PI*radius*radius;}voiddisp(){//成員方法--顯示園半徑、周長、面積System.out.println("圓半徑="+radius);System.out.println("圓周長="+getPerimeter());System.out.println("圓面積="+getArea());}}classCylinderextendsCircle{//定義子類--圓柱類privatedoublehight;//成員變量--園柱高Cylinder(doubler,doubleh){//構(gòu)造方法super(r);hight=h;}publicdoublegetVol(){//成員方法--求園柱體積returngetArea()*hight;}publicvoiddispVol(){//成員方法--顯示園柱體積System.out.println("圓柱體積="+getVol());}}publicclassTestCylinder{//定義主類publicstaticvoidmain(String[]args){//主程入口CircleCi=newCircle(10.0);//生成園類實例Ci.disp();//調(diào)用園類的方法CylinderCyl=newCylinder(5.0,10.0);//生成圓柱類實例Cyl.disp();//調(diào)用父類方法//調(diào)用子類方法Cyl.dispVol();}}8、編寫一個Java應(yīng)用程序,從鍵盤讀取用戶輸入兩個字符串,并重載3個函數(shù)分別實現(xiàn)這兩個字符串的拼接、整數(shù)相加和浮點數(shù)相加。要進行異常處理,對輸入的不符合要求的字符串提示給用戶,不能使程序崩潰。(異常處理)//programmenameStrinput.javaimportjava.io.*;publicclassStrinput{publicstaticvoidmain(Stringargs[]){Strings1=null,s2=null,ss,si,sf;inti1,i2;floatf1,f2;BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));try{System.out.print("輸入第一個字符串:");s1=strin.readLine();System.out.print("輸入第二個字符串:");s2=strin.readLine();}catch(Exceptione){System.out.println(e.getMessage());}i1=Integer.parseInt(s1);i2=Integer.parseInt(s2);f1=Float.parseFloat(s1);f2=Float.parseFloat(s2);ss=strAdd(s1,s2);si=strAdd(i1,i2);sf=strAdd(f1,f2);System.out.println("輸入的二個字符串相加結(jié)果為:"+ss);System.out.println("輸入字符串轉(zhuǎn)換為整數(shù)相加結(jié)果為:"+si);System.out.println("輸入字符串轉(zhuǎn)換為浮點數(shù)相加結(jié)果為:"+sf);}staticStringstrAdd(Stringstr1,Stringstr2){returnstr1+str2;}staticStringstrAdd(intint1,intint2){returnString.valueOf(int1+int2);}staticStringstrAdd(floatflt1,floatflt2){returnString.valueOf(flt1+flt2);}}9、應(yīng)用FileInputStream類,編寫應(yīng)用程序,從磁盤上讀取一個Java程序,并將源程序代碼顯示在屏幕上。(被讀取的文件路徑為:E:/myjava/Hello.java)//ProgrammeNameFISDemo.javaimportjava.io.*;publicclassFISDemo{publicstaticvoidmain(Stringargs[]){byte[]buf=newbyte[2056];try{FileInputStreamfileIn=newFileInputStream("e:/myjava/Hello.java");intbytes=fileIn.read(buf,0,2056);Stringstr=newString(buf,0,bytes);System.out.println(str);}catch(Exceptione){e.printStackTrace();}}10、編寫一個Java程序?qū)?dāng)100,101,102,103,104,105個數(shù)以數(shù)組的形式寫入到Dest.txt文件中,并以相反的順序讀出顯示在屏幕上。(文件)importjava.io.*;publicclassIODemo{publicstaticvoidmain(Stringargs[]){intdata[]={100,101,102,103,104,105};int[]t=newint[200];try{//Filefile=newFile("dest.txt");DataOutputStreamout=newDataOutputStream(newFileOutputStream("dest.txt"));for(inti=0;i<data.length;i++)out.writeInt(data[i]);寫入out.close();DataInputStreamin=newDataInputStream(newFileInputStream("dest.txt"));//先讀出來再倒序輸出for(inti=0;i<data.length;i++){t[i]=in.readInt();}for(inti=data.length-1;i>=0;i--){System.out.print(""+t[i]);}/*for(inti=data.length-1;i>=0;i--){t=in.readInt(data[i]);System.out.print(""+t);}*/System.out.println();in.close();}catch(IOExceptione){System.out.println(e.getMessage());}}}11、編寫一個Java程序?qū)崿F(xiàn)多線程,在線程中輸出線程的名字,隔300毫秒輸出一次,共輸出20次。//programmenameTestThread;//聲明一個子線程類Threaddemo;classThreadDemoextendsThread{publicThreadDemo(Stringstr){super(str);}publicvoidrun(){for(inti=0;i<20;i++){System.out.print(“”+this.getName());Try{Sleep(300);}catch(InterruptedExceptione){System.out.println(e.getMessage());Return;}}System.out.println(“/end”);}}publicclassTestThread{publicstaticvoidmain(Stringargs[]){ThreadDemothread1=newThreadDemo(“T1”);ThreadDemothread2=newThreadDemo(“T2”);ThreadDemothread3=newThreadDemo(“T3”);thread1.start();thread2.start();thread3.start();}}10.編寫程序,在屏幕上顯示帶標(biāo)題的窗口,并添加一個按鈕。當(dāng)用戶單擊按鈕時,結(jié)束程序。(窗體編程)//ProgrammeNameButtonEventDemo.javaimportjavax.swing.*;importjava.awt.event.*;publicclassButtonEventDemoextendsJPanelimplementsActionListener{protectedJButtonb1;//聲明一個按鈕對象publicButtonEventDemo(){//構(gòu)造方法ImageIconButtonIcon=newImageIcon("images/green.png");//創(chuàng)建按鈕的圖標(biāo)對象b1=newJButton("退出按鈕",ButtonIcon);//生成按鈕對象b1.setMnemonic(KeyEvent.VK_E);//設(shè)置b1的助記符是Alt+Eb1.setToolTipText("這是退出按鈕。");//設(shè)置按鈕提示條this.add(b1);//往面板對象中加載按鈕b1.addActionListener(this);//本類對象注冊為按鈕的事件監(jiān)聽器}publicvoidactionPerformed(ActionEvente){//按鈕事件響應(yīng)方法System.exit(0);//按b1則退出主程序}privatestaticvoidcreateGUI(){//創(chuàng)建窗體JFrame.setDefaultLookAndFeelDecorated(true);//設(shè)置java隱含觀感JFrameframe=newJFrame("按鈕測試");//生成應(yīng)用程序主窗體frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置關(guān)閉時隱含操作ButtonEventDemoCPane=newButtonEventDemo();//生成主類對象--面板CPane.setOpaque(true);//面板要求不透明frame.setContentPane(CPane);//設(shè)置主類對象為主窗體的內(nèi)容面板frame.pack();//主窗體緊縮顯示frame.setVisible(true);//設(shè)置主窗體可見}publicstaticvoidmain(String[]args){//將createGUI()列入線程javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createGUI();}});}}12、定義一個表示學(xué)生信息的類Student,要求如下:(有關(guān)類的編程)(1)類Student的成員變量:sNO表示學(xué)號;sName表示姓名;sSex表示性別;sAge表示年齡;sJava:表示Java課程成績。(2)類Student帶參數(shù)的構(gòu)造方法:在構(gòu)造方法中通過形參完成對成員變量的賦值操作。(3)類Student的方法成員:getNo():獲得學(xué)號;getName():獲得姓名;getSex():獲得性別;getAge()獲得年齡;getJava():獲得Java課程成績(4)根據(jù)類Student的定義,創(chuàng)建五個該類的對象,輸出每個學(xué)生的信息,計算并輸出這五個學(xué)生Java語言成績的平均值,以及計算并輸出他們Java語言成績的最大值和最小值。//PragrammenameStudent;publicclassStudent{StringsNO,sName,sSex;intsAge,sJava;publicStudent(StringXH,StringXM,StringXB,intNL,intXF){super();sNO=XH;sName=XM;sSex=XB;sAge=NL;sJava=XF;}publicStringgetNO(){returnsNO;}publicStringgetName(){returnsName;}publicStringgetSex(){returnsSex;}publicintgetAge(){returnsAge;}publicintgetJava(){returnsJava;}publicstaticvoidmain(String[]args){Student[]st=newStudent[5];st[0]=newStudent("09zc01","張三","男",19,94);st[1]=newStudent("09zc02","李四","男",20,85);st[2]=newStudent("09zc03","王五","女",18,96);st[3]=newStudent("09zc04","趙六","男",17,90);st[4]=newStudent("09zc05","楊七","女",21,88);intmax=0,min=100,sum=0;System.out.println("學(xué)生信息:");for(inti=0;i<st.length;i++){if(st[i].sJava<min)min=st[i].sJava;if(st[i].sJava>max)max=st[i].sJava;sum=sum+st[i].sJava;System.out.println("學(xué)生編號:"+st[i].getNO()+",姓名:"+st[i].getName()+",性別:"+st[i].getSex()+",年齡:"+st[i].getAge()+",Java課學(xué)分:"+st[i].getJava());}System.out.println();System.out.println("共有學(xué)生:"+st.length+",平均成績:"+sum/st.length);System.out.println("最小學(xué)分:"+min+",最大學(xué)分:"+max);}}Java基礎(chǔ)1.九種基本數(shù)據(jù)類型的大小,以及他們的封裝類2.Switch可以用的參數(shù)種類.3.Object有哪些公用方法?4.HTTP緩存.5.Java的四種引用,強弱軟虛,用到的場景.6.Hashcode的作用以及原理,Hash的算法:開放地址法和鏈地址法的對比.Hash擴容及加載因子的介紹.rehash過程等.7.ArrayList,LinkedList,Vector的區(qū)別.8.String,StringBuffer與StringBuilder的區(qū)別.9.Map,Set,List,Queue,Stack的特點與用法.10.HashMap和HashTable的區(qū)別.要深層理解,不只是線程安全,還有Hash算法的區(qū)別.11.HashMap和ConcurrentHashMap的區(qū)別,HashMap的底層源碼.12.TreeMap,HashMap,LindedHashMap的區(qū)別.13.Collection包結(jié)構(gòu),與Collections的區(qū)別.14.trycatchfinally,try里有return,finally還執(zhí)行么?15.Excption與Error包結(jié)構(gòu).非檢查異常你遇到過哪些情況,檢查異常你遇到過哪些情況.16.Java面向?qū)ο蟮娜齻€特征與含義.以及面向?qū)ο蟮奈鍌€原則.17.Override和Overload的含義去區(qū)別.18.Interface與abstract類的區(qū)別,應(yīng)用場景.19.Staticclass與nonstaticclass的區(qū)別.20.java多態(tài)的實現(xiàn)原理.21.實現(xiàn)多線程的兩種方法:Thread與Runable.以及wait,join,notify等的使用.22.線程同步的方法:sychronized,lock,reentrantLock,Condition等.23.鎖的等級:方法鎖,對象鎖,類鎖.24.寫出生產(chǎn)者消費者模式.用阻塞隊列和不用的情況.25.ThreadLocal的設(shè)計理念與作用.26.ThreadPool用法與優(yōu)勢.27.Concurrent包里的其他東西:ArrayBlockingQueue,CountDownLatch等等.28.wait()和sleep()的區(qū)別.29.foreach與正常for循環(huán)效率對比.30.JavaIO.31.反射的作用于原理.32.泛型常用特點.33.XML與JSON的對比.34.Java與C\++對比.35.設(shè)計模式的六大原則.總開閉原則.36.常用設(shè)計模式的DEMO和介紹:單例,工廠,適配器,責(zé)任鏈,觀察者等等.37.Servlet非常重要,要完整的說出聲明周期.這個我推薦大家多百度看大牛博客文檔,比看書快.JVM1.內(nèi)存模型以及分區(qū),需要詳細到每個區(qū)放什么.2.堆里面的分區(qū):Eden,survivalfromto,老年代,各自的特點.3.對象創(chuàng)建方法,對象的內(nèi)存分配,對象的訪問定位.4.GC的兩種判定方法:引用計數(shù)與引用鏈.5.GC的三種收集方法:標(biāo)記清除,標(biāo)記整理,復(fù)制算法的原理與特點,分別用在什么地
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)工業(yè)廠房買賣合同范本
- 合同范本彩鋼棚
- 公家車庫出租合同范本
- 發(fā)廊股東協(xié)議合同范本
- 北京中開合同范本
- 合建房合同范本
- 勞動合同范本企業(yè)
- 從化醫(yī)院食堂承包合同范本
- 項目合作定金合同范本
- 合同范本范本
- 六年級上冊英語教案-Culture 2 Going Green 第二課時 廣東開心英語
- 警察叔叔是怎樣破案的演示文稿課件
- 2019石景山初三一模語文試題及答案
- 外固定架課件
- 尿液有形成分形態(tài)學(xué)檢查與臨床意義課件
- 保密風(fēng)險評估報告
- 09式 新擒敵拳 教學(xué)教案 教學(xué)法 圖解
- CAD術(shù)語對照表
- 《橋梁工程計算書》word版
- 學(xué)術(shù)論文的寫作與規(guī)范課件
- 香港牛津新魔法Newmagic3AUnit4Mycalendar單元檢測試卷
評論
0/150
提交評論