一,關於for循環的語法規則
1.語法規範
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;
}
只要是符合了規範,不需要在乎表達式到底是什麼內容,只要合法的表達式,就是可運行的。
2.例如下面這個循環:到底可不可以正常運行?
for(System.out.println("a");System.out.println("b");System.out.println("c"))
{
System.out.println("d");
}
結果是不能運行出結果,因爲System.out.println("b"),這個表達式無法判斷真假。
二,java中將兩個數據進行交換
1.使用比較常見的方法,使用temp變量進行交換.
public static void swapNumber() {
int n = 3;
int m = 5;
int temp = n;
n = m;
m = temp;
System.out.println("n=" + n + "\n" + "m=" + m);
}
2.還有一種比較少見,但是效率高的方法,就是使用異或操作
public static void swapNumber() {
int n = 3;
int m = 5;
n = n ^ m;
m = n ^ m;
n = n ^ m;
System.out.println("n=" + n + "\n" + "m=" + m);
}
這種方法是用較少,但是效率高,建議大家可以使用這種方法進行數據交換。
三,關於使用Scanner獲取用戶輸入的小問題
1.大家可以看看如下的代碼:
public static void scannerFuction() {
//定義scanner
Scanner scanner = new Scanner(System.in);
//輸入提示
System.out.println("請輸入整數:");
//獲取整數
int num = scanner.nextInt();
System.out.println("num=" + num);
//輸入提示
System.out.println("請輸入字符串:");
//獲取字符串
String str = scanner.nextLine();
System.out.println("str=" + str);
scanner.close();
}
當我輸入整數後,意想不到的事情發生了,後面的str直接打印出來了,而且值爲空,這到底是什麼原因捏?主要是輸入整數,一會車,scanner.nextLine()將回車符讀入到了str中,因此str沒有獲取輸入。
2.怎麼解決這一問題,只需要修改一行代碼即可。
將String str = scanner.nextLine();改爲String str = scanner.next();
因爲scanner.next()是默認不讀入回車符的。