亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java實驗的心得體會

時間:2022-11-25 02:48:12 其他心得體會 我要投稿
  • 相關(guān)推薦

java實驗的心得體會

  java實驗心得體會篇一:java實驗總結(jié)

java實驗的心得體會

  1. 設(shè)計一個Person類,包含:姓名,年齡,性別。要求:該類至多只能創(chuàng)建一男、一女兩個對象!

  2. 設(shè)計一個測試類Test,創(chuàng)建若干個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') {

  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 class 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. 設(shè)計一個數(shù)據(jù)單元類DataUnit, 它包含學號(Number)和姓名(Name)兩個數(shù)據(jù)成員。

  2. 設(shè)計兩個線程,一個線程往數(shù)據(jù)單元里寫信息,一個線程從數(shù)據(jù)單元里讀信息。要求使用線程同步技術(shù),使得每寫一次就往外讀一次。例如,寫和讀的數(shù)據(jù)序列為:

  Write: 1, Name1

  Read: 1, Name1

  Write: 2, Name2

  Read: 2, Name2

  ...

  package test7;

  class DataUnit{

  int number;

  String name;

  int max;

  boolean flag=false;

  public DataUnit(int number, String name,int max){

  this.name=name;

  this.max=max;

  }

  public synchronized void in(){

  if(flag){

  try{

  wait();

  }

  catch(Exception e){

  }

  }

  System.out.println("Write number:"+(++number)+"write name:"+(number));flag=true;

  notify();

  }

  public synchronized void out(){

  if(!flag){

  try{

  wait();

  }

  catch(Exception e){

  }

  }

  System.out.println("read number:"+(number)+"read name:"+(number));

  flag=false;

  notify();

  }

  }

  class write extends Thread{

  DataUnit x=null;

  public write(DataUnit x){

  this.x=x;

  }

  public void run(){

  while(x.number<x.max){

  x.in();

  }

  }

  }

  class read extends Thread{

  DataUnit 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);

  new write(x).start();

  new read(x).start();

  }

  }

  設(shè)計一個線程Thread類的子類DataThread, 使用DataThread構(gòu)建兩個線程,分別輸出50以內(nèi)的奇數(shù)和偶數(shù),并使兩個線程并發(fā)執(zhí)行。

  package test6;

  class datathread extends Thread{

  private int number;

  String flag;

  public datathread(int num){

  number=num;

  if(number==-2)

  flag="even";

  else

  flag="odd";

  }

  public void run(){

  int result=number;

  System.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);

  datathread thread2=new datathread (-1);

  thread1.start();

  thread2.start();

  System.out.println("main thread ends!");

  }

  }

  1. 設(shè)計一個學生Student類,包含學號(Sno),姓名(Name),所在系(Dept)等屬性。創(chuàng)建若干Student類的對象,添加到一個向量Vector中,并遍歷輸出該向量各元素值。

  package test5;

  import java.util.*;

  public class Student {

  String sno;

  String name;

  String dept;

  public Student(String no,String n,String p){

  this.sno=no;

  this.name=n;

  this.dept=p;

  }

  public String toString(){

  return("sno:"+sno+" name:"+name+" dept:"+dept);

  }

  public static void main(String[] args) {

  Student stu[];

  stu=new Student[3];

  stu[0]=new Student("001","Mary","SS");

  stu[1]=new Student("002","Tom","CS");

  stu[2]=new Student("003","Hellen","IS");

  Vector v=new Vector();

  for(int i=0;i<stu.length;i++){

  v.add(stu[i]);

  }

  Iteratornum=v.iterator();

  while(num.hasNext()){

  System.out.println(num.next());

  }

  }

  }

  2. 已知:哈希表HashTablehTable = new

  HashTable()。編程遍歷hTable,要求寫出兩種方式。 package test5hash;

  import java.util.*;

  import java.lang.Iterable;

  public class Hash {

  public static void main(String[] args) {

  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上機實驗心得體會報告

  北京聯(lián)合大學 信息學院

  “面向?qū)ο蟪绦蛟O(shè)計”課

  程上機實驗報告

  題 目: JAVA上機實驗心得體會

  姓名(學號):專 業(yè): 計算機科學與技術(shù)

  編 制 時 間: 2012年12月19日

  版 本: 1.0.0

  指 導 教 師:北京聯(lián)合大學-信息學院編制

  實驗1 熟悉Java運行環(huán)境

  實驗目的:熟悉JDK環(huán)境和操作,編寫簡單的Java應用程序。

  心得體會:在該實驗中,我碰到的問題是JDK環(huán)境變量的設(shè)置。解決方法是通過查閱資料書和網(wǎng)上搜索相關(guān)解決方法及同學的有力幫助。

  實驗2 選擇語句練習

  實驗目的:正確理解并能夠熟練操作和使用Java的if和switch語句。

  心得體會:我個人感覺有了C的編程基礎(chǔ),if和switch這些簡單的流程控制語句運用起來比較輕松,實現(xiàn)簡單的邏輯運算也跟C非常相近,所以上手比較快。但是在這次程序中,首次涉及到了java程序的數(shù)據(jù)輸入,與C區(qū)別很大。但經(jīng)過老師的講解和查閱相關(guān)資料,基本明白相關(guān)的使用規(guī)則和注意事項。在第二個小題中還涉及到了charAt()方法,經(jīng)查閱JDK文檔,知道charAt()方法返回一個位于提供給它的參數(shù)索引處的字符,如: str.chatAt(0)檢索str中的第一個字符,str.charAt(str.length()-1)檢索最后一個字符。我運用此方法解決了比較字符串間首字母異同的問題。

  實驗3 迭代練習

  實驗目的:正確理解并能夠熟練操作和使用Java的for、while、do..while語句。 心得體會:在該實驗中,我學會了為具體操作選擇最合適的循環(huán)語句及for、while、do..while語句的相互轉(zhuǎn)換使用。最重要的是,明白了JAVA程序中,定義方法中的局部變量時一定要賦初始值,否則編譯不能通過會報錯;但類中的成員變量則不一定需要。如我在實驗3main()方法定義的整型局部變量command,當不初始化則不能通過編譯。原因是局部變量不能有JVM自動賦給相關(guān)的默認值,而成員變量可以。

  實驗4 方法的實現(xiàn)練習

  實驗目的:聲明、定義和調(diào)用方法,理解實參和形參的含義。

  心得體會:在該實驗中,我掌握如何寫方法、調(diào)用方法,并掌握如何向方法中傳遞信息和從方法中返回信息。方法聲明為非void(構(gòu)造方法除外)則需要用return語句返回一個相應類型的返回值。

  實驗5 簡單類型數(shù)組練習

  實驗目的:學習創(chuàng)建簡單類型的數(shù)組,并能用循環(huán)語句處理數(shù)組。

  心得體會:通過該實驗,我學會了如何讓建立簡單類型的數(shù)組,并掌握了將數(shù)組作為方法的傳入?yún)?shù)和返回值。在該實驗中,遇到的問題主要是如何將一個連續(xù)的多位數(shù)在存入數(shù)組時,每個數(shù)組元素只對應改多位數(shù)的一個組成數(shù)。我解決的方法如下:

  for(i=0; i<6; i++){

  n[i] = aa%10; //aa%10的結(jié)果是aa的末尾數(shù),將多位數(shù)aa的末尾數(shù)賦給a[i] aa = (int)aa/10; //對aa/10的結(jié)果強制取整,去掉了aa的末尾數(shù),以便對下一位數(shù)的存數(shù)。

  }

  實驗6 類和對象的練習

  實驗目的:正確理解并能夠熟練操作和使用Java的類、對象和方法。

  心得體會:我學會了如何建立類和對象,分別輸出其中包含的成員值;以及分別引用各方法,實現(xiàn)不同的操作。在該程序中,我進一步了解了如何定義成員方法和成員屬性以及相關(guān)方法的調(diào)用。特別是我掌握了利用構(gòu)造方法對成員屬性賦初始值。值得一提的是,我在相應的程序中運用了toUpperCase方法,經(jīng)查看JDK文檔知道該方法的作用是返回一個所有字母都被轉(zhuǎn)化為大寫字母字符串。

  實驗7 類的實現(xiàn)

  實驗目的:使用統(tǒng)一建模語言(UML)設(shè)計類,并實現(xiàn)類。

  心得體會:通過該實驗,我學會了使用public、private控制訪問及其訪問權(quán)限;體會了static關(guān)鍵字的作用。并對JAVA程序中的類及面向?qū)ο蟮木幊趟枷胗辛烁M一步的了解。

  實驗8 繼承的練習

  實驗目的:正確理解并能夠熟練操作和使用Java類的繼承關(guān)系。

  心得體會:理解了繼承的含義,并使用UML符號設(shè)計了繼承結(jié)構(gòu);掌握了用Java實現(xiàn)繼承關(guān)系;學會了區(qū)分方法重寫和方法重載;并深入理解了abstract 和 final修飾符的作用。用final標記的變量只能賦值一次,標記的類不可被繼承,方法不可被子類重寫。用關(guān)鍵字extends表繼承,例如子類A繼承了父類B則可寫作 class A extends B。在這些概念性(轉(zhuǎn) 載于: :java實驗心得體會)知識點弄明白后,在解決實際問題時,碰到了輸入年月日計算車齡的問題,我的解決辦法如下:

  public int age(int year)

  {int age;

  int a1 = (int)(time/10000); //(int)time/10000是將8位數(shù)表示的生產(chǎn)年月日強制轉(zhuǎn)換成四位數(shù)表示的年

  }

  int a2 = (int)(year/10000); //將當前年月日轉(zhuǎn)換為年 age = a2 - a1 +1;//計算車齡 return age;

  實驗9 抽象類、接口練習

  實驗目的:綜合運用接口,類的知識。

  心得體會:在該實驗中,我掌握了接口定義,以及類實現(xiàn)接口。接口用interface關(guān)鍵字定義,在接口中,可以用abstract是修飾方法的,也可以去掉abstract,編譯時會默認為抽象方法。類實現(xiàn)接口可用implements表示,例如class Circle implements Shape表示,Circle類實現(xiàn)了接口Shape。

  實驗10 多態(tài)練習

  實驗目的:理解并使用面向?qū)ο蟮奶卣鳎憾鄳B(tài)。

  心得體會:在實驗10中,我基本掌握了多態(tài)的句柄、多態(tài)方法的定義。在改程序中,我遇到了要求隨機產(chǎn)生一個圖形的難題,通過網(wǎng)上查閱資料,利用系統(tǒng)函數(shù)Math.random()經(jīng)一系列的運算處理來隨機產(chǎn)生一個圖形解決了該難題,具體的程序如下:

  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()方法產(chǎn)生0.00到if(r == 0) shape = cir; else shape = squ; shape.testShape(shape); //同一條語句產(chǎn)生不同的執(zhí)行結(jié)果,多態(tài)1.00的隨機數(shù),乘2取整后非0即1 性。

  實驗11 多線程處理

  實驗目的:理解線程的基本概念。

  心得體會:通過該實驗,基本能夠理解線程的運行了。學會調(diào)用Thread類中的系統(tǒng)函數(shù)以及掌握這些函數(shù)的作用是難點, setName()是設(shè)置線程名字,start()是開辟一條新線程,Thread.currentThread().getName()是獲得正在執(zhí)行的線程的名字,Thread.currentThread().getId()是thread類中返回該線程的標識符的方法,Thread.currentThread().getPriority()是thread類中返回線程的優(yōu)先級的方法。

  實驗12 I/O及文件處理

  實驗目的:掌握并使用Java中的I/O和文件。

  心得體會:對于該實驗,由于比較難,只是基本掌握了文件讀寫的方法和規(guī)則,還有待17周JAVA實訓時繼續(xù)攻堅克難。

  結(jié)語:在這一系列的實驗中,我基本掌握了Java的編程規(guī)則、知識要點和一些小技巧,特別是對面向?qū)ο蟮木幊趟枷牒惋L格有了進一步的認識和體會。同時,因正確的編出程序而帶來的成就感讓我對編程更加感興趣。對于在這些實驗過程中,請教老師、同學互助、查閱資料等基本的學習方式,使我更加領(lǐng)悟到集體和團隊的力量,也樹立了敢于攻堅的信心。

  java實驗心得體會篇三:JAVA實訓心得體會

  JAVA實訓心得

  在本學期的二周時間內(nèi),我們在學校機房進行了為期二周的JAVA實訓,F(xiàn)在即將結(jié)束了,回首本學期的java學習,重點還是在學習概念等一些常識性的東西,也學到平常在課堂中沒有學到的東西,在JAVA API中又多認識了幾種類,使我對JAVA產(chǎn)生了濃厚的興趣。兩周的時間說長也不長,在這兩周中,我們的實訓任務是倉庫管理系統(tǒng),在演示過程中,并沒有覺得它有很難,但在實際編程過程中,卻遇到了各種各樣的錯誤,這也多虧了老師的指點和班級同學的幫忙,使我一步步克服了實訓過程中遇到的困難。雖然我所做的系統(tǒng)并沒有實現(xiàn)所有功能,但是我覺得自己進步了,很多原來都不懂的東西現(xiàn)在都已經(jīng)了解了,也培養(yǎng)了我的團隊合作精神,讓我感受到了集體的溫暖。實訓的過程與課堂上的講課比,更為有趣,因為可以真正的自己動手操作,使我對老師上課所講的內(nèi)容有了更深一步的了解,使我在以后的編程中可以靈活運用。我期待以后有更多類似的實訓,使我們可以多掌握一項技能,也可以讓我們在以后找工作中可以有更多的實踐經(jīng)驗。學知識可不能憑自己的愛好和一時興趣,要一步一個腳印,認認真真,踏踏實實,理論與實踐相結(jié)合,在扎實掌握課本實例和內(nèi)容之后,有一定的擴展閱讀和課外學習,充分全面的了解JAVA的應用和擴展運用。

  在我所學的語言當中,我自認為JAVA是一門比較強大的面向?qū)ο蟮木幊陶Z言,不僅僅因為它的跨平臺性,更多的是因為它的靈活多變

  和實用性較強,可以說比較的經(jīng)典和強悍。所以學好java語言有很大的用處,這次實訓,我們更多學到的是不懂就問和自己應該盡自己的全力去嘗試,哪怕失敗,只要自己盡自己的全力,和身邊同學一起探討而不是抄襲,團結(jié)合作,發(fā)揮團隊意識,最后在自己的努力下,終于運行成功,這種成就感美不可言,心情愉悅至極。

  最后終于要結(jié)束了,大家都有種釋懷的感覺,當然我想我更多的是興奮和自己掌握了知識之后的飽滿感,學知識就像吃東西一樣,吃飽了就應該好好的消化。要不斷的溫習和運用,做到舉一反三,將所學知識充分融入到平時的學習生活中去,為以后的工作做好堅實的基礎(chǔ)。感謝學校和老師能夠為我們提供這次機會,讓我們更好的掌握和了解JAVA這門語言!

【java實驗的心得體會】相關(guān)文章:

java語言程序設(shè)計實驗報告10篇12-08

java培訓的心得體會04-01

java培訓的心得體會12-21

java實習心得體會11-04

java培訓心得體會05-07

java實訓心得體會02-25

java實訓心得體會03-08

JAVA實訓心得體會12-29

Java與Java web有什么不同02-23

Java與Java web有什么不同01-22