最近事情比较多进度慢了许多,接下来立个flag,加快进度
争取在29号前,跟进到600章作用内容
Java基础-多重循环控制
简介
将一个循环放在另一个循环体内,就形成了嵌套循环,for、while、do...while循环都可以作为内层和外层循环;最多建议两层嵌套,超过三层可读性很差
示例代码
public class hello01 {
public static void main(String[] args){
for(int i = 0;i < 2;i++){
for (int j = 0;j < 3;j++){
System.out.print("i=" + i + "j=" + j);
}
}
}
}
综合性小练习
//1、统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生成绩从键盘输入]
//2、统计3个班几个人数,每个班有5名同学
import java.util.Scanner;
public class hello01 {
public static void main(String[] args){
double totalScore = 0;
int passCounter = 0;
Scanner myScanner = new Scanner(System.in);
for(int i = 1;i <= 3;i++){
double sum = 0;//注意这里定义局部变量,不能是全局,全局会变成累加
for (int j = 1;j <= 5;j++){
System.out.print("输入" + i + "班第" + j +("位同学的成绩"));
double grade1 = myScanner.nextDouble();//将输入的值存放到grade1中
sum += grade1;//单个班级循环累计,以便计算全班平均分
if(grade1 > 60){
passCounter ++;
}//当成绩大于60时,及格人数累计
}
System.out.print(i + "班的平均分是" + (sum / 5));
totalScore += sum;//将每个班级的成绩 每次循环进行累计,以便计算全级平均分
}System.out.print("所有班的平均分是" + totalScore /(3*5));//计算全级平均分
System.out.print("全级有" + passCounter + "人及格");
}
}
注意拆解需求,由繁到简,先死后活
Java基础-跳转控制语句
跳转控制-break
break是用于控制循[for,while,do...while]环和switch,给语句块提供出口(终止执行)。利用Math.random()配合演示
基本语法:
{......
break;
......
}
流程图
注意这里break是结束while循环
示例代码
public class hello01 {
public static void main(String[] args){
for (int i = 0; i < 10;i++){
if( i == 3 ){
break;
}System.out.println("i=" + i);
}
}
}
>i=0
>i=1
>i=2
拓展:标签的基本使用
label1:{ ......
label2: { ......
label3: { ......
break label2;
......
}
}
}
- 这里的label不是特殊的标识符,可以任意名称
- 实际开发中尽量不要使用标签
- break后指定到哪个label就退出到哪里
- 如果没有指定break,默认退出最近的循环体
示例代码
public class hello01 {
public static void main(String[] args){
abc1:
for (int i = 0; i < 4;i++){
abc2:
for(int j = 0; j < 10;j++ ){
if (j == 2) {
break;//等价break abc2
}
}
System.out.println("i=" + i);
}
}
}
>j=0
>j=1
>j=0
>j=1
>j=0
>j=1
>j=0
>j=1
登录验证小综合
import java.util.Scanner;
public class hello01 {
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
String user = "";
String pass = "";
int counter = 3;
for (int i = 1; i <= 3; i++){
System.out.println("请输入用户名");
user = myScanner.next();
System.out.println("请输入密码");
pass = myScanner.next();
//注意这里用到了equals方法,推荐以下写法
if ("丁真".equals(user) && "666".equals(pass)){
System.out.println("恭喜你丁真,登陆成功");
break;
}
counter --;
System.out.println("你还有"+counter+"次机会");
}
}
}
跳转控制-continue
continue用户结束本次循环,继续执行下次循环
基本语法:
{......
continue;
......
}
流程图
示例代码
public class hello01 {
public static void main(String[] args){
int i = 1;
while( i <= 4 ){
i++;
if ( i == 2 ){
continue;
}
System.out.println("i=" + i);
}
}
}
>i=3
>i=4
>i=5
Detail:
continue同样受到标签的作用
跳转控制-return
简单看下,后续”方法“的章节会详解
public class hello01 {
public static void main(String[] args){
int i = 1;
for(i=1 ;i <= 5;i++ ){
if ( i == 3 ){
System.out.println("test一下" + i);
return;//当return用在方法时,跳出方法,如果用在main,退出整个程序
}
System.out.println("i=" + i);
}
}
}
>i=1
>i=2
>test一下3