一、顺序结构
顺序结构顾名思义,就是按照顺序运行的代码:
System.out.println(“第一行代码”);
System.out.println(“第二行代码”);
System.out.println(“第三行代码”);
二、分支结构
1.if语句
//判断数字是正数还是负数
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
if(m >= 0){
System.out.println(m + "是正数");
}else{
System.out.println(m + "是负数");
}
}
如图可见,if语句格式为:
if(判断条件){
//满足条件执行该语句
}else{
//条件不满足执行执行该语句
}
注意:if和else之后的{}尽量不要省略,以免造成不必要的麻烦。
eg:
public static void main(String[] args) {
int x = 10;
int y = 10;
if(x == 1)
if(y == 10)
System.out.println("aaa");
else
System.out.println("bbb");
}
该代码一眼看过去可能会觉得运行结果为bbb,但实际结果却是:
我们可以看到该代码的运行结果为空。
这是因为if—else 语句中else只能和距离它最近的if相匹配,在本代码中,只有y == 10 语句执行错误才会运行else中的语句。
2.switch语句
switch是多重分支语句,其语句格式为:
switch(整数|枚举|字符|字符串){
case 内容1:
//执行语句
break;
case 内容2:
//执行语句
break;
.....
default:
//执行语句
break;
}
在switch语句中,case部分可以为多个根据switch中case值的不同选择执行对应的case语句,遇到case时结束该case语句。
在所有case语句均没有匹配到时,程序执行default中的代码。
接下来我们看一下,当switch语句中没有break,程序会如何输出?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入day值");
while(sc.hasNext()){
int day = sc.nextInt();
switch(day){
case 1:
System.out.println("星期一");
case 2:
System.out.println("星期二");
case 3:
System.out.println("星期三");
case 4 :
System.out.println("星期四");
case 5 :
System.out.println("星期五");
case 6:
System.out.println("星期六");
case 7:
System.out.println("星期天");
default :
System.out.println("输入有误!!");
}
}
}
这是一个根据day值输出星期的代码,在没有了break语句之后,程序运行结果显然是让人崩溃的。
我们可以看到,在删除了break语句后,所有case部分中的代码都被执行输出,这是因为执行完该部分代码后,程序没有找到自己的跳出语句break,就将后面的代码继续执行。
这个例子就证明了在switch语句中break的重要性,朋友们在写代码的时候一定要注意的哦~