注意:html
邏輯類型: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位有效數字 |
一維數組:float boy [ ];
二維數組:char cat [ ][ ];git
數組名=new 數組元素的類型[數組元素的個數]
boy = new float[4];
或 float boy[] = new float [4];
二維數組:
int mytwo[][];
mytwo = new int [3][4];
或 int mytwo [][] = new int [3][4];算法
索引從0開始:編程
一維數組:「數組名.length"的值是數組中元素的個數
二維數組:「數組名.length」的值是它含有的一維數組的個數。
例如:float a[ ] = new float [12];
int b[][] = new int [3][6];
則a.length爲12,b.length爲3;數組
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}};學習
兩個相同類型的數組若是有相同的引用,他們就會有徹底相同的元素。設計
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 |
---|
用法規則:
1.表達式中++有++double型數據++,就按double計算
2.表達式++最高精度是float型數據++,就按float型計算
3.表達式中++最高精度是long型整數++,就按long型計算
4.表達式中++最高精度低於int型整數++,就按int型計算調試
易錯點:容許把不超過byte、short、char的取值範圍的算術表達式的值賦給byte、short、char型變量
運算符 | 備註 |
---|---|
> < >= <= | 優先級強於==和!= |
== != | 優先級弱於以上 |
邏輯運算符 | 備註 |
---|---|
&& || ! | 鏈接表達式時,表達式的結果必須爲true或false |
位運算符 | 備註 |
& | ~ ^ | 注意逆運算仍然是^ |
易錯點:注意邏輯運算符的短路性。
case常量也是byte、short、int、char型,並且要互不相同code
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語言進行編程,本身彷彿找到了開啓另外一扇大門的鑰匙,但願本身繼續努力吧。