首页 > 代码库 > Day04 程序流程控制
Day04 程序流程控制
##程序流程控制
* 判断结构
* 选择结构
* 循环结构
###判断结构
>
####if语句 三种格式
```java
/*一层判断*/
if(条件表达式) //如果if控制的语句只有一条,那么下面的大括号可以省略,即控制距离if最近的单条语句;else同理。
{
执行语句;
}
```
```java
/*两层判断*/
/*
三元运算符 变量 = (条件表达式)?表达式1:表达式2;
三元运算符优点是可以看做简化的if else语句,缺点是因为本身是运算符,运算结束后必须有一个结果。
*/
if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
```
```java
/*多层判断*/
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
```
示例:
```java
//需求,根据客户定义的数值判定所属的季节。
//定义是3,4,5月属于春季,6,7,8月属于夏季,9,10,11月属于秋季,12,1,2月属于冬季。
class IfSeason
{
public static void main(String[] args)
{
int month = 7;
if(month>12 || month<1)
System.out.println("该月份不存在");
else if(month>=3 && month<=5)
System.out.println(month+"月属于春季");
else if(month>=6 && month<=8)
System.out.println(month+"月属于夏季");
else if(month>=9 && month<=11)
System.out.println(month+"月属于秋季");
else
System.out.println(month+"月属于冬季");
}
}
```
结果如下:
tips:注意main函数的格式规范,中间没有点,结尾没有分号,另外执行.class文件时注意类名和程序的一致性。
###选择结构
> ####switch语句格式
```java
switch(表达式)//表达式只接受四种类型的变量:byte,short,int,char。
{
/*case与default没有顺序,总是从第一个case开始执行,default不管在哪个位置都是所有case判定不通过后才执行。*/
/*switch语句执行到break或者结束大括号才算执行完毕。如果遇到符合条件的case或者default但是后面没有break,那么它会将此case或default后面的语句全部顺序执行并且不再判断case的值,直到遇到break或者大括号。*/
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default:
执行语句;
break;//最后的break可以省略。
}
```
示例:
```java
class SwitchDemo
{
public static void main(String[] args)
{
int x = 5;
switch(x)
{
/*先依次执行case判定,没有符合条件的项,就直接执行default,执行完后既没有遇到break语句也没有遇到大括号,则将default后面的语句不判定case依次执行直到遇到break或者大括号。*/
default:
System.out.println("wrong");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
}
}
}
```
结果:
Tips:多个case可以对应同一个执行语句,例如:
```java
int x = 4;
swich(x)
{
case 3:
case 4:
case 5:
System.out.println(x+"属于春季");
break;
default:
System.out.println(x+"不属于春季或者输入错误");
break;
}
```
**if语句和switch语句的联系和区别:**
if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断;而 switch 只能对四种基本类型进行数值比较。(5.0版本增加了枚举类型,7.0增加了字符串。)
如果判定的数值不多,并且符合四种类型,可以用switch,效率稍高。
其他情况:对区间判断,对boolean类型判断,使用if,if的使用范围更广。
###循环结构
代表语句:while,do while,for
>
####while语句格式
```java
while(条件表达式)//while语句条件表达式后面不能跟分号,虽然编译可以通过但是会陷入死循环。
{
执行语句(循环体);
}//while的特点是先判定条件,满足才执行循环体。
```
tips:`ctrl+c`强制结束命令行执行。
####do while语句格式
```java
do
{
执行语句;
}while(条件表达式);//do while的特点是先执行一次循环体,再判定条件,即无论条件是否满足,循环体都至少执行一次。
```
####for语句格式
```java
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
(循环体)执行语句;
}//执行顺序是:初始化表达式->循环条件表达式->循环体-循环后的操作表达式->循环条件表达式……直到不满足循环条件。
```
待续
来自为知笔记(Wiz)
Day04 程序流程控制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。