




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、java實驗的心得體會java實驗心得體會篇一:java實驗總結1. 設計一個Person類,包含:姓名,年齡,性別。要求:該類至多只能創建一男、一女兩個對象!2. 設計一個測試類Test,創建若干個Person類對象,測試是否符合要求。 package test8;class person String name;int age;char sex;static int flag1 = 1, flag2 = 1;private person(String n, int a, char s) name = n;age = a;sex = s;if (s = m) flag1-;if (s = f
2、) flag2-;public static person newperson(String n, int a, char s) if (s = m & flag1 != 0) person p = new person(n, a, s);return p; else if (s = f & flag2 != 0) person p = new person(n, a, s);return p; else return null;public String toString() return (name: + name + age: + age + sex: + sex);public cla
3、ss test public static void main(String args) person p1 , p2 , p3 ;p1= person.newperson(mary, 11, f);p2=person.newperson(tom, 14, m);p3=person.newperson(jane, 13, f);System.out.println(p1);System.out.println(p2);System.out.println(p3);1. 設計一個數據單元類DataUnit, 它包含學號(Number)和姓名(Name)兩個數據成員。2. 設計兩個線程,一個線程往
4、數據單元里寫信息,一個線程從數據單元里讀信息。要求使用線程同步技術,使得每寫一次就往外讀一次。例如,寫和讀的數據序列為:Write: 1, Name1Read: 1, Name1Write: 2, Name2Read: 2, Name2.package test7;class DataUnitint number;String name;int max;boolean flag=false;public DataUnit(int number, String name,int max)=name;this.max=max;public synchronized void in
5、()if(flag)trywait();catch(Exception e)System.out.println(Write number:+(+number)+write name:+(number);flag=true;notify();public synchronized void out()if(!flag)trywait();catch(Exception e)System.out.println(read number:+(number)+read name:+(number);flag=false;notify();class write extends ThreadDataU
6、nit x=null;public write(DataUnit x)this.x=x;public void run()while(x.numberx.max)x.in();class read extends ThreadDataUnit x=null;public read(DataUnit x)this.x=x;public void run()while(x.number=x.max)x.out();public class test7 public static void main(String args) DataUnit x=new DataUnit(0,mary,10);ne
7、w write(x).start();new read(x).start();設計一個線程Thread類的子類DataThread, 使用DataThread構建兩個線程,分別輸出50以內的奇數和偶數,并使兩個線程并發執行。package test6;class datathread extends Threadprivate int number;String flag;public datathread(int num)number=num;if(number=-2)flag=even;elseflag=odd;public void run()int result=number;Syst
8、em.out.println(thread +flag+ starts!);while(result+2=50)result=result+2;System.out.println(an +flag+ number:+result);System.out.println(thread +flag+ ends!);public class Main public static void main(String args) System.out.println(main thread starts!);datathread thread1=new datathread (-2);datathrea
9、d thread2=new datathread (-1);thread1.start();thread2.start();System.out.println(main thread ends!);1. 設計一個學生Student類,包含學號(Sno),姓名(Name),所在系(Dept)等屬性。創建若干Student類的對象,添加到一個向量Vector中,并遍歷輸出該向量各元素值。package test5;import java.util.*;public class Student String sno;String name;String dept;public Student(St
10、ring no,String n,String p)this.sno=no;=n;this.dept=p;public String toString()return(sno:+sno+ name:+name+ dept:+dept);public static void main(String args) Student stu;stu=new Student3;stu0=new Student(001,Mary,SS);stu1=new Student(002,Tom,CS);stu2=new Student(003,Hellen,IS);Vector v=new Vec
11、tor();for(int i=0;istu.length;i+)v.add(stui);Iteratornum=v.iterator();while(num.hasNext()System.out.println(num.next();2. 已知:哈希表HashTablehTable = newHashTable()。編程遍歷hTable,要求寫出兩種方式。 package test5hash;import java.util.*;import java.lang.Iterable;public class Hash public static void main(String args)
12、HashtablehTable = new Hashtable();hTable.put(001, a);hTable.put(002, b);hTable.put(003, c);Iteratori = (Iterator)hTable.keys();while(i.hasNext()int j = i.next();java實驗心得體會篇二:java上機實驗心得體會報告北京聯合大學 信息學院“面向對象程序設計”課程上機實驗報告題 目: JAVA上機實驗心得體會姓名(學號):專 業: 計算機科學與技術編 制 時 間: 2012年12月19日版 本: 1.0.0指 導 教 師:北京聯合大學-信
13、息學院編制實驗1 熟悉Java運行環境實驗目的:熟悉JDK環境和操作,編寫簡單的Java應用程序。心得體會:在該實驗中,我碰到的問題是JDK環境變量的設置。解決方法是通過查閱資料書和網上搜索相關解決方法及同學的有力幫助。實驗2 選擇語句練習實驗目的:正確理解并能夠熟練操作和使用Java的if和switch語句。心得體會:我個人感覺有了C的編程基礎,if和switch這些簡單的流程控制語句運用起來比較輕松,實現簡單的邏輯運算也跟C非常相近,所以上手比較快。但是在這次程序中,首次涉及到了java程序的數據輸入,與C區別很大。但經過老師的講解和查閱相關資料,基本明白相關的使用規則和注意事項。在第二個
14、小題中還涉及到了charAt()方法,經查閱JDK文檔,知道charAt()方法返回一個位于提供給它的參數索引處的字符,如: str.chatAt(0)檢索str中的第一個字符,str.charAt(str.length()-1)檢索最后一個字符。我運用此方法解決了比較字符串間首字母異同的問題。實驗3 迭代練習實驗目的:正確理解并能夠熟練操作和使用Java的for、while、do.while語句。 心得體會:在該實驗中,我學會了為具體操作選擇最合適的循環語句及for、while、do.while語句的相互轉換使用。最重要的是,明白了JAVA程序中,定義方法中的局部變量時一定要賦初始值,否則編
15、譯不能通過會報錯;但類中的成員變量則不一定需要。如我在實驗3main()方法定義的整型局部變量command,當不初始化則不能通過編譯。原因是局部變量不能有JVM自動賦給相關的默認值,而成員變量可以。實驗4 方法的實現練習實驗目的:聲明、定義和調用方法,理解實參和形參的含義。心得體會:在該實驗中,我掌握如何寫方法、調用方法,并掌握如何向方法中傳遞信息和從方法中返回信息。方法聲明為非void(構造方法除外)則需要用return語句返回一個相應類型的返回值。實驗5 簡單類型數組練習實驗目的:學習創建簡單類型的數組,并能用循環語句處理數組。心得體會:通過該實驗,我學會了如何讓建立簡單類型的數組,并掌
16、握了將數組作為方法的傳入參數和返回值。在該實驗中,遇到的問題主要是如何將一個連續的多位數在存入數組時,每個數組元素只對應改多位數的一個組成數。我解決的方法如下:for(i=0; i6; i+)ni = aa%10; /aa%10的結果是aa的末尾數,將多位數aa的末尾數賦給ai aa = (int)aa/10; /對aa/10的結果強制取整,去掉了aa的末尾數,以便對下一位數的存數。實驗6 類和對象的練習實驗目的:正確理解并能夠熟練操作和使用Java的類、對象和方法。心得體會:我學會了如何建立類和對象,分別輸出其中包含的成員值;以及分別引用各方法,實現不同的操作。在該程序中,我進一步了解了如何
17、定義成員方法和成員屬性以及相關方法的調用。特別是我掌握了利用構造方法對成員屬性賦初始值。值得一提的是,我在相應的程序中運用了toUpperCase方法,經查看JDK文檔知道該方法的作用是返回一個所有字母都被轉化為大寫字母字符串。實驗7 類的實現實驗目的:使用統一建模語言(UML)設計類,并實現類。心得體會:通過該實驗,我學會了使用public、private控制訪問及其訪問權限;體會了static關鍵字的作用。并對JAVA程序中的類及面向對象的編程思想有了更進一步的了解。實驗8 繼承的練習實驗目的:正確理解并能夠熟練操作和使用Java類的繼承關系。心得體會:理解了繼承的含義,并使用UML符號設
18、計了繼承結構;掌握了用Java實現繼承關系;學會了區分方法重寫和方法重載;并深入理解了abstract 和 final修飾符的作用。用final標記的變量只能賦值一次,標記的類不可被繼承,方法不可被子類重寫。用關鍵字extends表繼承,例如子類A繼承了父類B則可寫作 class A extends B。在這些概念性(轉 載于: :java實驗心得體會)知識點弄明白后,在解決實際問題時,碰到了輸入年月日計算車齡的問題,我的解決辦法如下:public int age(int year)int age;int a1 = (int)(time/10000); /(int)time/10000是將8位
19、數表示的生產年月日強制轉換成四位數表示的年int a2 = (int)(year/10000); /將當前年月日轉換為年 age = a2 - a1 +1;/計算車齡 return age;實驗9 抽象類、接口練習實驗目的:綜合運用接口,類的知識。心得體會:在該實驗中,我掌握了接口定義,以及類實現接口。接口用interface關鍵字定義,在接口中,可以用abstract是修飾方法的,也可以去掉abstract,編譯時會默認為抽象方法。類實現接口可用implements表示,例如class Circle implements Shape表示,Circle類實現了接口Shape。實驗10 多態練習
20、實驗目的:理解并使用面向對象的特征:多態。心得體會:在實驗10中,我基本掌握了多態的句柄、多態方法的定義。在改程序中,我遇到了要求隨機產生一個圖形的難題,通過網上查閱資料,利用系統函數Math.random()經一系列的運算處理來隨機產生一個圖形解決了該難題,具體的程序如下:public static void main(String args) Circle cir = new Circle(9); Square squ = new Square(4); Shape shape; int r; r = (int)(Math.random()*2);/用Math.random()方法產生0.0
21、0到if(r = 0) shape = cir; else shape = squ; shape.testShape(shape); /同一條語句產生不同的執行結果,多態1.00的隨機數,乘2取整后非0即1 性。實驗11 多線程處理實驗目的:理解線程的基本概念。心得體會:通過該實驗,基本能夠理解線程的運行了。學會調用Thread類中的系統函數以及掌握這些函數的作用是難點, setName()是設置線程名字,start()是開辟一條新線程,Thread.currentThread().getName()是獲得正在執行的線程的名字,Thread.currentThread().getId()是th
22、read類中返回該線程的標識符的方法,Thread.currentThread().getPriority()是thread類中返回線程的優先級的方法。實驗12 I/O及文件處理實驗目的:掌握并使用Java中的I/O和文件。心得體會:對于該實驗,由于比較難,只是基本掌握了文件讀寫的方法和規則,還有待17周JAVA實訓時繼續攻堅克難。結語:在這一系列的實驗中,我基本掌握了Java的編程規則、知識要點和一些小技巧,特別是對面向對象的編程思想和風格有了進一步的認識和體會。同時,因正確的編出程序而帶來的成就感讓我對編程更加感興趣。對于在這些實驗過程中,請教老師、同學互助、查閱資料等基本的學習方式,使我更加領悟到集體和團隊的力量,也樹立了敢于攻堅的信心。java實驗心得體會篇三:JAVA實訓心得體會JAVA實訓心得在本學期的二周時間內,我們在學校機房進行了為期二周的JAVA實訓。現在即將結束了,回首本學期的java學習,重點還是在學習概念等一些常識性的東西,也學到平常在課堂中沒有學到的東西,在JAVA API中又多認識了幾種類,使我對JAVA產生了濃厚的.興趣。兩周的時間說長也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品配送端口管理制度
- 藥店個人健康管理制度
- 藥店店內設備管理制度
- 獲準返回住所管理制度
- 營運中心客服管理制度
- 設備內部職責管理制度
- 設備安全用電管理制度
- 設備故障錄入管理制度
- 設備點檢環節管理制度
- 設備維修報價管理制度
- 人工智能驅動的低功耗優化
- 廣西南寧市(2024年-2025年小學三年級語文)部編版期末考試(下學期)試卷(含答案)
- 湖北省宜昌市2023-2024學年六年級下學期期末檢測數學試題
- 20以內三連加減口算練習題帶括號填空260
- KF 思維技術在合作中解決問題和決策課程要點1
- 《高等數學(第2版)》 高職 全套教學課件
- DB15-T 3495-2024 鎮區國土空間詳細規劃編制規程
- 江西景德鎮市2023至2024學年高一下學期期末考試化學試題附參考答案(解析)
- 四川省綿陽市2023-2024學年高二下學期期末考試生物試題
- 天津市和平區萬全第二小學2024屆四下數學期末考試試題含解析
- 脫硫塔拆除施工方案及流程
評論
0/150
提交評論