Java_Day8:对Day6练习的部分优化以及 for 循环的学习

对Day6的部分练习进行优化

/*
流程控制(数值比较2)	
    	定义三个整型变量x,y,z,从键盘初始化变量值,判断三个变量的大小,将较大的值
    	赋给变量max,将max输出,注意输入使用Scanner输入 
*/
import java.util.Scanner;

class HomeWork4 {
	public static void main(String[] args) {
		int x = 0;
		int y = 0;
		int z = 0;
		int max = 0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入三个整数:");
		x = sc.nextInt();
		y = sc.nextInt();
		z = sc.nextInt();
		
		// 假设最大值是 x,max保存x的值,参照物来完成
		max = x;
		
		// 判断y的值是否大于max
		if (y > max) {
			max = y;
		}
		
		// 判断z的值是否大于max
		if (z > max) {
			max = z;
		}	
		
		System.out.println("max : " + max);
	}
}
逢七过,1 ~ 100以内的所有数值展示,如果带有7或者和7有关,打印过
	带有7的数
		1. 个位数为7
			num % 10 == 7
		2. 十位数为7
			num / 10 == 7
			70 / 10 = 7
			75 / 10 = 77过 十位为7 的举个例子呗
	7的倍数
			num % 7 == 0
			
	&& ||
	
*/
class HomeWork11 {
	public static void main(String[] args) {
		int i = 1;
		
		while (i <= 100) {
			if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0) {
				System.out.println("过");
			} else {
				System.out.println(i);
			}
			
			i += 1;
		}
	}
}
/*
逆序数值
		用户输入123456 展示654321
		用户输入987654 展示456789
		
		123456 
			123456 ÷ 10 = 12345 ... 6
			123456 % 10 = 6
			123456 / 10 = 12345;
			
			12345 ÷ 10 = 1234 ... 5
            12345 % 10 = 5
            12345 / 10 = 1234
            
	整数和整数相除,没有小数,也没有省略
		5 ÷ 2 = 2 ... 1
		
		取余 1  5 % 2 = 1
		取商 2  5 / 2 = 2 

*/
import java.util.Scanner;

class HomeWork12 {
	public static void main(String[] args) {
		int num = 0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个整数:");
		num = sc.nextInt();
		
		while (num > 0) {
			/* num先对10取余,得到个位数,然后除10,再对10取
			余得到十位数,依次类推
			*/
			System.out.print(num % 10);
			num /= 10;
		}
    }
}

循环

1.for 循环

for (/*循环条件初始化*/;/*循环条件变更*/;/*循环条件变更*/) {
  //循环体
}
for 循环的优势:
	1.for 之后的小括号内容,可读性更强
	2.可以通过 for 循环的小括号里面的内容大概推算出整个循环大概执行多少次
	3.for 循环和一些特殊的数据关系十分紧密
/*
使用for循环,展示1~100所有的数据
*/
class Demo1 {
	public static void main(String[] args) {
		/*
		当前循环i值从1开始,到100结束,之间间隔为1,循环次数大概100次
		循环条件变更:
			i += 1 i++ ++1  三个效果一模一样
		*/
		for (int i = 1; i <= 100; i += 1) {
			System.out.println(i);
		}
	}
}
/*
使用for循环,展示1 ~ 100之间所有的偶数
% 2 == 0???
*/
class Demo2 {
	public static void main(String[] args) {
		
		/*
		100次循环,100次if判断
		*/
		for (int i = 1; i <= 100; i++) {
			if (i % 2 == 0) {
				System.out.println(i);
			}
		}
		
		/*
		50次循环
		优秀啊!!!最基本的优化!!!
		*/
		for (int i = 2; i <= 100; i += 2) {
			System.out.println(i);
		}
	}
}
/*
使用for循环,展示所有大写英文字母
*/
class Demo3 {
	public static void main(String[] args) {
		/*
		ch += 1 <==> ch++ <==> ++ch
		*/
		for (char ch = 'A'; ch <= 'Z'; ch += 1) {
			System.out.println(ch);
		}
	}
}

2. break

字面含义:
	跳出、打破
	代码中的功能是跳出循环结构或者 switch case 结构
	
break 关键字可以在循环过程中,当前循环结果出现预期的内容,终止循环
/*
while循环搭配使用break关键字
	展示1 ~ 100 
	但是如果数据到达50 break执行!!!
*/
class Demo4 {
	public static void main(String[] args) {
		int i = 1;
		
		while (i <= 100) {
			System.out.println(i);
			
			// i == 50
			if (50 == i) {
				System.out.println("循环跳出!!!");
				break;
			}
			i += 1;
		}
	}
}
/*
使用for循环演示break关键字
	1 ~ 100
	展示到30 使用break跳出循环
*/
class Demo5 {
	public static void main(String[] args) {
		for (int i = 1; i <= 100; i += 1) {
			System.out.println(i);
			
			if (30 == i) {
				System.out.println("跳出循环");
				break;
			}
		}
	}
}
/*
嵌套循环情况下,break关键字的使用
*/
class Demo6 {
	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
		
			System.out.println("i : " + i); 
			
			for (int j = 0; j < 10; j++) {
				System.out.print("j : " + j + " ");
				if (5 == j) {
					// break关键字有且只能跳出当前所在大括号对应循环
					break;
				}	
			}
			
			System.out.println();
		}
	}
}

3.continue

continue 关键字:
	结束当前循环,进入下一次循环
3.1 while 和 do while 与 continue 相爱相杀
class Demo7 {
	public static void main(String[] args) {
		int i = 0;
		
		/*
		continue关键字和while循环以及do while一起使用,还要操心
		循环变量修改问题在continue之前,还是之后
		*/
		while (i < 10) {
			System.out.println(i);
			i += 1;
			if (5 == i) {
				System.out.println("Continue执行");
				continue;
			}		
		}
		
		int j = 0;
		
		do {	
			j += 1;
			
			if (5 == j) {
				System.out.println("你来咬我呀~~~");
				continue;
			}
			
			System.out.println("锤石 锤石你~~~~");
		} while (j < 10);
	}
}
3.2 for霸道总裁
class Demo8 {
	public static void main(String[] args) {
		
		/*
		for循环使用continue关键字不会受到影响
		不会跳过循环条件变更
		*/
		for (int i = 1; i <= 10; i++) {
			if (5 == i) {
				System.out.println("continue执行了,嘿嘿嘿");
				continue;
			}
			
			System.out.println("实力不允许for循环低调");
		}
	}
}

4.额外知识点

	month == 1 1 == month 两个结果展示效果是一致的!!!没有区别,没有错误
	1 == month 常量在前,如果代码书写中缺少了一个 = 号,编译报错
	可以形成一些小的习惯,快速找到代码错误。
	month == 1 没有问题,但是如果缺少了一个 = 号,有可能代码编译通过,整个运算结果就不是代码所预期的结果。

5.收获

拼搏到无能为力,坚持到感动自己
	1.上周的练习题,很多地方逻辑虽然是通的,但是还能更加简便,通过今天的学习,了解到了很多新想法
	2.对 for 循环有了深刻的认识,能够进行常规的使用,一些变式和进阶还需要继续学习
	3.掌握了流程控制(break、continue)的使用以及注意事项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值