Java中的流程控制
Scanner对象
Java中的Scanner对象是可以获取我们从控制台输入的数据,我们可以通过hasNext或者hasNextLine方法判断用户是否有输入数据,通过next或者nextLine方法获取输入的数据内容。实例如下:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
//判断有无数据输入,有则输出内容
if(scanner.hasNext()){
String str = scanner.next();
System.out.println("输入的内容为:" + str);
}
System.out.println("请输入内容:");
//判断有无数据输入,有则输出内容
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输入的内容为:" + str);
}
//关闭IO流
scanner.close();
next和nextLine区别:next读取从第一个非空白符开始,到遇到的一个空白符结束,不能读取包含空格数据;nextLine读取从第一个非空白符开始的,到遇到第一个换行符结束,可以读取包含空白符的数据。
Scanner对象中还有一些方法,比如读取int类型数据nextInt,读取double类型数据nextDouble等等方法。
顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
int num1 = 10;
int num2 = 20;
int sum = num1 + num2;
选择结构
在Java中有四种选择结构:if、if-else、if-else if-else、switch。实例代码:
if(score == 100){
System.out.println("满分");
}else if(score < 100 && score >= 90){
System.out.println("A");
}else if(score < 90 && score >= 80){
System.out.println("B");
}else if(score < 80 && score >= 70){
System.out.println("C");
}else if(score < 70 && score >= 60){
System.out.println("D");
}else if(score < 60 && score >= 0){
System.out.println("不及格");
}else{
System.out.println("输入的数字非法");
}
char score = 'B';
switch(score){
case 'A':
System.out.println("成绩优秀");
break;
case 'B':
System.out.println("成绩良好");
break;
case 'C':
System.out.println("成绩及格");
break;
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("成绩不及格");
break;
default:
System.out.println("输入非法");
}
在JDK1.7之前,switch中可以判断byte,int,char类型数据,在JDK1.7之后可以判断String数据,但是case语句必须是字符串常量或者常量。
循环结构
在Java中有三种循环结构:while、do-while、for。while和do-while的区别是是否先执行代码再判断是否满足条件,while先判断是否满足条件,再执行循环体,do-while不管是否满足条件都会执行一次循环体。for循环可以更加精准的控制循环次数,在使用循环的时候要避免死循环,不过有时候我们又需要死循环。代码实例:
int i = 0;
int sum = 0;
//循环打印1-100的和
while(i <= 100){
sum += i;
i++;
}
System.out.println("sum = " + sum);//5050
//循环打印1-100的和
i = 0;
sum = 0;
do{
sum += i;
i++;
}while(i <= 100);
System.out.println("sum = " + sum);//5050
//打印出1-1000内所有能被5整除的数,每行打印三个数
for(int i = 1; i <= 1000; i++){
if(i % 5 == 0){
System.out.print(i + " ");
}
if(i % (5*3) == 0){
System.out.println();
}
}
break与continue
break用于结束循环的执行,跳出循环继续执行循环后面的代码;continue用于结束本次循环执行,开始下一次循环判断,不跳出循环。代码实例:
for(int i = 1; i < 10; i++){
if(i == 5){
break;
}
System.out.println(i);
}
System.out.println("==============");
for (int i = 0; i < 10; i++) {
if(i == 5){
continue;
}
System.out.println(i);
}

浙公网安备 33010602011771号