關於java基礎知識的一些小感悟

一,關於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()是默認不讀入回車符的。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章