實驗8 Java基本類庫_第1頁
實驗8 Java基本類庫_第2頁
實驗8 Java基本類庫_第3頁
實驗8 Java基本類庫_第4頁
實驗8 Java基本類庫_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗8Java基本類庫一、實驗目的 了解Java常用的系統(tǒng)類,包括Object類、數(shù)學函數(shù)類、日期類、隨機數(shù)類以及系統(tǒng)類、基本類型的包裝類等的基本使用方法;理解Java系統(tǒng)類的構(gòu)成。二、實驗要求1.掌握數(shù)學函數(shù)類的使用方法。2.掌握日期類的使用方法。3.掌握常見的基本類型包裝類的基本使用方法。4.熟悉Object類的使用方法。5.掌握與常用類有關(guān)的算法與編程。三、實驗內(nèi)容(一)使用數(shù)學函數(shù)類Math是一最終類含有基本數(shù)學運算函數(shù)如指數(shù)運算對數(shù)運算求平方根三角函數(shù)隨機數(shù)等,可以直接在程序中加Math.前綴調(diào)用。1.使用Math中random()方法產(chǎn)生隨機數(shù)的Math類應用程序mathTest1.java,源程序如下。importjava.util.*;publicclassmathTest1{ publicstaticvoidmain(Stringargs[]){ inti1=(int)(Math.random()*100);//產(chǎn)生大于等于0小于100的隨機數(shù) inti2=(int)(Math.random()*100);//同上 doublei3=Math.random()*100;//產(chǎn)生大于等于0.0小于1.0的隨機數(shù) doublei4=Math.random()*100;//同上 doubled1=Math.sin(Math.toRadians(60.0)); doubled2=Math.log(Math.E); doubled3=Math.pow(2.0,4.0); intr=Math.round(43.6F); System.out.println("i1的隨機數(shù)為"+i1); System.out.println("i2的隨機數(shù)為"+i2); System.out.println("d1的隨機數(shù)為"+i3); System.out.println("d2的隨機數(shù)為"+i4); System.out.println("60弧度的正弦值:Math.sin(Math.toRadians(60.0))="+d1); System.out.println("E的對數(shù)值:Math.log(Math.E)="+d2); System.out.println("2的4次方:Math.pow(2.0,4.0)="+d3); System.out.println("43.6F四舍五入:Math.round(43.6F)="+r); }}2.使用Random類產(chǎn)生隨機數(shù)的Math類應用程序mathTest2.java,源程序如下。importjava.util.*;publicclassmathTest2{ publicstaticvoidmain(Stringargs[]){ Randomr1=newRandom(1234567890L); Randomr2=newRandom(1234567890L); booleanb=r1.nextBoolean();//隨機數(shù)不為0時取真值 inti1=r1.nextInt(100);//產(chǎn)生大于等于0小于100的隨機數(shù) inti2=r2.nextInt(100);//同上 doublei3=r1.nextDouble();//產(chǎn)生大于等于0.0小于1.0的隨機數(shù) doublei4=r2.nextDouble();//同上 doubled1=Math.sin(Math.toRadians(60.0)); doubled2=Math.log(Math.E); doubled3=Math.pow(2.0,4.0); intr=Math.round(43.6F); System.out.println("b的隨機數(shù)不為0時"+b); System.out.println("i1的隨機數(shù)為"+i1); System.out.println("i2的隨機數(shù)為"+i2); System.out.println("d1的隨機數(shù)為"+i3); System.out.println("d2的隨機數(shù)為"+i4); System.out.println("60弧度的正弦值:Math.sin(Math.toRadians(60.0))="+d1); System.out.println("E的對數(shù)值:Math.log(Math.E)="+d2); System.out.println("2的4次方:Math.pow(2.0,4.0)="+d3); System.out.println("43.6F四舍五入:Math.round(43.6F)="+r); }}(二)使用日期類Java提供了3個日期類DateCalendar和ateFormat。其,Date類要用于創(chuàng)建日期對象并獲取日期,Calendar類可獲取和設(shè)置日期,DateFormat類用來設(shè)置日期的格式。Java語言規(guī)定的基準日期為1970.1.100:00:00格林威治(GMT)標準時間,當前日期是由基準日期開始所經(jīng)歷的毫秒數(shù)轉(zhuǎn)換出來的。1.使用日期類的Applet應用程序(1)程序功能:說明3個日期類Date、Calendar和DateFormat的使用方式及顯示的樣式。(2)編寫TestDateCalendar1.java程序文件,源代碼如下。importjava.text.*;importjava.util.*;importjava.awt.*;importjava.applet.*;publicclassTestDateCalendar1extendsApplet{ publicvoidpaint(Graphicsg){ Datetoday; Calendarnow; DateFormatf1,f2; Strings1,s2; today=newDate();//獲取系統(tǒng)當前日期 g.drawString("字符串格式:"+today.toString(),20,20); f1=DateFormat.getInstance();//以默認格式生成格式化器 s1=f1.format(today);//將日期轉(zhuǎn)換為字符串 g.drawString("系統(tǒng)格式:"+s1,20,40); //生成長格式的中國日期格式化器 f1=DateFormat.getDateInstance(DateFormat.LONG,Locale.CHINA); //生成長格式的中國時間格式化器 f2=DateFormat.getTimeInstance(DateFormat.LONG,Locale.CHINA); s1=f1.format(today);//將日期轉(zhuǎn)換為日期字符串 s2=f2.format(today);//將日期轉(zhuǎn)換為時間字符串 g.drawString("中國格式:"+s1+""+s2,20,60); now=Calendar.getInstance();//獲取系統(tǒng)時間 s1=now.get(now.HOUR)+"時"+now.get(now.MINUTE)+"分" +now.get(now.SECOND)+"秒"; g.drawString("調(diào)整前時間:"+s1,20,80); now.set(2004,8,15,9,9,9); today=now.getTime(); g.drawString("調(diào)整后時間:"+today.toString(),20,100); }}(3)編譯程序文件。(4)在Eclipse中運行Applet,顯示結(jié)果如圖10.2所示。圖10.22.在獨立運行的應用程序中使用日期函數(shù)。(1)程序能:補充說明3個日類DateCalendar和DateFormat的用方式及顯示的樣式。(2)編寫TestDateCalendar2.java程序文件,源代碼如下。importjava.util.*;importjava.text.*;publicclassTestDateCalendar2{ publicstaticvoidmain(Stringargs[]){ Datetoday=newDate();//當前日期和時間 SimpleDateFormatsdf; sdf=newSimpleDateFormat("yyyy年MM月dd日hh時mm分ss秒aEEEEE"); System.out.println("當前日期和時間:"+sdf.format(today)); longhms=System.currentTimeMillis();//當前時間的毫秒數(shù) System.out.println("當前時間的毫秒數(shù)="+hms); Datetomorrow=newDate(hms+24*60*60*1000); System.out.println("明天是"+sdf.format(tomorrow)); Calendarnow=Calendar.getInstance(); intyear=now.get(Calendar.YEAR);//年份 intmonth=now.get(Calendar.MONTH)+1;//月份 intday=now.get(Calendar.DATE);//日期 System.out.print("今天是"+year+"年"+month+"月"+day+"日"); intweek=now.get(Calendar.DAY_OF_WEEK);//星期 switch(week){ case1: System.out.println(" 星期日"); break; case2: System.out.println(" 星期一"); break; case3: System.out.println(" 星期二"); break; case4: System.out.println(" 星期三"); break; case5: System.out.println(" 星期四"); break; case6: System.out.println(" 星期五"); break; case7: System.out.println(" 星期六"); break; } }}(3)編譯并運行程序,結(jié)果如圖所示。3.編寫程序首先聲明使用的包名jacky然后創(chuàng)建YMD該類具有兩個成員方法,功能分別為計算今年的年份以及輸出一個帶有年月日的字符串。4.編寫使用包jacky中YMD類的程序,LX.java程序能給定某人姓名與出生日期計算該人年齡并輸出該人姓名年齡,出生日期。程序使用YMD的計算年份的方法來計算年齡。(三)使用向量類Vector大多數(shù)編程語言中的數(shù)組是固定長度的,即數(shù)組一經(jīng)建立就不能在使用過程中改變其長度。Java引入Vector類來創(chuàng)建可以改變長度的變量。Vector被設(shè)計一個能不斷增長的序列,它類似于可變長數(shù)組,但功能更加強大,因為任何類型的對象都可以放入Vector的對象中。通過調(diào)用Vector封裝的方法,可以隨時添加或刪除向量元素,以及增加或縮短向量序列的長度。1.創(chuàng)建使用Vector向量類的應用程序(1程序能創(chuàng)建一個Vector象v先通鍵盤為args[]輸入兩個量然后賦值給對象v,并通過直接方式為其分量賦值。(2)編寫LX8_4.java程序文件,源代碼如下。 importjava.util.*; publicclassLX8_4{ publicstaticvoidmain(Stringargs[]){ Vectorv=newVector(1,1); v.addElement(args[0]);//在向量尾部添加元素 v.addElement(args[1]); v.addElement("3");//在向量尾部添加元素 v.insertElementAt("0",0);//在指定位置插入元素 v.insertElementAt("aaa字符串元素",3); v.setElementAt("4",4);//替換指定位置的元素 v.addElement("5"); System.out.println("第4號元素為:"+v.elementAt(4)); Enumerationenum=v.elements();//枚舉化對象,以便逐個取出元素 StringBufferbuffer=newStringBuffer();//字符串緩沖區(qū) while(enum.hasMoreElements()) buffer.append(enum.nextElement()).append(","); buffer.deleteCharAt(buffer.length()-1); System.out.println("向量v的所有元素:"+buffer.toString()+"\n"); System.out.println("向量v的元素個數(shù)="+v.size()+"v的長度為:"+v.capacity()+"\n"); v.removeAllElements();System.out.println("刪除后元素個數(shù):"+v.size()+" 向量v長度:"+v.capacity()+"\n"); }}2.編譯并運行程序,結(jié)果如圖10.4所示。圖10.4(四)使用基本類型包裝類Java語言是一個面向?qū)ο蟮恼Z言,但是Java中的基本數(shù)據(jù)類型卻是不面向?qū)ο蟮模@在實際使用時存在很多的不便,為了解決這個不足,在設(shè)計類時為每個基本數(shù)據(jù)類型設(shè)計了一個對應的類進行代表,這樣八個和基本數(shù)據(jù)類型對應的類統(tǒng)稱為包裝類(WrapperClass)。包裝類對應表基本數(shù)據(jù)類型包裝類byteBytebooleanBooleanshortShortcharCharacterintIntegerlongLongfloatFloatdoubleDouble1.測試下面程序,掌握包裝類的使用方法publicclassTest1{ publicstaticvoidmain(String[]args){ intn=10; Integerin=newInteger(100); Integerin1=newInteger(n); intm=Value(); System.out.println(in.toString()); System.out.println("m="+m); Integerin2=Integer.valueOf(20); System.out.println(in2.toString()); Strings="123"; intk=Integer.parseInt(s); System.out.println("k="+k); //測試其它數(shù)值類型....... charc='x'; Characterch=newCharacter(c); System.out.println(ch.toString()); charc1=ch.charValue(); System.out.println(c1); System.out.println(Character.isDigit('6')); System.out.println(Character.isLetter('a')); System.out.println(Character.isLetterOrDigit('6')); System.out.println(Character.isLowerCase('a')); System.out.

溫馨提示

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

評論

0/150

提交評論