讀書筆記2006.1.6

1.JAVA中的compareTo方法和strcmp完全類似,你可以使用

if(greeting.compareTo("help")==0).....或者用s.quals(t)來判斷兩個字符串是不是相等~,不過後者看起來更加清晰

String tirm()把原串中所有的開始和結尾的空格去掉,返回得到的新串。

2.讀取輸入:前面已經看到,通過調用System.out.println方法可以很容易的把輸出打印到標準輸出設備(即控制檯窗口)。然而,要從標準輸入設備讀取鍵盤輸入卻有點複雜了。但是爲鍵盤輸入提供輸入很容易,方法調用:

JOptionPane.showInputDialog(promptString)可以建立一個對話框,提供用戶輸入,其返回值是用戶所輸入的字符串。例如你可以使用:

String name = JOptionPane.showInputDialog("What is your name?");來詢問用戶的名字。不過讀入數字卻有點麻煩了。因爲JOptionPane.showInputDialog(promptString)方法返回的是字符串,而不是數字,這時,需要使用Integer.parseInt/Double.parseDouble方法把字符串轉換成數字。例如:

String input = JOptionPane.showInputDialog("How old are you?");

int age = Integer.parseInt(input);

例子:

import javax.swing.*;//注意這裏的包名

public class InputTest
{
 public static void main(String[] args)
 {
  String name = JOptionPane.showInputDialog("What is your name?");
  String input = JOptionPane.showInputDialog("How old are you?");
        int age = Integer.parseInt(input);//convert string to integer value!

        System.out.println("hello,"+name+",next year,you will be "+(age+1));//display output on console

System.exit(0);//這裏是必須的,不管什麼時候調用JOptionPane.showInputDialog,都必須以它結束。

 }
}

3。JAVA中控制流程結構與C/C++的不同之處有兩點,JAVA中沒有goto語句,但有一個標籤化版本的break,用於從嵌套循環中退出。

4.關於this:

(1)。當對一個很小的構造器的參數命名時,我們一般習慣於選擇單個字母做爲參數名:

public Employee(String n,double s)

{

  name = n;

salary = s;

}不過這樣做有一個缺點,我們需要閱讀代碼後才知道參數n和s表示什麼,有些程序員於是在每個參數前加一個前綴“a”將參數變成aName和aSalary。這樣做很簡潔。

還有一種常用的方法,他基於這樣一個事實:參數變量將遮蔽同名的實例字段。例如,如果你把參數命名爲salary,那麼salary就將指向參數,而不是實例字段。但是你仍然可以通過this.salary訪問這個實例字段,this是個隱式參數,代表被構造的對象

public Employee(String name,double salary)

{

  this.name = name;

this.salary = salary;

}

(2):關鍵字this指向方法的隱式參數,除此之外,這個關鍵字還有另一種意義。

如果構造器的第一個語句具有形式this(。。。),那麼這個構造器將調用同一類中的其他構造器。如下:

public Employee(double s)

{

   //調用Employee(Sting,double)

   this("Employee #"+nextId,s);

   nextId++; 

}

用這種方式使用this關鍵字是很有用的,只需要對公共的構造代碼編寫一次即可!

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