一,关于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()是默认不读入回车符的。 |
|