日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

201521123038 《Java程序设计》 第十周学习总结

發布時間:2025/7/25 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 201521123038 《Java程序设计》 第十周学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

201521123038 《Java程序設計》 第十周學習總結


1. 本周學習總結

1.1 以你喜歡的方式(思維導圖或其他)歸納總結異常與多線程相關內容。


2. 書面作業

本次PTA作業題集異常、多線程

1.finally

題目4-2

1.1 截圖你的提交結果(出現學號)

1.2 4-2中finally中捕獲異常需要注意什么?

  • finally里的代碼無論前方代碼是否拋出異常都會執行
  • 要在finally里面對resource.close()進行異常捕獲
  • 用System.out.println(e)輸出異常信息

2.用異常改進ArrayIntegerStack

題目4-3

2.1 截圖你的提交結果(出現學號)

2.2 實驗總結

  • 要注意top指針的自加和自減,以及數組下標的賦值
  • throws后面要加上相應的異常類型

3.自定義異常

題目5-4

4.1 截圖你的提交結果(出現學號)

4.2 自定義異常有哪幾個關鍵點?

  • 實現異常的方法要thows Exception或自定義異常類型
  • 自定義異常內部要調用super(s)
  • 拋出異常的時候要顯示異常信息,便于使用者了解異常

4.讀取文件并組裝對象

實驗任務書中中的題目3:讀取文件并組裝對象

給出關鍵代碼(需出現你的學號)

  • 賦值
try{a1 = lineScanner.next();//姓名a2 = lineScanner.next();//身份證號a3 = lineScanner.next();//性別a4 = lineScanner.next();//年齡a5 = lineScanner.next();//地址while(lineScanner.hasNext()){//謹防地址只有一段a5 += lineScanner.next(); }System.out.println(a1+a2+a3+a4+a5);p=new User(a1,a2,a3,Integer.parseInt(a4),a5);list.add(p);}catch(NoSuchElementException e)//提示用戶第幾行發生錯誤?發生了什么錯誤?該行的內容是什么?{e.printStackTrace();}catch(NumberFormatException e){e.printStackTrace();}
  • 對List中的Student按照年齡進行排序輸出
Collections.sort(list, (o1,o2)->o1.getAge()-o2.getAge());for(User e:list){System.out.println(e.toString());}
  • 部分調試結果(輸入信息,輸出異常,排序)
  • 截圖可見學號


5.學會使用Eclipse進行調試

觀看相關調試視頻

5.1 簡述使用Eclipse進行調試需要幾步?

  • 根據錯誤提示信息,確定錯誤類型
  • 確定錯誤發生點
  • 使用調試器進行調試

    • 在正確的地方設置斷點
    • 啟動調試模式
    • 用Eclipse專門的debug perspective進行調還是
    • 查看狀態值

5.2 調試時F5, F6, F7快鍵鍵各有什么不同?什么情況該使用哪個快捷鍵?

  • F5(step into):跳入函數內部,要檢查函數內部具體運行時使用
  • F6(step over):跳過某個函數
  • F7(step return):跳出函數,如果函數內部拋出異常跳出的時候會顯示錯誤信息

5.3 除了Eclipse的調試器,你還使用什么方法調試程序?

  • System.out.println通過打印判斷進程,可以用來判斷某段代碼是否進行

5.3 選做:實驗任務書中的題目5:使用Eclipse進行調試中的選做


6.題集多線程

6.1 程序填空3-1、3-2。(截圖提交結果,出現你的學號)

6.2 函數4-1(Thread)、4-2(Runnable)(截圖提交結果,出現你的學號)

6.3 函數4-3(Runnable與匿名內部類)(截圖提交結果,出現你的學號),并使用Labmda表達式改寫。

  • Labmda表達式改寫
Thread t1 = new Thread(()->{System.out.println(mainThreadName);System.out.println(Thread.currentThread().getName());System.out.println(Arrays.toString((new Thread()).getClass().getInterfaces()));});

6.4 實驗總結

  • 運行的時候不用特意去調用run函數

4-2(Runnable)

  • 因為之前沒有main函數的測試代碼,所以花了很長時間
  • 不需要手動輸入單詞,也就是不需要寫輸入單詞的代碼
  • 判斷word是否為null
  • 當word不為null后判斷是否包含“alien”,之后要將word置為null;

7.源代碼閱讀:多線程程序BounceThread

7.1 哪個類是支持多線程的類,它實現了什么接口。這個類做了些什么?

  • BallRunnable
  • 實現了Runnable接口
  • 這個類用于控制小球的行動路線

7.2 Ball.java這個程序只做了兩件事,這兩件事分別是什么?

  • 獲取當前位置的小球的形狀
  • 制定球的移動路線,如果碰到邊緣就反彈

7.3 BallComponent也只做了兩件事,這兩件事分別是什么?

  • 在圖形界面上新建一個球
  • 將小球內部填充

7.4 BounceThread中,什么時候啟動了新線程?

public void addBall(){Ball b = new Ball();comp.add(b);Runnable r = new BallRunnable(b, comp);Thread t = new Thread(r);t.start();}

點擊strat程序會調用addBall,其中t.start()啟動了線程t;

7.5 這個程序是如何實現?一個大致的執行流程是什么?

  • 后臺程序

    • 搭建圖形界面
    • 制定小球的形狀和行動路線,控制步數
  • 圖形界面

    • Start按鈕,點擊,在界面新建小球,按照后臺程序移動
    • Close按鈕,點擊關閉界面

8.購物車系統中的多線程

8.1 購物車系統中可能存在哪些多線程問題?

  • 一個購物系統可以同時有多個用戶登錄,同時對商品進行購買操作

3. 碼云上代碼提交記錄

題目集:異常、多線程(3-1, 3-2, 4-1, 4-2, 4-3)

3.1. 碼云代碼提交記錄

轉載于:https://www.cnblogs.com/sakurai3104/p/6783505.html

總結

以上是生活随笔為你收集整理的201521123038 《Java程序设计》 第十周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。