java流程控制语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java流程控制语句相关的知识,希望对你有一定的参考价值。
一、顺序语句
语句:使用分号分隔的代码称作为一个语句
注:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句
注:如果花括号中只有一条语句,那么花括号可以省略不写
格式一:
if(判断条件){
执行的代码块1;
执行的代码块2;
…;
执行的代码块n;
}
格式二:
if(判断条件){
执行的代码块1;
…;
执行的代码块n;
}else{
执行的代码块1;
…;
执行的代码块n;
}
格式三:
if(判断条件1){
执行的代码块1;
}else if(判断条件2){
执行语句;
}else if(判断条件3){
执行语句;
}
例子:
import java.util.Scanner; //导入包import java.util.Scanner,使用Scanner这个类,固定用法Scanner sc=new Scanner(System.in),int nextInt = sc.nextInt()获取用户输入的数字 public class Demo1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数:"); int nextInt = sc.nextInt(); if (nextInt %2 == 0) { System.out.println(nextInt +":是个偶数"); } else { System.out.println(nextInt +":是个奇数"); } System.out.println("over"); } } //运行结果 [[email protected] java]# javac Demo1.java [[email protected] java]# java Demo1 请输入一个数: 3 3:是个奇数 over
[[email protected] java]# cat Demo2.java import java.util.Scanner; public class Demo2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数:"); double score = sc.nextDouble(); char grade; if (score >=90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 60) { grade = 'C'; } else { grade = 'D'; } System.out.println(grade); } } //运行结果 [[email protected] java]# java Demo2 请输入一个数: 78.4 C
import java.util.Scanner; public class Demo3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); boolean isLeapYear = (year %4 == 0); isLeapYear = isLeapYear && (year %100 != 0); isLeapYear = isLeapYear || (year %400 ==0); if (isLeapYear) { System.out.println(year +":是润年"); } else { System.out.println(year +":是平年"); } } } //运行结果 [[email protected] java]# java Demo3 请输入年份: 2018 2018:是平年
三、选择判断语句(switch)
格式:
switch(表达式) { case 取值1: 执行语句; break; case 取值2: 执行语句; break; …... default: 执行语句; break; } |
switch语句特点:
1)switch语句选择的类型只有四种:byte,short,int,char;
2)case之间与default没有顺序,先判断所有的case,没有匹配的case执行default;
3)switch语句停止的条件是:遇到了break关键字或者结束switch语句的大括号;
4)如匹配的case或者default没有对应的break,那么程序会继续向下执行,直到遇到break或者switch结尾结束;
5)switch case中的值必须要与switch表达式的值具有相同的数据类型
例子:
[[email protected] java]# cat Demo4.java import java.util.Scanner; public class Demo4 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double x = sc.nextDouble(); String z = sc.next(); double y = sc.nextDouble(); switch (z) { case "+": System.out.println("x+y=" +(x+y)); break; case "-": System.out.println("x-y=" +(x-y)); break; case "*": System.out.println("x*y=" +(x*y)); break; case "/": System.out.println("x/y=" +(x/y)); break; default: System.out.println("不靠谱"); break; } } } //运行结果 [[email protected] java]# java Demo4 4 + 5 x+y=9.0
四、while循环
说明:先判断条件,只有条件满足才执行循环体
格式:
while(条件表达式)
{
执行语句;
}
例子
[[email protected] java]# cat Demo5.java import java.util.Scanner; public class Demo5 { public static void main(String[] args) { int num = (int)(Math.random()*100)+1; Scanner sc = new Scanner(System.in); int guessNum = -1; while (guessNum != num) { System.out.println("请输入1-100之间的数:"); guessNum = sc.nextInt(); if ( guessNum == num) { System.out.println("中了!"); } else if ( guessNum > num) { System.out.println("值大了!"); } else { System.out.println("值小了!"); } } } } //运行结果 [[email protected] java]# javac Demo5.java [[email protected] java]# java Demo5 请输入1-100之间的数: 12 值小了! 请输入1-100之间的数:
五、do while循环
说明:先执行循环体,再判断条件,条件满足,再继续执行循环体
特点:条件无论是否满足,循环体至少被执行一次
格式
do { 执行语句; }while(条件表达式); |
例子
[[email protected] java]# cat Demo6.java import java.util.Scanner; public class Demo6 { public static void main(String[] args) { int num = (int)(Math.random()*100)+1; Scanner sc = new Scanner(System.in); int guessNum = -1; int count = 0; do { System.out.println("请输入1-100之间的数:"); guessNum = sc.nextInt(); if ( guessNum == num) { System.out.println("中了!"); } else if ( guessNum > num) { System.out.println("值大了!"); } else { System.out.println("值小了!"); } count++; } while ( guessNum != num); System.out.println("要猜的数字是:" +num +" 你一共猜了:" +count +"次"); } } //运行结果 [[email protected] java]# javac Demo6.java [[email protected] java]# java Demo6 请输入1-100之间的数: 10 值大了! 请输入1-100之间的数: 5 值大了! 请输入1-100之间的数: 4 值大了! 请输入1-100之间的数: 2 中了! 要猜的数字是:2 你一共猜了:4次
六、for循环
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式) {
执行语句;
}
例子:
[[email protected] java]# cat Demo7.java public class Demo7 { public static void main(String[] args) throws InterruptedException { for (int i=1;i<=9;i++) { for (int j=1;j<=i;j++) { System.out.print(i +"*" +j +"=" +(i*j) +"\t"); Thread.sleep(1000); } System.out.println(" "); } } } //运行结果 [[email protected] java]# javac Demo7.java [[email protected] java]# java Demo7 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
七、break、continue关键字
break:终止语句后面的语句
continue:跳出本循环,执行下一次循环
注:如果continue出现在循环的末尾(最后一条语句),那么可以省略
以上是关于java流程控制语句的主要内容,如果未能解决你的问题,请参考以下文章