A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sjaiwl 中级黑马   /  2015-5-28 09:22  /  413 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

1 个回复

倒序浏览
做得不错,写的也可以!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马