JAVA基础知识二(分支与循环)

一,分支结构1:if
	--1,练习
		--商品打折
			package cn.tedu.basic;

			import java.util.Scanner;

			//测试 分支结构 商品打折
			public class Test7 {
				public static void main(String[] args) {
					//1,定义变量,记录原价
					System.out.println("请输入您消费的金额: ");
					double price = new Scanner(System.in).nextDouble() ;
					//TODO 2,判断--打印 折后价
					double zhehouprice = 0 ;//定义变量,记录折后价
					
					if(price >= 5000){//满5000
						zhehouprice = price*0.5;//打5折
						
					}else if(price >= 2000){ //满2000
						zhehouprice = price*0.8;//打8折
						
					}else if(price >= 1000){//满1000
						zhehouprice = price*0.9;//打9折 
						
					}else{//不打折
						zhehouprice = price ;
					}
			System.out.println("原价是: "+price+",折后价是: "+zhehouprice);
				}
			}

		--BMI
			package cn.tedu.basic;

			import java.util.Scanner;

			public class Test8 {
				public static void main(String[] args) {
					System.out.println("请输入您的身高:米");
					double gao = new Scanner(System.in).nextDouble() ;
					
					System.out.println("请输入您的体重:千克");
					double tizhong = new Scanner(System.in).nextDouble() ;
					
			//		--计算公式为:BMI=体重(千克)除以身高(米)的平方。
					double bmi = tizhong/(gao*gao) ;
					
					if(bmi<18.5){
						System.out.println("过轻");
					}else if(bmi >= 18.5 && bmi < 24){
						System.out.println("正常範圍");
					}else if(bmi >= 24 && bmi < 27){
						System.out.println("過重");
					}else if(bmi >= 27 && bmi < 30){
						System.out.println("輕度肥胖");
					}else if(bmi >= 30 && bmi < 35){
						System.out.println("中度肥胖");
					}else if(bmi >= 35){
						System.out.println("重度肥胖");
					}
					
				}
			}

		--统计学员得分
			package cn.tedu.basic;

			import java.util.Scanner;
			//测试 分支结构
			public class Test1 {
				public static void main(String[] args) {
					//1,接收用户输入的分数
					System.out.println("请输入您的分数:");
					double score = new Scanner(System.in).nextDouble() ;
					//2,判断,并输出
					if(score>=0 && score<=100){//增强程序的健壮性
						if(score >= 90){
							System.out.println("优秀");
						}else if(score >= 80 && score <= 89){
							System.out.println("良好");
						}else if(score >= 70 && score <= 79){
							System.out.println("中等");
						}else if(score >= 60 && score <= 69){
							System.out.println("及格");
						}else if( score <= 60){
							System.out.println("不及格");
						}
					}else{
						System.out.println("分数不合理!!");
					}
					
				}
			}

二,分支结构2:switch
	--1,概述
		也像if一样,可以完成 先判断 的需求
		只支持 byte short int char String 数据类型
	--2,语法
		switch(判断条件){
			case 0 : syso(0);
			case 1 : syso(1);
			case 2 : syso(2);
			case 3 : syso(3);
			case 4 : syso(4);
			default: syso(100);//以上case都不满足才来这儿
		}
	--3,测试
		package cn.tedu.basic;
		//测试 switch
		public class Test2 {
			public static void main(String[] args) {
				int a = 2 ;
				
				//TODO 1,表达式,,只支持 byte short int char String
				switch(a){
					case 0 : System.out.println(0);
					case 1 : System.out.println(1);
			//TODO 3,程序遇到结束符号} 或者遇到break就会结束
					case 2 : System.out.println(2);break;
					case 3 : System.out.println(3);
					case 4 : System.out.println(4);
					//TODO 2,以上case都不满足才来这儿
					default: System.out.println(100);
				}
			}
		}

三,循环结构1:for
	--1,概述
		循环结构用来解决,,,重复要执行的代码
	--2,语法
		for(1;2;3){
			重复执行的任务/循环体
		}
	--3,练习
		package cn.tedu.basic;
		//测试 循环结构
		public class Test3 {
			public static void main(String[] args) {
				/*
				 *int i = 1 是 开始位置,i表示的是次数
				 *i <= 10000 是循环条件,执行10000次
				 *i++ 是 更改条件,表示次数依次递增
				 */
				//for(开始位置;循环条件;更改条件){
				for(int i = 1; i <= 3; i++){
					//循环体
					System.out.println("大家好,我叫皮皮霞");
				}
				//练习: 打印0到10
				/*
				 * int i = 0 是开始位置,
				 * 			i表示的是你想要获取的值
				 * i <= 10 是循环的条件
				 * i++ 是 数据的变化规律 i=i+1
				 */
				for(int i = 0;i <= 10;i++){
					System.out.println(i);
				}
				//练习: 打印10到0 i=i-1
				for(int i = 10;i >= 0;i--){
					System.out.println(i);
				}
				//练习: 打印8,88,888,8888,
				//死循环--条件永远满足--条件要谨慎!!!
		//		for(int i = 8 ; i <= 8888 ; i--){
				for(int i = 8 ; i <= 8888 ;i=i*10+8){
					System.out.print(i+",");//同行展示
				}
				
				System.out.println();//换行
				
				//TODO 打印[1,100]的偶数
				for(int i=1;i<101;i++){//循环,获取每个数字
					if(i % 2 == 0){//找到偶数
						//打印
						System.out.println("偶数::"+i);
					}
					if(i % 2 == 1){//找到奇数
						//打印
						System.out.println("奇数=="+i);
					}
				}
				
			}
		}


