java零基础入门-break、continue讲解
哈喽,各位小伙伴们好,我是喵手。
一、前言
上一期,我们着重是讲解了如何用循环解决一些算法题,对吧,虽然都比较简单,但是对于刚入门的小伙伴们来说,就不是很简单了,对吧,所以还是有必要单独拿一期进行讲解,毕竟这样方便刚入门的小伙伴学习。
那这一期,我们就要对流程控制语句之break、continue语法,讲完这期,我们就将进行一个大板块的讲解,至于这些内容,还没掌握就得把这几期的内容多进行巩固,直到学会为止。
二、break语句
首先break语句目的是结束循环,跳出循环体。不管是那种循环,只要执行到break语句,直接终止循环,然后按顺序执行循环体之外的代码。
可以使用break语句强行退出循环结构,忽略循环体中的其他任何语句和循环的条件判断。在循环中一旦碰到break,循环就被终止,在循环后面的语句就得重新开始。
如下,我给大家举个实例,进行演示break。
做一个简易版抽奖,中奖数可以由举办方进行键盘输入,抽奖次数是10次,然后由抽奖人进行手动抽奖,然后机器进行判断,会提示你大了还是小了还是中奖了。
/**
* 进行抽奖
*/
public static void isWin() {
//输入中奖数
System.out.println("请输入中奖数数字:");
Scanner input = new Scanner(System.in);
int winNum = input.nextInt(); // 接收键盘输入数据
//记录抽奖轮数
int lunshu = 0;
for (int i = 1; i <= 10; i++) {
lunshu = i;
System.out.println("-----------进行第" + i + "轮猜数-----------");
System.out.println("请输入你要猜的数字:");
int cai = input.nextInt();
if (cai > winNum) {
System.out.println("猜大了!");
}
if (cai < winNum) {
System.out.println("猜小了!");
}
if (cai == winNum) {
System.out.println("恭喜你,猜对了!");
break; //猜对直接跳出循环
}
}
if(lunshu>10){
System.out.println("没抽奖次数了!请进行续费");
return;
}
}
实际控制台输出:
请输入中奖数数字:
50
-----------进行第1轮猜数-----------
请输入你要猜的数字:
10
猜小了!
-----------进行第2轮猜数-----------
请输入你要猜的数字:
60
猜大了!
-----------进行第3轮猜数-----------
请输入你要猜的数字:
40
猜小了!
-----------进行第4轮猜数-----------
请输入你要猜的数字:
50
恭喜你,猜对了!
解析:
- 总共每个人十轮抽奖。
- 每次抽奖需要进行抽奖数统计,然后就是核对抽奖数是否猜对了。
- 重点:与抽奖数核对正确,此刻就不需要再进行抽奖轮询了。所以break,进行跳出循环结构。
- 若十次次数用完了,提醒用户没有抽奖次数。
如上演示,你就能理解了,break()语句起的就是这个作用,在符合约定的情况下,break直接循环,就如上方抽奖核对中了了,就要立马跳出此次循环,终止循环,继续执行循环体外的代码,判断如果十次次数都用光了,输出“没抽奖次数!请进行续费”。
三、continue语句
有时强迫一个循环提早结束此次循环是有用的,也就是,你可能想要继续运行整个循环,但是要忽略这次重复剩余的循环体的语句,这种情况,java就为此提供了一种语句--continue。其实,continue的诞生就是对break语句的一个补充。
continue语句类似于break语句。但它只能出现在循环体中,它与break语句的区别在于:continue并不是终止循环,而是跳过此次循环,也就是跳过当前的循环,继续进入下一次的循环。
简单来说,continue是忽略循环语句的单次循环。
注意:continue 语句只能用在for循环、while 语句或者 foreach 语句的循环体之中,在这之外的任何地方使用它都会引起语法错误,是除了这三种情况之外都不能使用。
下面我给大家举个例子,结合实际场景:
请打印出所给的数组里头分别是偶数、奇数的个数。
/**
* 计算所给出的数组里头,是偶数的个数,奇数的个数
*/
public static void printNum() {
int[] nums = {1, 5, 23, 44, 66, 88, 67, 77, 99};
//统计偶数个数
int total1 = 0;
//统计奇数个数
int total2 = 0;
for (int num : nums) {
if (num % 2 == 0) {
total1 += 1;
continue;//跳过此次循环
}
if (num % 2 != 0) {
total2 += 1;
continue;//跳过此次循环
}
}
System.out.println("偶数个数为:" + total1);
System.out.println("奇数个数为:" + total2);}
实际运行结果:
偶数个数为:3
奇数个数为:6
对上述方法进行解析:
为何要加continue语句,目的在你如果循环到数字如果是偶数,continue直接进入下一轮的数字判断,而不是接着走下边的if(num%2 !=0)判断,这样就是在提高计算性能,相比你不加好所以一般进行统计,有多重判断的时候,如果只符合一种情况,那记得把continue语句加上!这对于大数据、海量数据而言,真的有性能上的提升。
三、课后作业
为了平衡大家的学习任务量,所以会有课后作业练习,然后会在下一期进行重点解析,一来为了帮大家巩固本期学习内容,二来帮大家加强练习,早日掌握该知识点。
第一题:统计一段英语句子中带有多少个“o”的字符。
英语句子:Whatever is worth doing is worth doing well。
提示:取第几位的字母可以按如下进行获取。
public static void countO(){
StringBuffer letters = new StringBuffer("Whatever is worth doing is worth doing well. ");
//取第0为的字母
char o = letters.charAt(0);
}
第二题:判断闰年平年并且输出某月的天数
提示:
所谓闰年,就是指 2 月有 29 天的那一年。闰年同时满足以下条件:
- 年份能被 4 整除。
- 年份若是 100 的整数倍,须被 400 整除,否则是平年。
//判断是否是闰年 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { System.out.println(year + "闰年"); }
第三题:打印九九乘法表。
以上的提示已经够明显啦,所以剩下的大家就好好想想,其实都很简单的哦,就运用咱们目前所学知识即可解决。加油哦。
四、结尾
好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。
wished for you successed !!!
---------------------------------------------------------------------
⭐️若喜欢我,就请关注我叭。
⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。
---------------------------------------------------------------------
- 点赞
- 收藏
- 关注作者
评论(0)