20165203《Java程序設計》第二週Java學習總結

教材學習內容總結


第二章

(一)標識符

注意:html

  • 標識符由字母、下畫線、美圓符號和數字組成,長度不受限制。
  • 標識符第一個字符不能是數學字符。
  • 標識符不能是關鍵字。
  • 標識符不能是true、false和null。
  • 標識符中的字母區分大小寫。

(二)基本數據類型(重點)

- [四大類型]

邏輯類型:boolean(與C語言不一樣)
整數類型:byte、short、int、long
字符類型:char
浮點類型:float、doublejava

- [相關內容解析]

數據類型關鍵字 常量 變量 字節內存 數據範圍
boolean true、false 使用boolean來聲明
int 123,6000,077,0x3ABC 使用int來聲明 4 -2^31~(2^31-1)
byte 必定範圍內的int型常量 用byte來聲明 1 -128~127
short 必定範圍內的int型常量 使用short來聲明 2 -2^15~2^15-1
long 用後綴L來表示,108L,07123L 使用long來聲明 8 -2^63~2^63-1
char 用單引號括起來的Unicode表中的字符,'A','b' 使用char來聲明 2(無符號位,且無負數char) 0~65535
數據類型 常量 變量 數據所分配字節 數據精度
float 用後綴f或F,不能省略,453.5439f,21379.987F 用float來聲明 4 8位有效數字
double 能夠有後綴d或D,但能夠省略,2389.539d,2318908.987 用double來聲明 8 16位有效數字

(三)數組

1.聲明數組

一維數組:float boy [ ];
二維數組:char cat [ ][ ];git

2.爲數組分配元素

數組名=new 數組元素的類型[數組元素的個數]
boy = new float[4];
或 float boy[] = new float [4];
二維數組:
int mytwo[][];
mytwo = new int [3][4];
或 int mytwo [][] = new int [3][4];算法

3.數組元素的使用

索引從0開始:編程

4.length的使用

一維數組:「數組名.length"的值是數組中元素的個數
二維數組:「數組名.length」的值是它含有的一維數組的個數。
例如:float a[ ] = new float [12];
int b[][] = new int [3][6];
則a.length爲12,b.length爲3;數組

5.數組的初始化

float boy[] = {21.3f,23.89f,2.0f,2.3f,778.98f};
int a[][] = {{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};學習

6.數組的引用(元素的首地址)

兩個相同類型的數組若是有相同的引用,他們就會有徹底相同的元素。設計

public class Example2_4 {
    public static void main(String args[ ]) {
        int a[] = {1,2,3,4};
        int b[] = {100,200,300};
        System.out.println("數組a的元素個數="+a.length);
        System.out.println("數組b的元素個數="+b.length);
        System.out.println("數組a的引用="+a);
        System.out.println("數組b的引用="+b);
        a=b;
        System.out.println("數組a的元素個數="+a.length);
        System.out.println("數組b的元素個數="+b.length);
        System.out.println("a[0]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
        System.out.print("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
    }
}

### (三)運算符與表達式

運算符 結合方向 注意
+ - 從左到右 優先級弱於乘除
* / % 從左到右 優先級強於加減
++x(--x) 先使x的值加1,再使用x的值 x++(x--) 先使用x的值,再使x的值加1
  • 算術混合運算的精度
    排序:byte short char int long fioat double

用法規則:
1.表達式中++有++double型數據++,就按double計算
2.表達式++最高精度是float型數據++,就按float型計算
3.表達式中++最高精度是long型整數++,就按long型計算
4.表達式中++最高精度低於int型整數++,就按int型計算調試

易錯點:容許把不超過byte、short、char的取值範圍的算術表達式的值賦給byte、short、char型變量

- 關係運算符

運算符 備註
> < >= <= 優先級強於==和!=
== != 優先級弱於以上

- 邏輯運算符 和 位運算符

邏輯運算符 備註
&& || ! 鏈接表達式時,表達式的結果必須爲true或false
位運算符 備註
& | ~ ^ 注意逆運算仍然是^
易錯點:注意邏輯運算符的短路性。

- 語句方面

  • Swith語句中「表達式」的值能夠爲byte、short、int、char型
  • case常量也是byte、short、int、char型,並且要互不相同code

  • 循環語句:注意與break和continue的結合性
  • for語句與數組:
    形式:for(聲明循環變量:數組名字) {
    p
    }
    注意:「聲明環境變量」必須是變量聲明,不能夠是使用已經聲明過的變量。

    - 關於類的調用方法:

    由於尚未具體接觸,談一些本身的理解:
    調用next類的話,是爲了讀取用戶輸入的值。
    調用hasNext類的話,是爲了判斷值是否超出範圍。

教材學習中的問題和解決過程
在學習應用舉例時,對於比較排序法和折半查找法有所忘記,我細查了一下。
折半查找法
比較排序法
在課下,我還想把具體C語言中學到的查找方法和排序方法總結一下。

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

Q1:出現了

A:運行時,應爲java <主類名> ,且主類名不要加後綴。隨後便出現告終果

Q2:出現了

A:import java.util.*中util錯拼成了until.並且兩次出現了這樣的問題,之後應引發重視。解決後,運行出正確結果:

代碼託管

腳本運行截圖

其餘(感悟、思考等,可選)

本週學習是Java的語法學習,雖然有了必定的C語言基礎,可是我仍是沒有掉以輕心,仔細回憶Java語法與C語言語法的相同點和不一樣點,並找出了本身C語言的一些漏洞。
能夠說本週收穫頗豐,不只鞏固了C語言的基礎,並且還了解了Java語法,在本身嘗試編程時,本身動腦來設計算法,有時,本身也會嘗試將原來C語言的練習題用Java語言進行編程,本身彷彿找到了開啓另外一扇大門的鑰匙,但願本身繼續努力吧。

參考資料

折半查找法
比較排序法

相關文章
相關標籤/搜索