Java第14课---语法结构之break+continue+while等
两个重要关键字
break
public class TestBreak{
public static void main(String[] args){
int i = 1;
int j = 1;
for(;i<=5;i++){
for(;j<=5;j++){
if(j==3){
break;
}
System.out.println("拓哥很帅");
}//i==1 j==3 执行两次输出 i==2 j==?从几开始数?3 i==3 j==3
}
System.out.println(i);//6
System.out.println(j);//3
//循环执行了多少次10 拓哥很帅输出了多少次
//循环执行完毕 i6 j3分别是几?
/*
for(int i=1;i<=5;i++){
if(i==3){
break;//终止 终断 //当满足if条件的时候 终断循环
}
System.out.println(i);
}
//执行的结果是什么? 12
//执行完毕后 i的值应该是几? 3
*/
}
}
continue
public class TestContinue{
public static void main(String[] args){
int i=1;
int j=1;
for(;i<=5;i++){
for(;j<=5;j++){
if(j==3){
continue;
}
System.out.println("拓哥真的很帅");
}//i==1 j==6 输出4次 i==2 j==?开始数6 i==3 j==6
}
System.out.println(i);
System.out.println(j);
//循环执行过程中输出多少次 20
//循环执行完毕后 i6 j6
/*
for(int i=1;i<=5;i++){
if(i==3){
continue;//终断本次循环 继续执行下一次循环
}
System.out.println(i);
}
//执行过程中i输出 1245
//执行循环完毕 最终i 6
*/
}
}
循环标记--->
两个循环的结构
while
循环想要执行 需要三个必要条件 初始值 终点判定条件 变化量
for( 1初始值 ; 2终点判定条件 ; 4变化量 ){
3好多好多执行;
}
允许将三个条件都写在()内 不是必须
初始值 ;
for( ; 终点判定条件 ; ){
好多好多执行;
变化量 ;
}
初始值;
while(终点判定条件){// ()内只允许写一个
好多好多执行;
变化量;
}
我理解就是一个for循环的变体
变量定义在循环外 生命周期长了
变化量放在循环内(注意上下的顺序可能对执行产生影响)
while先判断后执行 条件不满足不执行啦
/*
int i = 10;
while(i<=5){
System.out.println("执行ing:"+i);//12345
i++;
}
System.out.println("执行完毕:"+i);
//执行输出什么? 执行完毕后 i==?
*/
do…while
do..while先执行后判断 条件不满足 至少执行一次
初始值;
do{
好多好多执行;
变化量;
}while(终点判定条件);
public class TestWhile{
public static void main(String[] args){
/*
int i = 10;
do{
System.out.println("执行ing:"+i);//12345
i++;
}while(i<=5);
*/
}
}
while循环小任务
1.有一个水池 已经盛满了120立方米的水
有一个进水管 每小时进水18立方米
有一个排水管 每小时排水30立方米
两个水管一起开(虽然很浪费)
经过多少小时 水池的水排放干净?
int sum = 120;//表示水池中的水
int hour = 0;//记录经过小时数 ?
while(sum>0){
sum+=18;
sum-=30;
hour++;//记录一次小时数
System.out.println("本次循环完毕:"+sum);
}
System.out.println("经过"+hour+"小时排水完毕");
2.画一个星星
* i==1 3 1
*** i==2 2 3
***** i==3 1 5
******* i==4 0 7
留给大家的小任务
int i = 1;
while(i<=4){
//画空格占位
int j = 1;
while(j<=4-i){
System.out.print(" ");
j++;
}
//画星星
int k = 1;
while(k<=2*i-1){
System.out.print("*");
k++;
}
//换行
System.out.println();
i++;
}
3.小茗同学从A点以7km/h的速度向B点出发
哥哥从B点以18km/h的速度向A点出发
A和B之间的距离是1000km
求解 小茗同学和哥哥 经过多少个小时才能相遇?
4.有一个瓜农卖西瓜 一车西瓜总共1020个
每天卖掉总数的一半 多两个
求解瓜农几天才能把所有的西瓜都卖完?
5.参考之前for循环嵌套的练习(改成while循环的写法 画星星 数字金字塔 乘法表)
==========================================================
搭建环境 数据类型 常量变量 类型转换 运算符号 语法结构
数组使用