Java和C++的一些區別
讀入輸入:
Scanner in = new Scanner(System.in);
輸出:
System.out.println(x);
java中的比較:
0<a<10 這樣的語句是無效的
而在C/C++中是有效的,但表達的意思數學上的含義不同。
浮點數不能直接比較相等,因為計算機裡浮點數是有誤差的
通常使用 Math.abs(f1 - f2) < 0.00001 這樣的方式
看他們的差是否非常小。
java布林值 boolean c++的叫bool
兩種取值 true和flase
指標:
java裡沒有指標這個東西
java陣列
int[] numbers = new int[100];
<型別>[] <名字> = new <型別> [個數]
個數可以是變數。
//像是C++的動態記憶體分配。
獲取陣列長度
numbers.length
java的陣列和C的陣列有些不同
int[] a = {1,2,3};
int[] b = a;
之後b與a是等價的,管理同一塊記憶體。
對b陣列操作等同於對a陣列操作
Java的迴圈,while、do while、for 迴圈與C++相同。
但是有一個特別的。
通常braek只是退出它所在的那層迴圈。
java在迴圈前加上標籤。break 標籤就能退出標籤標記的迴圈。
OUT:
for ( int i = 1; i < 100; i++) {
for ( int j = 1; j < 100; j++) {
if( j == 10 * i ) {
System.out.println(j);
break OUT;
}
}
}
使用一個標籤,(這裡名字叫OUT,實際使用時自己命名)
標記了外面的迴圈,所以在裡面的迴圈使用break OUT時 也能跳出外層迴圈。
for each 迴圈
for (int k : data){
…
}
用於遍歷陣列,不修改陣列元素的值
格式:
for ( <型別> <變數> : <陣列>) {
…
}