20165228 2017-2018-2 《Java程序設計》第2周學習總結

20165228 2017-2018-2 《Java程序設計》第2周學習總結

教材學習內容總結

  • 標識符:名字
    組成:字母/下劃線/美圓符號或數字
    注意:標識符的第一個字符不能是數字字符,且標識符不能是Java關鍵字以及ture、false和null
  • Unicode字符集
  • 關鍵字:有特殊用途,例如int、double、float、class
    基本數據類型:
  • 邏輯類型:boolean(只有true或者false)
  • 整數類型:byte、short、int、long
    其區別:取值範圍不一樣,佔有內存空間不一樣。
    byte -128~+127 1字節
    short
    int
    long 8字節
  • 字符類型:char
    賦值:char c = ‘ XX ’ ; XX須要時unidode字符集裏的字符
    轉化:(int)‘c’ 指的是將字符c轉化爲int類型表示
    轉義:「\u+地址(16進制)」表示位置上的字符
    浮點類型:float(8位有效)、double(16位有效)
    賦值:float m =12.123456f;
    double n =12.12345678901234;
    注意:精度從低到高的排序是:byte、short、char、int、long、float、double
    低精度賦值給高精度時須要轉化,高精度賦值給低精度時則不用,但會損失精度
    具體程序中的java:
System.out.println("漢字:"+chinaWord+"的位置:"+(int)chinaWord);

「+」表示首尾相接,輸出的結果爲「漢字:X的位置:xxxx」java

  • 輸入
    步驟(1)建立一個Scanner對象
Scanner reader = new Scanner(System.in);

步驟(2)Scanner對象調用方法讀取用戶鍵盤輸入的數據(等待用戶鍵盤輸入)git

int m =reader.nextInt();

紅標的字類型應一致數組

  • 輸出
System.out.println();
System.out.printf("格式",值列表)

-數組:一些類型相同的變量組成的集合
聲明數組:學習

類型  []  數組名;

測試

類型  數組名[]

例:int [] a
建立數組:spa

數組名 = new 類型[整值];
a = new int [5]

計算一維數組長度(對二維數組使用該命令時顯示的是一維數組的個數):設計

數字名.length

-數組的初始化
一維數組的初始化:調試

int [] 數組名 ={a,b,c,...};

二維數組的初始化:code

int [] [] 數組名 ={ {...}, {...}, {...}, {...}};

在數組生成的同時就已初始化
-數組的引用
即數組自己存放的值
兩個類型相同的數組,一旦兩者具備相同的引用,那麼兩者就具備同樣的單元對象

  • 運算符與表達式
    若是表達式中有雙精度浮點數(double型數據),則按雙精度進行運算
    若是表達式中最高精度是單精度浮點數(float型數據),則按單精度進行運算
    若是表達式中最高精度是long型整數,則按long精度進行運算
    若是表達式中最高精度低於int型整數,則按int精度進行運算
    Java容許把不超過byte,short和char的取值範圍的算術表達式的值賦給byte,short和char型變量
    經過變量給另外一變量賦值時例如x = m + 'a';應寫成
x = (byte)(m + 'a');

instanceof運算符: 類+對象

對象+instanceof+類

檢驗對象是否是該類,如果則輸出ture,若不是則輸出false
-語句概述
方法調用語句:例如System.out.println("Hello");
表達式語句:由一個表達式構成一個語句,即表達式尾加上分號
複合語句:能夠用{ }把一些語句複合起來構成複合語句
空語句:一個分號則是一跳空語句
控制語句:控制語句分爲條件分支語句、開關語句和循環語句
package語句和inport語句:與類、對象有關

  • 條件分支語句
if(條件表達式) {
     //if操做
}
if(條件表達式) {
          //if操做
}
else {
          //if操做
}
if(條件表達式) {
          //if操做
}
else if(條件表達式){
          //else if操做
}
  • switch開關語句(單條件多分支)
switch(表達式){
case 常量值1:
                      若干個語句
                      break;
case 常量值2:
                      若干個語句
                      break;
case 常量值n:
                      若干個語句
                      break;
default:若干語句
  • 循環語句
while (表達式) {
          //循環體
}
  • break和continue語句
    break和continue使用在循環體中。
    break:運行到break時馬上結束整個循環語句
    循環體運行到知足表達式爲止
    continue:運行到continue直接跳出本次循環,進入到下一一次循環中
  • 數組與for語句
    傳統方式:
for(int n=0;n<a.length;n++) {
    System.out.print(a[n]+ " ");
}
System.out.println();
for(int i:a) {
    System.out.print(i+" ");
}
for(聲明循環變量:數組的名字) {
            ...
}

教材學習中的問題和解決過程

  • 問題1:高精度變量賦值給低精度變量爲何可能會損失精度?
  • 問題1解決方案:高精度變量可以賦值的數更多,當其值將大於低精度最大可存儲數值時,低精度變量儲存的值實際上是循環值
  • 問題2:爲何1.5f與1.5不相等?
  • 問題2解決方案:1.5是double型數據,而1.5f是float型數據,1.5與1.5f僅前面float型數據的位數相等,後面的double型比float型數據高的精度就不等了

    代碼調試中的問題和解決過程

  • 問題1:在編譯某個程序時,提示「錯誤:須要class,interface或enum」
  • 問題1解決方案:檢查程序時發現把"{"輸成了中文符號"{"致使調試失敗

    代碼託管


    本週我調整了代碼的文件夾,根據不一樣單元和另外找的代碼分到不一樣文件夾裏,因此本週的代碼數應爲統計的代碼數459減去上週的235,本週實際敲的代碼總行數爲224.
    (statistics.sh腳本的運行結果截圖)

    上週考試錯題總結

  • 錯題及緣由,理解狀況
    錯題:帶包的代碼編譯運行測試
    緣由:敲代碼的時候出錯,而後一直編譯失敗。當時沒有檢查出緣由
    理解狀況:已經掌握帶包的代碼編譯及運行

    學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 25篇 400小時
第一週 235/235 1/1 15/15
第二週 224/459 2/3 15/30
相關文章
相關標籤/搜索