java循环基础知识_for、while循环(java基础知识四)

1.循环结构概述和for语句的格式及其使用

* 什么是循环结构

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句的组成 初始化语句: 一条或者多条语句,这些语句完成一些初始化操作。 判断条件语句: 这是一个boolean 表达式,这个表达式能决定是否执行循环体。 循环体语句: 这个部分是循环体语句,也就是我们要多次做的事情。 控制条件语句: 这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

* 循环结构分类

for(初始化语句;判断条件语句;控制条件语句){

循环语句;

}

初始化语句;while(判断条件语句){

循环语句;

控制语句;

}

初始化语句;do{

循环语句;

控制语句;

}while(判断语句);

* 循环结构for语句的格式:

for(初始化表达式;条件表达式;增量表达式) {

循环体;

}

* 执行流程

a:执行初始化语句

b:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

c:执行循环体语句;

d:执行控制条件语句

e:回到b继续。

* 案例演示

在控制台输出10次"helloworld"

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

System,out.println("HelloWorld!");

}

2.循环结构for语句的练习之获取数据

* 案例演示

需求:请在控制台输出数据1-10

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

System.out.println(x);

}

需求:请在控制台输出数据10-1

for (int x=10;x>=1;x--){

System.out.println(x);

}

* 注意事项

a:判断条件语句无论简单还是复杂结果是boolean类型。

b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

c:一般来说:有左大括号就没有分号,有分号就没有左大括号

3.循环结构for语句的练习之求和思想

* 案例演示

需求:求出1-10之间数据之和int sum = 0;for(int x=1;x<=10;x++){

sum+=x;

}

System.out.println(sum);

需求:求1-100之和int sum = 0;for(int x=1;x<=100;x++){

sum+=x;

}

System.out.println(sum);

需求:求出1-100之间偶数和/*int sum=0;

for(int x=2;x<=100;x+=2){

sum+=x;

}

System.out.println(sum);*/

/*int sum=0;

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

if(x%2==0){

system.out.println(sum);

}

}

System.out.println(sum);*/需求:求出1-100之间奇数和/*int sum=0;

for(int x=1;x<=100;x+=2){

sum+=x;

}

System.out.println(sum);*/

/*int sum=0;

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

if(x%2!=0){

system.out.println(sum);

}

}

System.out.println(sum);*/

4.在控制台输出所有的”水仙花数”

举例:153就是一个水仙花数。* 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

for(int x=100;x<=999;x++){int ge = x%10;int shi = x/10%10;int bai = x/100;if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){

System.out.println(x);

}

}

5.统计思想

需求:统计”水仙花数”共有多少个int count=0;for(int x=100;x<=999;x++){int ge = x%10;int shi = x/10%10;int bai = x/100;if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){//System.out.println(x);

count++;

}

}

System.out.println(count);

6.循环结构while语句的格式和基本使用

* 循环while格式

while循环的基本格式:while(判断条件语句) {

循环体语句;

}

完整格式:

初始化语句;while(判断条件语句) {

循环体语句;

控制条件语句;

}

* 执行流程

a:执行初始化语句

b:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

c:执行循环体语句;

d:执行控制条件语句

e:回到b继续。

* 案例演示

需求:在控制台输出10次"helloworld"

int x=1;while(x<=10){

System.out.println("helloworld");

x++;

}

需求:请在控制台输出数据1-10

int x=1;while(x<=10){

System.out.println(x);

x++}

* 求和、统计练习

//求1-100之和

int sum = 0;int x = 1;while(x<=100){

sum+=x;

x++;

}//统计”水仙花数”共有多少个

int count=0;int x=100;while(x<=1000){int ge = x%10;int shi = x/10%10;int bai = x/100;if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){

count++;

}

System.out.println(count);

* 7.循环结构do...while语句的格式和基本使用

* 循环结构do...while语句的格式

do{

循环体语句;

}while(判断条件语句);

完整格式;

