0
点赞
收藏
分享

微信扫一扫

04-02.总结switch,for,while,do。while跳转语句


(4)do...while循环

A:基本格式

do {

循环体语句;

}while(判断条件语句);


扩展格式:

初始化语句;

do {

循环体语句;

控制条件语句;

}while(判断条件语句);


通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。

/*

do...while循环的基本格式:

do {

循环体语句;

}while(判断条件语句);


扩展格式;

初始化语句;

do {

循环体语句;

控制条件语句;

}while(判断条件语句);

*/

class DoWhileDemo {

public static void main(String[] args) {

//输出10次HelloWorld。

int x = 0;

do {

System.out.println("HelloWorld");

x++;

}while(x<10);


System.out.println("--------------");


//求和1-100

int sum = 0;

int a = 1;

do {

sum += a;

a++;

}while(a<=100);


System.out.println(sum);

}

}

B:三种循环的区别

a:do...while循环至少执行一次循环体

b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体

/*

循环语句的区别:

do...while循环至少执行一次循环体。

而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。


那么,我们一般使用哪种循环呢?

优先考虑for,其次考虑while,最后考虑do...while

*/

class DoWhileDemo2 {

public static void main(String[] args) {

int x = 3;

while(x < 3) {

System.out.println("我爱林青霞");

x++;

}


System.out.println("--------------");


int y = 3;

do {

System.out.println("我爱林青霞");

y++;

}while(y < 3);

}

}

(5)循环使用的注意事项(死循环)

A:一定要注意修改控制条件,否则容易出现死循环。

B:最简单的死循环格式

a:while(true){...}


b:for(;;){}

/*

注意死循环:

A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

B:两种最简单的死循环格式

while(true){...}

for(;;){...}


*/

class DoWhileDemo3 {

public static void main(String[] args) {

int x = 0;

while(x < 10) {

System.out.println(x);

x++;

}

System.out.println("--------------");


/*

while(true) {

System.out.println("今天我很高兴,学习了死循环");

}

*/


for(;;){

System.out.println("今天我很高兴,学习了死循环");

}


//System.out.println("--------------");

}

}

(6)循环嵌套

/*

需求:请输出一个4行5列的星星(*)图案。

结果:

*****

*****

*****

*****


循环嵌套:就是循环语句的循环体本身是一个循环语句。


通过结果我们知道这样的一个结论:

外循环控制行数

内循环控制列数

*/

class ForForDemo {

public static void main(String[] args) {

//原始做法

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("-------------");


//虽然可以完成需求,但是不是很好

//如果是多行多列就会比较麻烦

//所以我们准备改进

//如何改进呢?

//我先考虑如何实现一行*的问题

//System.out.println("*****");

//我们要想的是如何实现一次输出一颗*的问题

//System.out.println("*");

//System.out.println("*");

//现在虽然可以一次一颗*,但是却换行了,我要求不能换行,怎么办呢?

//输出语句的另一种格式:System.out.print(); 这个是不带换行的

//System.out.print("*");

//System.out.print("*");

//System.out.print("*");

//System.out.print("*");

//System.out.print("*");

//如果我要在一行上打出多颗*,比较麻烦,而代码是重复的,所以我决定用循环改进

for(int x=0; x<5; x++) {

System.out.print("*");

}

//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();


//既然我可以打出一行,我就可以打出第二行

for(int x=0; x<5; x++) {

System.out.print("*");

}

//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();


//同理打出第三行,第四行

for(int x=0; x<5; x++) {

System.out.print("*");

}

//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();


//既然我可以打出一行,我就可以打出第二行

for(int x=0; x<5; x++) {

System.out.print("*");

}

//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();

System.out.println("-----------------");

//同样的代码出现了4次,说明我们程序写的不好,用循环改进

for(int y=0; y<4; y++) {

for(int x=0; x<5; x++) {

System.out.print("*");

}

//我们可以通过空的输出语句实现换行:System.out.println();

System.out.println();

}

}

}


/*

需求:请输出下列的形状

*

**

***

****

*****

*/

