java流程控制

java流程控制


1.0顺序结构

顺序结构就是程序执行从上到下依次进行执行。

例如:
System.out.println("你好");
int num = 10 ; 
System.out.println("num");

这段代码就会一次执行输出

你好
10

如果我们把num放在最后声明,

System.out.println("你好");
System.out.println("num");
int num = 10 ; 

就会报错。

System.out.println("num");;;;;
;
;

多个 ;为空语句,也是完整的一句话,只是没有做任何输出。


2.0选择结构


选择结构也被称为分支结构,判断语句。我们用到的是`if`和`switch`语句。
if语句

2.1:用于一个条件的判断,如果满足就会执行

语句格式:

if(判断表达式){
条件表达式为true的时候执行的内容             
}

案例: 某公司应聘员工要求必须要有两年工作经验以上的人员才能投寄简历。
分析: 1. 定义变量存放工龄; 2. 用工龄和要求进行对比; 3. 如果为true,投寄简历
public class Test{
public static void main(String [] args){
	int work=3;//小张
	if(work>2){
	System.out.println("可以投寄简历");
	}
	}
}

2.2:用于两种条件的判断

语句格式:

if(){
	满足条件执行的语句 
}else{
	不满足条件执行的语句}

案例:某公司应聘员工要求必须要有两年工作经验以上的人员才能投寄简历,不满足的给个友好的提示。
分析: 1. 定义变量存放工龄; 2. 用工龄和要求进行对比; 3. 如果为true,投寄简历,false则告诉用户不满足条件
public class Test{
public static void main(String [] args){
	int work=3;//小张
	if(work>2){
	System.out.println("可以投寄简历");
	}else{
	System.out.println("不满足投寄条件");
	}
	}
}

案例:我们定义一个年份来判断是否是闰年

分析:1.定义变量存放年份信息;2.判断是否符合闰年的规则;3.输出打印结果
闰年:可以被4整除,不能被100整除,或者可以被400整除

public class Test{
public static void main(String [] args){
    int year = 2000;
    if(year %4==0 && year %100!=0 || year %400==0){
    System.out.println("闰年");
    }else{
    System.out.println(year+"不是闰年");
    }
  }
}

2.3:用于多种条件的判断

语句格式:

if(){
	满足条件执行的语句 
 }else if{
	或者满足另一个条件执行的语句
	}else{
	不满足执行的语句
	}

案例:输入数字1-7,对应输出是星期几
分析: 1. 定义变量数据信息; 2. 用该数据信息和要求进行对比; 3. 对应输出结果,不满足输出提示
 public class Test{
    public static void main(String [] args){
	int day = 1;
	if(day==1){
	System.out.println("周一");
}else if(day==2){
	System.out.println("周二");
}else if(day == 3){
	System.out.println("周三");
}else if(day == 4){
	System.out.println("周四");
}else if(day == 5){
	System.out.println("周五");
}else if(day == 6){
	System.out.println("周六");
}else if(day == 7){
	System.out.println("周日");
}else{
System.out.println("不在一周的数字范围内");
	}
	}
}

2.4:if语句的总结

注意事项:
  1. if语句可以单独使用,else不能单独使用。
  2. if语句后面不能加分号,一旦加了分号,就表示和后面没有任何关系了。
  3. if或者else语句,只有一句输出的时候,大括号可以忽略不写,但是不建议使用。
if(work >2 && age<35)//满足
	System.out.println(“投寄简历”);
else //不满足
	System.out.println("不满足条件");
  1. if语句可以嵌套多个ifelse语句,次数没有限制。
  2. System.out.println("work>2 && age<35 ? "投寄简历":"不满足条件")我们可以用这样的三元表达式来简化if else语句,但是弊端因为三元表达式是一个运算符,所以必须要有结果。如果有多个嵌套,建议使用if else
switch语句

语句格式:

switch(表达式){
case 值1:执行语句;
case 值2:执行语句;
....
default:执行语句;
break
}

语句结构体分析:
  1. 只能为byte、short、int、char(jdk6.0后的String)类型
  2. case后面的值只能唯一,不能重复,只能是常量
  3. break一旦遇到,结束switch语句
  4. 如果case执行语句后面不写break,会一直执行下去,直到遇到break,或者程序结束为止
  5. 默认default语句块,可以在程序的任意位置,它的执行的顺序是先判断所有的case,当所有的case都不满足,才会执行default语句,建议放在最后
  6. 当有多个内容相同输出的时候,可以简写成:
case 1: case 2: case 3 
System.out.println("......");
 break;

案例:根据数字判断今天是周几

public class Test{
    public static void main(String [] args){
	int day = 1;
	switch(day){
	case 1 :System.out.println(“周一”)
	break;
	case 2 :System.out.println(“周二”)
	break;
	case 3 :System.out.println(“周三”)
	break;
	case 4 :System.out.println(“周四”)
	break;
	case 5 :System.out.println(“周五”)
	break;
	case 6 :System.out.println(“周六”)
	break;
	case 7 :System.out.println(“周日”)
	break;	
	default:System.out.println(“不在一周范围内”);
	break;
	}
	}
}

案例:判断春夏秋冬
可以直接留一个输出,保留break;这样可以用到case穿透性作用域


public class test1 {
    public static void main(String[] args) {
        int m=3;      //要判断的月份
        switch (m){
            case 3: case 4: case 5:        //switch的穿透性
                System.out.println("春天");
                break;
            case 6: case 7: case 8:
                System.out.println("夏天");
                break;
            case 9: case 10: case 11:
                System.out.println("秋天");
            case 12: case 1: case 2:
                System.out.println("冬天");
                default
                    break;
        }
    }
}

这里运用了switch的穿透性,即一个case中没有break结束的话程序会一直执行下去。

if和switch的区别

相同点:都可以用于分支结构;
不同点:使用场景不同;if主要用在判断数据区间的时候,switch主要用在判断值不多,并且值类型为byte、short、int、char、String类型的时候。
如果两种情况都可以使用,建议使用switch


循环结构

3.1:while循环

语句格式:

while(条件表达式){
符合条件表达式为true的时候的内容
		(重复或者有规律的内容)
}
案例:循环输出五次你好
int num = 1;
while(num>5){	//1 2 3 4 5
System.out.println("你好");
}

这里补充一个随机数:随机数100以内:(int)(Math.random()*100)+1;

3.2:do-while循环

语句格式:

do{  有规律的内容或重复的内容 }while(条件表达式)
不管是否满足,都会执行一次,其他和while没有区别。

3.3:for循环

语句格式:

for(初始值表达式;循环条件;操作后的循环变量值的改变规律){  
重复的内容或有规律的内容
   }
口头记忆好方法:开始;范围;规律;或者开始;大小,怎么变。
public class TestFor{
public static void main(String [] args){
	for(int i = 1; i <=10;i++){
			System.out.println(“你好”);
			}
	}
}

后续博文,可直接点击跳转:

  1. continue和break的区别
  2. 循环结构深入之嵌套循环及执行规则(打印图形,99乘法表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值