初始化语句;do{

循环体语句;

控制条件语句;

}while(判断条件语句);

* 执行流程

a:执行初始化语句

b:执行循环体语句;

c:执行控制条件语句

d:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

e:回到b继续。

* 案例演示

需求:在控制台输出10次"helloworld"

int x=1;do{

System.out.println(HelloWorld);

x++;

}while(x<=10);

需求:请在控制台输出数据1-10

int x=1;do{

System.out.println(x);

x++;

}while(x<=10);

8.循环结构三种循环语句的区别

1.do...while循环至少执行一次循环体。2.而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。

for循环和while循环的区别:

A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。

B:建议:

如果是一个范围的,用for循环非常明确。

如果是不明确要做多少次,用while循环较为合适。

举例:吃葡萄。while(x != 0)

9.循环结构注意事项

死循环:

写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。

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

B:两种最简单的死循环格式while(true){...}for(;;){...}

10.循环案例

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

如图:*****

*****

*****

*****注意:

System.out.println("");和System.out.print("");的区别

println--打印结果换行; print----打印结果不换行。for(int x=1;x<=4;x++){for(int y=1;y<=5;y++){

System.out.println("");

}

}

需求:请输出下列的形状*

**

***

****

*****

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

System.out.println("*");

}

}

需求:在控制台输出九九乘法表。for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){

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

}

}

11.控制跳转语句

A:什么是控制跳转语句

B:控制跳转语句的分类*break continue returnC:break的使用场景

D:案例演示

a:跳出单层循环

b:跳出多层循环

带标签的跳出---格式:标签名: 循环语句,标签名要符合Java的命名规则

for(int x=1; x<=10; x++) {if(x%3==0) {//在此处填写代码//1.break;//2.contuine;//3.System.out.println(“Java基础班”);

}

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

}

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

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

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

A:return的作用

返回

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

return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。

B:案例演示

return和break以及continue的区别?return是用来返回并结束方法的;

break是将整个循环结束;用在switch语句和循环里,

continue终止本次循环,继续下次循环;只能用在循环里。

12.方法概述和格式说明

*A:为什么要有方法*B:什么是方法*方法就是完成特定功能的代码块*C:方法的格式*修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {

函数体;return返回值;

}*D:方法的格式说明

方法格式解释:

修饰符 比较多,后面会详细介绍。目前publicstatic返回值类型 用于限定返回值的数据类型

方法名 一个名称,为了方便我们调用方法

参数类型 限定调用方法时传入参数的数据类型

参数名 是一个变量,接收调用方法时传入的参数

方法体 完成功能的代码return结束方法以及返回方法指定类型的值

返回值 程序被return带回的结果,返回给调用者

*A:如何写一个方法*返回值类型 明确功能结果的数据类型*参数列表 明确有几个参数,以及参数的类型*B:案例演示

需求:求两个数据之和的案例public static int getSum(int x , inty){return x+y;

}*C:有返回值类型的方法调用*a:单独调用,一般来说没有意义,所以不推荐。*b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。*c:赋值调用,推荐方案。*D:没有明确返回值的函数调用:

其实就是void类型方法的调用

只能单独调用

方法练习:

需求:键盘录入两个数据,返回两个数中的较大值public static int getMax(int x , inty){return (x>y)?x:y;

}

需求:键盘录入两个数据,比较两个数是否相等public static boolean isEquals(int x , inty){return x==y;

}

方法注意事项:*a:方法不调用不执行*b:方法与方法是平级关系,不能嵌套定义*c:方法定义的时候参数之间用逗号隔开*d:方法调用的时候不用在传递数据类型* e:如果方法有明确的返回值,一定要有return带回一个值

需求:根据键盘录入的行数和列数,在控制台输出星形public static void getSum(int a , intb){for(int x=1;x

System.out.println("*");

}

}

}

需求:根据键盘录入的数据输出对应的乘法表public static void getSum(int a , intb){for(int x=1;x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值