不论哪一种语言,基本上都会提供两种基本的流程控制结构:分支结构和循环结构
- 分支结构:用于实现根据条件来选择性的执行某段代码
- 循环结构:用于实现根据循环条件重复执行某段代码
下面我们来看一下各种流程控制结构
一.顺序结构
所有编程语言中最最最最最常见的程序结构就是顺序结构(从上到下逐行的执行),中间没有任何判断和跳转
如果main方法里的代码没有任何流程控制,那么程序总是从上到下的执行
举例:你要去上学,中间没有任何人在你上学的路上去打扰你,那么你就一条道走到黑,一直走一直走,直到走到学校
二.[流程控制]–分支结构
1.常见的分支控制结构:
1.1 if语句和switch语句
1.1.1 if语句
if语句使用布尔表达式或者布尔值作为分支条件来进行分支控制
1.1.2 switch语句
switch语句则用对于多个整型值进行匹配来实现分支控制
2.if语句和switch语句代码详解
2.1 "if"条件语句
if语句使用布尔表达式或者布尔值作为分支条件来进行分支控制–三个形式
形式一
解释:
1.先设置int值
2.写if判断语句
3.打印
看打印的结果:
1.我们看出了条件成立,已经进入if
2.也看出了上面所讲的顺序结构,执行完if之后跳出if,到下一行代码
原文图片:原文代码:
public static void main(String[] args) {
int a =1;
int b =1;
if (a==b){
System.out.println("等于b");
}
System.out.println("不等于b");
}
举例:相当于去学校,保安问你,你是这个学校的学生吗?
1.回答:yes,进入学校
2.回答:no 则爱上哪去上哪去,不管你
形式二
解释:
1.else:相当于否则
2.因为10不等于20所以到else语句块里
原文图片:
原文代码:
public static void main(String[] args) {
int age = 10;
if(age==20){
//如果age=20则执行下面的执行体(打印age等于20),只有一行代码作为代码块
System.out.println("age等于20");
}else{
//否则,执行下面的执行体,只有一行代码作为代码块
System.out.println("想啥呢,age能=20?");
}
}
举例:
背景:一个县城里只有2座小学 a小学和b小学,而你是b小学的学生
情况:此时,你去了a小学(虽然挺傻的),保安问你:小朋友你是哪里的呀?
1.你:我也不知道我是哪个小学的(并拿出证件给保安看下),
2.保安:啊,你是b小学的,不是a小学的,快去b小学吧
形式三
解释:
1.为什么从大于60开始写呢:
大家想想一下这段代码反过来,如果age>20在前面,那么只要你输入一个大于20的值,就是年轻人,不管是80岁,90岁,还是100岁…(挺恐怖的)
原文图片:
原文代码:
public static void main(String[] args) {
int age =45;
if (age>60){
//age大于60=老年人
System.out.println("老年人");
}else if (age>40){
//age大于40=中年人
System.out.println("中年人");
}else if (age>20){
//age大于20=年轻人
System.out.println("年轻人");
}
}
解释:以上代码就相当于连着写if判断
2.2 "switch"语句
解释:相当于给客服打电话
1.你:输入"3"键,系统自动指定到某个功能
原文图片:
原文代码:
public static void main(String[] args) {
String Key = "3";
switch (Key){
case "1":
System.out.println("人工服务");
break;
case "2":
System.out.println("查询流量");
break;
case "3":
System.out.println("查询话费");
break;
case "4":
System.out.println("结束查询");
break;
}
}