黑马程序员技术交流社区

标题: 关于java基础知识的一些小感悟 [打印本页]

作者: sjaiwl    时间: 2015-5-28 09:22
标题: 关于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()是默认不读入回车符的。
作者: kmlitheima    时间: 2015-5-28 09:32
做得不错,写的也可以!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2