流程控制语句

  • if语句
//		单一条件
		/**
		 * if(布尔表达式A){
		 * 	语句B
		 * }
		 * A为true 执行B,否者不执行 
		 * 
		 * 可以省略if语句的花括号,编译器在识别代码时默认添加,只括if语句下一行代码,一般不会省略使用花括号提高代码可阅读性
		 */
		int itemNum=100;
		int buyNum=1000;
//		if(buyNum<=itemNum) 
//			System.out.println("执行购买商品的业务逻辑");
//		if(buyNum<=itemNum) { 
//		System.out.println("执行购买商品的业务逻辑");
//		}
//		System.out.println("hahhah");
//		
//		二选一 
		/**
		 * if(布尔表达式A){
		 * 	语句B
		 * }else{
		 *   语句C
		 * }
		 * 如果A为true,执行B,否则执行C,B和C无论如何都会执行其中一个
		 */
		if(buyNum<=itemNum) {
			System.out.println("执行购买商品的业务逻辑");
		}else {
			System.out.println("您购买的商品数量超标了");
		}
		
//		多分支
		/**
		 * if(布尔表达式A){
		 * 	语句B
		 * }else if(布尔表达式A1){
		 * 	语句B1
		 * }else if(布尔表达式A2){
		 * 	语句B2
		 * }..
		 * else{
		 * 	语句B3
		 * }
		 * 	如果A为true,执行B,后续代码不在判断,if语句结束
		 * 	如果A为false,继续判断A1,如果A1为true,执行B1,if语句结束
		 * 	else匹配所有不满足条件的情况下执行B3
		 */
//		需求:  星期一:上班  星期二:加班  星期三:不想写代码  星期四:通宵写代码  星期五:离职   星期六:睡大街  星期天:找工作   
		int week=9;
		if(week==1) {
			System.out.println("上班");
		}else if(week==2) {
			System.out.println("加班 ");
		}
		else if(week==3) {
			System.out.println("不想写代码  ");	
		}
		else if(week==4) {
			System.out.println("通宵写代码  ");	
		}
		else if(week==5) {
			System.out.println("离职  ");	
		}
		else if(week==6) {
			System.out.println("睡大街 ");	
		}else if(week==7) {
			System.out.println("找工作 ");
		}else {
			System.out.println("请选择正确的日期 ");
		}
		int money=5000000;
		char home='有';
		if(10000000<=money && home=='有') {
			System.out.println("我们结婚吧");
		}else {
			System.out.println("你是个好人");
		}
		
		if(10000000<=money ||  home=='有') {
			System.out.println("我们结婚吧");
		}else {
			System.out.println("你是个好人");
		}

	}
  • switch语句

    //		switch语句
    		/**
    		 * switch(表达式X){
    		 * 	case 常量:
    		 * 		语句块A;
    		 * 		break;
    		 * 	case 常量:
    		 * 		语句块B;
    		 * 		break;
    		 *		...
    		 *	default:
    		 *		语句块B;
    		 * 
    		 * }
    		 * 执行顺序:
    		 * switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置,
    		 * 开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,
    		 * 直到碰到break关键字或者结束switch语句的大括号为止
    		 * 
    		 * ①case只能是常量不能是变量或表达式
    		 * ②表达式x的值只可以接受四个基本数据类型和对应包装类(int、byte、char、short),枚举型,jdk1.7之后表达式x可以接受String 
    		 * ③switch case中的值必须要与switch表达式的值具有相同的数据类型
    		 * ④不允许有重复的case取值
    		 * ⑤switch的结束:遇到break才结束否者直到switch语句块结束
    		 * ⑥case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。因此一般将default放在case后面
    		 * 
    		 */
    //		10~20之间:8000块   20~30:7000块   30~40:6000块   40~50:5000块  50~60 :4000块  其他0
    		int age=98;
    		int level=age/10;
    //		switch(level) {
    //		 case 1:
    //			 System.out.println("奖金8000");
    //			 break;
    //		 case 2:
    //			 System.out.println("奖金7000");
    			 break;
    //		 case 3:
    //			 System.out.println("奖金6000");
    			 break;
    //		 case 4:
    //			 System.out.println("奖金5000");
    			 break;
    //		 case 5:
    //			 System.out.println("奖金4000");
    			 break;
    //		default:
    //			 System.out.println("奖金0");
    //		 
    //		}
    		
    		switch(level) {
    		default:
    			 System.out.println("奖金0");
    		 case 1:
    			 System.out.println("奖金8000");
    //			 break;
    		 case 2:
    			 System.out.println("奖金7000");
    //			 break;
    		 case 3:
    			 System.out.println("奖金6000");
    			 break;
    		 case 4:
    			 System.out.println("奖金5000");
    			 break;
    		 case 5:
    			 System.out.println("奖金4000");
    			 break;
    		}
    //		String name="张三";
    //		switch(name) {
    //		 case "张三":
    //			 System.out.println("小三的爸爸");
    //			 break;
    //		 case "李四":
    //			 System.out.println("小四的爸爸");
    //			 break;
    //		 
    //	 }
    //		只要i满足1 2 3 4就会执行语句块A
    		int i=5;
    		switch(i) {
    		 case 1:
    		 case 2:
    		 case 3:
    		 case 4:
    			 System.out.println("里面没有10");//语句块A
    			 break;
    		 case 5:
    		 case 10:
    			 System.out.println("里面有10和5");//语句块B
    			 break;
    		
    		}
    	}
    
  • 接收控制台输入

