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关键字是很有用的,只需要对公共的构造代码编写一次即可!