四,嵌套for循环
	--1,概述
		使用的场景:算法 + 图形
	--2,语法
		for(1;2;3){//外循环
			循环体
			for(1;2;3){//内循环
				循环体
			}
		}
	--3,测试
		package cn.tedu.basic;
		//测试 嵌套for
		public class Test4 {
			public static void main(String[] args) {
		//第1次循环,
				//int i=1,满足判断条件,进去执行第三大步,
				//输出i的值1,输出j的值1 2 3 4 5,把i自增变成2
		//第2次循环,	
				//int i=2,满足判断条件,进去执行第三大步,
				//输出i的值2,输出j的值1 2 3 4 5,把i自增变成3
		//第3次循环,	
				//int i=3,满足判断条件,进去执行第三大步,
				//输出i的值3,输出j的值1 2 3 4 5,把i自增变成4
				//循环条件不再满足,循环结束!!!
		//特点1: 外循环执行1次,内循环执行多次		
				for(int i = 1;i < 4;i++){//外循环,执行3次
					System.out.println(i);
					for(int j = 1;j < 6;j++){//内循环,执行5次
						System.out.println(j);
					}	
				}
		//特点2:外循环控制行,内循环控制列		
				for(int i = 1;i <= 3;i++){//外循环,执行3次
					for(int j = 1;j <= 2;j++){//内循环,执行2次
						System.out.print("*");//同行展示
					}
					System.out.println();//换行
				}
				//练习:五行五列的*
				for(int i = 100;i < 105;i++){//外循环控制行,执行5次
					for(int j = 100;j < 105;j++){//内循环控制列,执行5次
						System.out.print("*");//同行展示
					}
					System.out.println();//换行
				}
				
			}
		}
# break和continue
	--1概述
		都是用来结束循环的.
		break 简单粗暴,立刻结束
		continue 结束当前这次,还能继续
	--2,测试
		package cn.tedu.basic;

		import java.util.Scanner;

		//测试 break或者continue
		public class Test1_Break {
			public static void main(String[] args) {
				//1,打印100以内的偶数
				for (int i = 1; i <= 100; i++) {
					if( i % 2 == 0 ){//过滤偶数
						System.out.println(i);
						//2,关键字后面不许出现代码!!!
		//				continue;//结束这次,还能继续
						break;//立刻结束循环
					}
				}
				
				//TODO 练习:找数字88
				for(int i =10;i < 20;i++){
					//接收10次用户输入的数字
					int input = new Scanner(System.in).nextInt();
					//判断,是88吗,是就结束
					if(input == 88){
						System.out.println("猜对了");
						break;//结束break
					}else{
					//不是就继续
						continue;//继续continue
					}
				}
				
			}
		}
五,循环结构:while
	--1,语法
		while(循环条件){
			循环体
		}
	--2,猜数字
		package cn.tedu.basic;

		import java.util.Random;
		import java.util.Scanner;

		//测试 while循环
		public class Test2_While {
			public static void main(String[] args) {
				//1,接收用户输入的数字
		//		int input = new Scanner(System.in).nextInt();
		//		//2, >30,重复的打印这个数字
		//		//while循环---先判断再执行
		//		//do...while循环---先执行一遍再判断
		//		do{
		//			System.out.println(input);
		//		}while(input>30);
				//TODO 练习: 猜数字游戏
				//让程序产生一个随机数--指定范围,从0开始
				int a = new Random().nextInt(100) ;
				System.out.println(a);
				
				//while是 先判断再执行
				while(a > 50){
					//接收用户输入的数字
					int input = new Scanner(System.in).nextInt();
					//比较
					if(input > a){
						System.out.println("大了");
					}else if(input < a){
						System.out.println("小了");
					}else if(input == a){
						System.out.println("猜对了");
						break;//结束循环
					}
				}
				
			}
		}


六,循环结构:do...while
	--1,语法
		do{
			循环体
		}while(循环条件);
	--2,改造猜数字
		package cn.tedu.basic;

		import java.util.Random;
		import java.util.Scanner;

		//测试 while循环
		public class Test2_While {
			public static void main(String[] args) {
				//1,接收用户输入的数字
		//		int input = new Scanner(System.in).nextInt();
		//		//2, >30,重复的打印这个数字
		//		//while循环---先判断再执行
		//		//do...while循环---先执行一遍再判断
		//		do{
		//			System.out.println(input);
		//		}while(input>30);
				//TODO 练习: 猜数字游戏
				//让程序产生一个随机数--指定范围,从0开始
				int a = new Random().nextInt(100);
		//		int a =(int)(Math.random()*100);
						//Math.random()产生(0~1)的随机小数
				System.out.println(a);
				
				//while是 先判断再执行
				//do...while是先执行再判断
				do{
					//接收用户输入的数字
					int input = new Scanner(System.in).nextInt();
					//比较
					if(input > a){
						System.out.println("大了");
					}else if(input < a){
						System.out.println("小了");
					}else if(input == a){
						System.out.println("猜对了");
						break;//结束循环
					}
				}while(a>50);
				
			}
		}


# 三种循环总结
	相同点:都能处理 重复执行的 需求
	不同点:
		--1,for(开始条件;循环条件;更改条件)
			具体的了解开始位置,要执行多少次,怎么改
		--2,while(循环条件)	
			只需要知道条件 -- 先判断再执行
		--3,do...while(循环条件)			
			只需要知道条件,可以保证循环体 最少执行1次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐艺^^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值