20165315 第二週學習總結

20165315 第二週學習總結

本週學習中遇到的問題和解決過程

  • 在學習第二章的時候,我在輸入課後練習3.(5)中的程序時,不理解為什麼輸出結果會是如圖:

1293911-20180310182427272-1013389102.png

1293911-20180310182510074-1895952895.png

我認為應該輸出的是40和20。

解決過程: 在仔細學習了有關數組的相關知識後,我認為問題就是理解b[0] = a;這一行代碼的意思,這裏不僅僅是將a這個數組的值賦給了數組b的第一行,而是在執行b[0][1]=b[1][3];這行代碼時,和C語言不同,a數組的值也隨之變化,從而a[1]的值變成了7。

  • 在編寫第二章課後練習4.(1)時,我發現如何編譯都報錯(如圖):

1293911-20180310185133702-273894999.png

1293911-20180310185152903-1320931006.png

解決過程: 我使用的希臘字母是電腦自帶的數學符號中找的,而這個版本的希臘字母實際上與Unicode中的希臘字母不同,故電腦無法在Unicode中找到識別,從而報錯。我在網上找到正規的符號後複製粘貼到代碼中,便可以正常編譯運行了。

  • 在編寫第三章課後練習4.(2)時,我發現無法調用C語言中的sqrt()函數

解決過程: 在網上查找後發現,在Java程序語言中,可以調用Math.sqrt()函數進行運算。

  • 在編寫第三章課後練習4.(5)時,運行時發現結果總是不正確:

1293911-20180310201453930-1896850359.png

1293911-20180310201758902-154439415.png

解決過程:
如圖:

1293911-20180310201915625-1520290819.png

  • 在編寫第三章課後練習4.(6)時,進行編譯時總是出現如圖問題:

1293911-20180310202610317-1695867516.png

解決過程: 經過檢查發現,原來是少了一個右括號...編程的時候太不仔細了...

學習總結

在第二章第三章的學習中,我學到了許多全新的概念,比如:

  • 邏輯類型boolean
  • Java中沒有無符號的byteshortintlong,即不能使用unsigned int m;等符號聲明
  • Java中的char一定是無符號的,但是不能使用unsigned修飾
  • Java不可以在數組的方括號內指定數組元素的個數,且數組屬於引用型變量,聲明數組和創建數組可以一起完成:float boy[] = new float[4];
  • System.out.println(a);輸出的是數組a全部元素的值,System.out.println(""+a)輸出的是數組a的引用
  • 邏輯運算是先確定a的真值,而位運算是先確定a和b的真值,再比較
  • instanceof運算符:左面的操作元是一個對象,右面的是一個類,當左面的對象是右面的類或子類創建的對象是,運算結果為true,否則為false
  • switch語句中表達式的值可以是byteshortintchar型,但不可以是long型數據
  • JDK1.5對for語句的功能給予了擴充,以便更好地遍歷數組:for(聲明循環變量:數組的名字),這種表示方法可以理解為“對於循環變量依次取數組的每一個元素的值”
  • Scanner是JDK1.5新增的一個類,可以使用該類來創建一個對象:Scanner reader = new Scanner(System.in);,然後reader對象調用下列方法:nextBooleannextByte等等,在從鍵盤輸入數據時,經常讓reader對象先調用hasNextXXX()方法等待用户在鍵盤輸入數據,然後再調用nextXXX()方法獲取用户輸入的數據

在本週敲打代碼的過程中,我欣喜的發現我對Java語言更加熟悉了,已經能自行編寫一些簡單的代碼,雖然在編寫的過程中經常犯錯,但我認為在接下來的學習過程中,我一定能有更大的進步。

腳本運行結果的截圖

1293911-20180310213140812-67079404.png

1293911-20180310213158865-1145841763.png

第二週查漏補缺

課下練習無答案,但是有不確定的題

表達式15&250的值為 
A . FF 
B . 0 
C . 255 
D . 1 

這道題我感覺沒有正確選項,正確答案應該是10

下列説法正確的是 
A . Java語言有8種基本數據類型。 
B . 基本數據類型可分為邏輯類型、整數類型、字符類型、浮點類型。 
C . short和Float都屬於基本數據類型。 
D . int a = 0144中的0144是十六進制表示法。

這道題的C選項中Float是可以通過編譯且運行的:

1293911-20180318151023793-293302524.png

所以我不確定Float究竟屬不屬於基本數據類型

在命令行輸入“java demo 3”,下列程序的運行結果為
public class unsigned {
public static void main(String args[]) {
int i = Integer.parseInt(args[0]);
switch(i) {
case 1:System.out.println("Spring");break;
case 2:System.out.println("Summer");break;
case 3:System.out.println("Autumn");break;
case 4:System.out.println("Winter");break;
}
}
} 
A . Spring 
B . Summer 
C . Autumn 
D . Winter 

這道題我也不是很理解,在網上查詢後得知int i = Integer.parseInt(args[0]);這句代碼的意思是args[0]是java中啓動參數的第一個值,在命令行通過鍵盤可以輸入,parseInt(args[0])就是將數組裏的第一個數據轉換成int型,所以鍵盤輸入的3就是第一個數據,i就等於3,不知道是不是這樣理解的

表達式-2 >>> 1的值為 
A . 2^31 – 1 
B . 2^15 – 1 
C . 1 
D . -1 

這道題中>>>的意思是帶符號右移,即從10000010變為01000001,結果為A

在出解析後我會認真學習,補上這些知識漏洞

轉載於:https://www.cnblogs.com/yh666/p/8542160.html