class ForForDemo2 {

public static void main(String[] args) {

//通过简单的观察,我们看到这是一个行是5,列数是变化的形状

//我们先打印出一个5行5列的形状

for(int x=0; x<5; x++) {

for(int y=0; y<5; y++) {

System.out.print("*");

}

System.out.println();

}


System.out.println("--------------");


//我们实现了一个5行5列的形状

//但是这不是我们想要的

//我们要的是列数变化的

//列数是如何变化的呢?

//第一行:1列 y=0,y<=0,y++

//第二行:2列 y=0,y<=1,y++

//第三行:3列 y=0,y<=2,y++

//第四行:4列 y=0,y<=3,y++

//第五行:5列 y=0,y<=4,y++

//在看外循环x的变化,恰好就是x=0,1,2,3,4

//所以这个最终版的程序就是如下

for(int x=0; x<5; x++) {

for(int y=0; y<=x; y++) {

System.out.print("*");

}

System.out.println();

}

}

}


/*

需求:在控制台输出九九乘法表。


首先我们写出九九乘法表:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

...

1*9=9 2*9=18 3*9=27 ...


我们先把这个九九乘法表看出是这样的一个形状:

*

**

***

****

*****

******

*******

********

*********


注意:

'\x' x表示任意,这种做法叫移字符。


'\t' tab键的位置

'\r' 回车

'\n' 换行

*/

class ForForDemo3 {

public static void main(String[] args) {

for(int x=0; x<9; x++) {

for(int y=0; y<=x; y++) {

System.out.print("*");

}

System.out.println();

}

System.out.println("--------------");

//为了使用数据,我们从1开始

for(int x=1; x<=9; x++) {

for(int y=1; y<=x; y++) {

System.out.print(y+"*"+x+"="+y*x+"\t");

}

System.out.println();

}

}

}


3:控制跳语句(掌握)

(1)break:中断的意思

A:用在循环和switch语句中,离开此应用场景无意义。

B:作用

a:跳出单层循环

b:跳出多层循环,需要标签语句的配合


/*

控制跳语句:

break:中断

continue:继续

return:返回


break:中断的意思

使用场景:

A:switch语句中

B:循环语句中。

(循环语句中加入了if判断的情况)

注意:离开上面的两个场景,无意义。


如何使用呢?

A:跳出单层循环

B:跳出多层循环

要想实现这个效果,就必须知道一个东西。带标签的语句。

格式:

标签名: 语句

*/

class BreakDemo {

public static void main(String[] args) {

//在 switch 或 loop 外部中断

//break;


//跳出单层循环

for(int x=0; x<10; x++) {

if(x == 3) {

break;

}

System.out.println("HelloWorld");

}


System.out.println("over");

System.out.println("-------------");


wc:for(int x=0; x<3; x++) {

nc:for(int y=0; y<4; y++) {

if(y == 2) {

//break nc;

break wc;

}

System.out.print("*");

}

System.out.println();

}

}

}

(2)continue:继续

A:用在循环中,离开此应用场景无意义。

B:作用

a:跳出单层循环的一次,可以继续下一次

C:填空题

for(int x=1; x<=10; x++) {

if(x%3 == 0) {

//补齐代码

}

System.out.println("Java基础班");

}

如何让控制台输出2次:Java基础班

如何让控制台输出7次:Java基础班

如何让控制台输出13次:Java基础班

/*

continue:继续


使用场景:

循环中。离开此场景无意义。


测试,找到和break的区别:

break:跳出单层循环

continue:跳出一次循环,进入下一次的执行


练习题:

for(int x=1; x<=10; x++) {

if(x%3==0) {

//在此处填写代码

}

System.out.println(“Java基础班”);

}


我想在控制台输出2次:“Java基础班“

break;

我想在控制台输出7次:“Java基础班“

continue;

我想在控制台输出13次:“Java基础班“

System.out.println(“Java基础班”);



*/

class ContinueDemo {

public static void main(String[] args) {

for(int x=0; x<10; x++) {

if(x == 3) {

//break;

continue;

}


System.out.println(x);

}

}

}

(3)return:返回

A:用于结束方法的,后面还会在继续讲解和使用。

B:一旦遇到return,程序就不会在继续往后执行。

/*

return:返回


其实它的作用不是结束循环的,而是结束方法的。

*/

class ReturnDemo {

public static void main(String[] args) {

for(int x=0; x<10; x++) {

if(x == 2) {

System.out.println("退出");

//break;

//continue;

return;

}


System.out.println(x);

}


System.out.println("over");

}

}

郑重声明:资源都是网络上的,如有侵权,联系公众号删除。


懂得​分享​才能学好Java,

Java​开源​有你的一份力量

你有好的​资源​可以分享给我;

记得写上你的​名字​,发表时会署名


04-02.总结switch,for,while,do。while跳转语句_java



举报

相关推荐

0 条评论