您的位置:首页 > 编程语言 > Java开发

关于java基础知识的一些小感悟

2015-05-26 16:21 555 查看
一,关于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()是默认不读入回车符的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java for循环 Scanner