//		String s1="我爱你,中国";
//		System.out.println(s1);//我爱你,中国
//		
//		接收控制台输入
		Scanner sc=new Scanner(System.in);
		接收控制台输入的整型
//		int messageInt=sc.nextInt();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除
//		System.out.println(messageInt);
		接收制台输入的浮点型
//		double messageDouble=sc.nextDouble();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除
//		System.out.println(messageDouble);
//		接收制台输入的字符串 :得到用户输入的字符串,空格结束
//		String messageString=sc.next();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除
//		System.out.println(messageString);
		String message=sc.nextLine();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除
		System.out.println(message);

  • 随机数
	Random rn=new Random();
//		随机产生int大小内的整型数据
		int message=rn.nextInt();
		System.out.println(message);
//		随机产生0-10之间的整型数据:包括0不包括10
		message=rn.nextInt(10);
		System.out.println(message);
//		随机产生0-1之间的浮点型数据 不包括1
		double messageDouble=rn.nextDouble();
		System.out.println(messageDouble);
//		随机产生10~20的数据
		int i=(int)(rn.nextDouble()*10)+10;
		System.out.println(i);


//		产生一个12以内的随机月份,和一个30以内的随机天数,输出该日是本年的第多少天(不考虑闰年)
		int month=rn.nextInt(12)+1;
		int day=rn.nextInt(30)+1;
		if(month==1) {
			System.out.println("第"+day+"天");
		}else if(month==2) {
			System.out.println("第"+(31+day)+"天");
		}
		else if(month==3) {
			System.out.println("第"+(59+day)+"天");
		}
		else if(month==4) {
			System.out.println("第"+(90+day)+"天");
		}
		else if(month==5) {
			System.out.println("第"+(120+day)+"天");
		}
		else if(month==6) {
			System.out.println("第"+(151+day)+"天");
		}
		else if(month==7) {
			System.out.println("第"+(181+day)+"天");
		}
		else if(month==8) {
			System.out.println("第"+(212+day)+"天");
		}
		else if(month==9) {
			System.out.println("第"+(243+day)+"天");
		}
		else if(month==10) {
			System.out.println("第"+(273+day)+"天");
		}
		else if(month==11) {
			System.out.println("第"+(304+day)+"天");
		}
		else if(month==12) {
			System.out.println("第"+(334+day)+"天");
		}
		
  • for循环
//		操作执行多次,就需要使用循环结构

		/**
		 * 语法:
		 * 	for(初始化表达式A;判断表达式B;循环后的操作表达式C){
		 * 		语句D
		 * }
		 * 
		 * 执行顺序:
		 * 		①A先执行,A只会执行一次
		 * 		②执行B,如果B为true,执行D,再执行C
		 * 		③C执行完之后再执行B,如果B为true再执行D..
		 * 		往复循环直到B为false循环表达式结束
		 */
//		输出一百次我爱你,中国
//		for(int i=0;i<100;i++) {
//			System.out.println("我爱你,中国"+i);
//		}
//		int i; 
//		for(i=0;i<100;i++) {
//		System.out.println("我爱你,中国"+i);
//	}
		
//		int i; 
//		for(i=0;i<100;) {
//			i++;
//		System.out.println("我爱你,中国"+i);
//	}
		
//		int i; 
//		for(i=0;i<100;) {
//		System.out.println("我爱你,中国"+i);
//		i++;
//	}
		
//		死循环:没有循环终止条件或者循环终止条件一直为true,死循环后面的代码会编译报错
//		for(;1<2;) {
//			System.out.println("我爱你,中国");
//		}
//		for(;;) {
//			System.out.println("我爱你,中国");
//		}
//		System.out.println("hhha");
//		for(int i=0;;i++) {
//		System.out.println("我爱你,中国");
//	 }
		for(int i=0;;) {
			System.out.println("我爱你,中国");
		 }

  • while和do while循环
//		操作执行多次,就需要使用循环结构

		/**
		 * 语法:
		 * 	for(初始化表达式A;判断表达式B;循环后的操作表达式C){
		 * 		语句D
		 * }
		 * 
		 * 执行顺序:
		 * 		①A先执行,A只会执行一次
		 * 		②执行B,如果B为true,执行D,再执行C
		 * 		③C执行完之后再执行B,如果B为true再执行D..
		 * 		往复循环直到B为false循环表达式结束
		 */
//		输出一百次我爱你,中国
//		for(int i=0;i<100;i++) {
//			System.out.println("我爱你,中国"+i);
//		}
//		int i; 
//		for(i=0;i<100;i++) {
//		System.out.println("我爱你,中国"+i);
//	}
		
//		int i; 
//		for(i=0;i<100;) {
//			i++;
//		System.out.println("我爱你,中国"+i);
//	}
		
//		int i; 
//		for(i=0;i<100;) {
//		System.out.println("我爱你,中国"+i);
//		i++;
//	}
		
//		死循环:没有循环终止条件或者循环终止条件一直为true,死循环后面的代码会编译报错
//		for(;1<2;) {
//			System.out.println("我爱你,中国");
//		}
//		for(;;) {
//			System.out.println("我爱你,中国");
//		}
//		System.out.println("hhha");
//		for(int i=0;;i++) {
//		System.out.println("我爱你,中国");
//	 }
		for(int i=0;;) {
			System.out.println("我爱你,中国");
		 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值