11.26 语句 程序流程变量 for&while的总结
来源:互联网 发布:tripmode for windows 编辑:程序博客网 时间:2024/06/02 06:09
循环结构:
while语句
格式:
定义初始化表达式;
while(条件表达式)
{
执行语句;
}
eg.
(1-100的和):
package org.westos.www;/* * 1-100的和 */public class WhileDemo { public static void main(String[] args) { int sum=0; int i=100; while(i>1) { sum+=i; i--; } System.out.println("sum="+sum); }}
eg.
(补考):
package org.westos.www;import java.util.Scanner;public class WhileExam { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int count=0; System.out.println("请输入考试成绩:"); int score=scan.nextInt(); while(score<60) { count++; System.out.println("当前不及格,这是第"+count+"次补考"); System.out.println("*****补考中*******"); System.out.println("请输入补考后的成绩"); score=scan.nextInt();//是阻塞键盘等待用户输入int类型的值,用户输入之前一直阻塞。 } System.out.println("恭喜你,及格了!"); scan.close(); }}
do while语句
格式:
do
{
执行语句;
}while(条件表达式);
while:先判断条件,只有条件满足才执行循环体。
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。无论条件是否满足,循环体至少执行一次。
for语句
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
eg.
( 实现1-100能被3整除不能被5整除的数的和)
package org.westos.www;public class DivideFor{ public static void main(String[] args) { int sum=0; for(int i=1;i<=100;i++) { if(i%3==0&i%5!=0) { sum+=i; } } System.out.println("sum="+sum); }}
for和while的区别:
//注意:作用范围的问题,导致以下结果不同。//x在内存中生成,执行完后消失;而y在内存中生成,执行完后还在内存中。eg.for(int x=0;x<3;x++){ System.out.println.("x="+x);}System.out.println.("x====="+x);int y=0;while(y<3){ System.out.println("y="+y);}System.out.println("y====="+y);
1.变量有自己的作用域。对于for来说,如果将用于控制循环的增量定义在for语句中,那么该变量只在for循环内有效。for语句执行完毕,该变量在内存中被释放。
2.for和while可以进行互换。如果需要定义循环增量,用for更合适。
总结:
什么时候使用循环结构?
当对某些语句执行很多次时,就使用循环结构。
!定义一个变量,这个变量的数值变化是有规律的,
用循环操作了这个变量后,还要在下面的代码中使用这个结果,用while
循环合适。
循环语句的其他特点:
for(System.out.println("a");System.out.println("b");System.out.println("c")){ System.out.println("d");}//执行结果是:编译是失败的。因为循环条件表达式,也就是第二步,不知是真是假。int x=1;for(System.out.println("a");x<3;System.out.println("d"),x++){ System.out.println("d");}//多表达式出现时,用,隔开。//编译通过,结果是adcdc
条件表达式必须有真假,才能执行。
无限循环的最简单表达形式:
1.for(; ;) {}
2.while(true)
for语句-累加&计数器
eg.
(获取1-10的和,并打印)
public static void main(String [] args){ int sum=0;//1.定义变量用于存储不断变化的和。 int x=1;//2.定义变量,记录住不断变化的被+的数。 while(x<=10)//3.定义循环,重复加法的过程。 { sum+=x; x++; } System.out.println("sum="+sum);}
循环注意:
一定要明确哪些语句需要参与循环,哪些不需要。
int sum=0;for(int x=1;x<=10;x++){ sum+=x;}System.out.println("sum="+sum);
eg.
(1-100之间7的倍数的个数,并打印)
思路:
1.先对1-100进行循环(遍历)通过循环的形式
2.在遍历的过程,只对7的倍数进行操作
3.因为7的倍数不确定,只要符合条件,就通过一个变量来记录住这个变化的次数。
步骤:
1.定义循环语句,用for比较合适
2.在循环中定义判断,只要是7的倍数即可。使用if语句(x%7==0)
3.定义变量,该变量随着7的倍数的出现而自增
int count=0;for(int x=1;x<=100;x++){ if(x%7==0) count++;}System.out.println("count="+count);
累加思想:
原理:通过变量来记录住循环操作后的结果。每次变化的结果通过循环的形式,进行累加的动作。
计数器思想:
原理:通过一个变量记录住数据的状态变化,也需要通过循环完成。
for嵌套
eg.************for(int x=0;x<3;x++){ for(int y=0;y<4;y++) { System.out.print("*"); } System.out.println();}
对于打印长方形:外循环控制行数,内循环控制列数,也就是一行中算式的个数。
eg.***************int z=5; //int z=0;for(int x=0;x<5;x++){ for(y=0;y<z;y++)//(y=z;y<5;y++) { System.out.print("*"); } System.out.println(); z--; //z++}
for(int x=0;x<5;x++){ for(y=x;y<5;y++;) { System.out.print("*"); } System.out.println();}
eg.***************for(int x=0;x<5;x++){ for(int y=x;y<=5;y++) { System.out.print("*"); } System.out.println();}
eg112123123412345for(int x=1;x<=5;x++){ for(int y=1;y<=x;y++) { System.out.print("y"); } System.out.println();}
尖朝下,可以改变初始值,让初始值随着外循环变化。
尖朝上,可以改变条件,让条件随着外循环变化。
eg.
(九九乘法表)
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();}
break(跳出)&continue(继续)
break语句:作用于选择结构和循环结构
eg.w:for(int x=0;x<3;x++){ q:for(int y=0;y<5;y++) { System.out.print("x="+x); } break w;}
continue:只能作用于循环结构。表示继续循环。特点:结束本次循环,继续下一次循环。
eg.for(int x=0;x<3;x++){ continue; System.out.println("x="+x);}//执行不到continue以下的语句,编译失败。
for(int i=0;i<=10;i++) { if(i==5) { continue; } System.out.println("好好学习"+i); }
eg.for(int x=1;x<=10;x++){ if(x%2==1) continue;//if条件满足后继续循环,x++,直到不满足if,打印一次x=2,打印偶数。 System.out.println("x="+x);}
eg.好好学习0好好学习1好好学习2好好学习3好好学习4好好学习6好好学习7好好学习8好好学习9好好学习10for(int a=0;a<5;a++) { for(int b=a+1;b<5;b++) { System.out.print("-"); } for(int c=0;c<=a;c++) { System.out.print("* "); } System.out.println(); }eg.好好学习0好好学习1好好学习2好好学习3好好学习4for(int i=0;i<10;i++) { if(i==5) { break; } System.out.println("好好学习"+i); }
总结:
1.break和continue语句作用的范围。
2.break continue单独存在时,下面可以有任何语句,因为都执行不到。
eg.----* ---* * --* * * -* * * * * * * * * for(int a=0;a<5;a++) { for(int b=a+1;b<5;b++) { System.out.print("-"); } for(int c=0;c<=a;c++) { System.out.print("* "); } System.out.println(); }
- 11.26 语句 程序流程变量 for&while的总结
- 11.26语句 程序流程变量 if & switch 的总结
- java程序流程控制,if语句,switch语句,while语句,do while语句,for 语句,break关键字,continue关键字
- SHELLcase流程控制和for、while循环语句的使用
- JAVA流程控制语句 循环 while for
- JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结
- 控制流程语句if、switch、while、do-while、for
- 控制流程语句之while循环语句、do-while循环语句、for循环语句
- 程序流程控制 if switch while do while for
- shell的一些常用的语句(if语句,变量,for、while、until语句、函数调用、脚本调用)
- java的选择结构switch和循环结构for while do while以及流程控制语句break continue return
- [Shell] if、for、while流程语句以及整数字符串判断比较的实例详解
- [Shell] if、for、while流程语句以及整数字符串判断比较的实例详解
- while 语句与 if 语句 for循环语句的循环
- 循环语句中的 do~while语句 for语句 的练习
- 循环语句For While do-while的小练习
- for,while和do~while语句的异同
- While() , do{}while(); , for(){} 循环语句的用法
- windows mangoDB
- [CSP] 201609-5 祭坛
- 修改MySql/MariaDB密码
- Java编程基础教程之泛型
- OpenMV使用初步
- 11.26 语句 程序流程变量 for&while的总结
- mybatis框架(1)---mybatis入门
- python实现自动保存windows聚焦壁纸
- linux 6下面用udev配置asm磁盘的注意事项
- 详述Canvas(四)/绘制曲线
- JavaScript 中的 prototype
- 最小窗口问题--Java语言
- 训练日记-43
- jetty的安装和启动