標籤:imp 引用 tee 運行 jpg 字元 組元 java void
教材學習內容總結第二章(一)標識符
注意:
- 標識符由字母、下畫線、貨幣符號和數字組成,長度不受限制。
- 標識符第一個字元不能是數學字元。
- 標識符不能是關鍵字。
- 標識符不能是true、false和null。
- 標識符中的字母區分大小寫。
(二)基礎資料型別 (Elementary Data Type)(重點)- [四大類型]
邏輯類型:boolean(與C語言不同)
整數類型:byte、short、int、long
字元類型:char
浮點類型:float、double
- [相關內容解析]
| 資料類型關鍵字 |
常量 |
變數 |
位元組記憶體 |
資料範圍 |
| 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 [ ][ ];
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型,而且要互不相同
- 迴圈語句:注意與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語言進行編程,自己彷彿找到了開啟另一扇大門的鑰匙,希望自己繼續努力吧。
參考資料
折半尋找法
比較排序法
20165203《Java程式設計》第二周Java學習總結