JAVA基础04(循环语句)
1、for循环
1、for循环语句格式:
for(初始操作;循环继续条件;每次迭代后的操作){
循环体
}
2.for循环的流程图如图a所示
3、注意:
控制变量必须在循环控制结构体内或循环前说明
for循环中的初始动作和每次迭代后的动作可以是0个或多个以逗号隔开的变量声明声明语句或赋值表达式。如下 :
[code]for(int i=0, j=0; i+j<10; i++,j++){ //语句块 }
如果省略for循环中的循环继续条件,则隐含的认为循环继续条件为true,称为死循环,如下
[code]for(;;){ // 语句块 } for(;true;){ //语句块 }
for循环适用于循环次数已知的循环
4、for循环典型案例
a. 打印出下面图形
*
**
***
****
*****
******
[code] for(int i=1;i<=6;i++){ //i 表示行数 for(int j=1;j<=i;j++){ System.out.print("*"); } System.out.println(); //换行 }
b. k i
* 5 1
** 4 2
*** 3 3
**** 2 4
***** 1 5
****** 0 6
[code] for(int i=1;i<=6;i++){ //行数 for(int k=1;k<=6-i;k++){ //空格 System.out.print(" "); } for(int j=1;j<=i;j++){ System.out.print("*"); //*数 } System.out.println(); }
c.
i j
* 1 1
** 2 1 2
*** 3 1 2 3
**** 4 1 2 3 4
***** 5 1 2 3 4 5
****** 6 1 2 3 4 5 6 //分水岭
***** 7 1 2 3 4 5
**** 8 1 2 3 4
*** 9 1 2 3
** 10 1 2
* 11 1
[code] for(int i=1;i<=11;i++){ for(int j=1;j<=i&&(i+j)<=12;j++){ //前六行依赖于j<=i 后五行依赖于(i+j)<=12 System.out.print("*"); } System.out.println(); }
d.
k i j
* -4 1 1
** -3 2 1 2
*** -2 3 1 2 3
**** -1 4 1 2 3 4
***** 0 5 1 2 3 4 5
**** 1 6 1 2 3 4
*** 2 7 1 2 3
** 3 8 1 2
* 4 9 1
[code] for(int i=1;i<=9;i++){ for(int k=1;k<=Math.abs(i-5);k++){ System.out.print(" "); } for(int j=1;j<=i&&(i+j)<=10;j++){ System.out.print("*"); } System.out.println(); }
e.
i j
* 1 1
* * 2 1 2
* * 3 1 2 3
* * 4 1 2 3 4
* * 5 1 2 3 4 5
* * 6 1 2 3 4
* * 7 1 2 3
* * 8 1 2
* 9 1
[code] for(int i=1;i<=9;i++){ for(int k=1;k<=Math.abs(i-5);k++){ //空格 System.out.print(" "); } for(int j=1;j<=i&&(i+j)<=10;j++){ if(j==1||j==i||j+i==10){ //判断*的位置 System.out.print("* "); }else{ System.out.print(" "); } } System.out.println(); }
2.while循环
1.while循环的语法格式如下:
while( 循环继续条件){
循环体
}
2.while循环的流程图如图所示:
3.while循环注意事项:
循环继续条件应该总是放在固括号内。只有当循环体只包含一条语句或不包含语句时,循环体的花括号才可以省略。
若循环条件为true,则while循环成为死循环。所以我们要在合适条件下使用 break。代码格式如下:
[code] while(true){ //循环体 //循环步长 // 何时退出循环break }
while循环适合循环次数不确定的循环
4.使用while编写一个程序,随机产生一个 0到 100 之间且包含 0 和 100 的整数。程序提示用户连续输人一个数字,直到它和计算机随机产生的数字相匹配为止。对用户每次输入的数字,程序都要告诉用户该输入值是偏大了,还 是偏小了,这样用户可以明智地进行下一轮的猜测。
[code]import java.util.*; class Class12{ public static void main(String[] args) { /* 1.初始化:先输入一个数字 2.继续条件:只要输入的数字不等于随机的 3.循环体:先判断 4.步长:后重新输入 while(true){ 循环体 循环步长 何时退出循环break } */ Scanner scanner=new Scanner(System.in); int com=new Random().nextInt(101);//[0,n) //电脑随机生成 while(true){ //无条件开启死循环 System.out.print("Guess a number:"); //提示用户输入数字 int num=scanner.nextInt(); if(num>com){ System.out.println("too high"); }else if (com==num){ System.out.println("yes,you are right!"); //跳出循环 break; }else{ System.out.println("too low"); } } } }
3.for循环和while循环可以相互转换
如上面的while循环就可写成for循环,代码如下:
[code]import java.util.*; class Class12{ public static void main(String[] args) { /* 1.初始化:先输入一个数字 2.继续条件:只要输入的数字不等于随机的 3.循环体:先判断 4.步长:后重新输入 while(true){ 循环体 循环步长 何时退出循环break } */ Scanner scanner=new Scanner(System.in); int com=new Random().nextInt(101);//[0,n) for(;;){ //无条件开启死循环 System.out.print("Guess a number:"); int num=scanner.nextInt(); if(num>com){ System.out.println("too high"); }else if (com==num){ System.out.println("yes,you are right!"); break; }else{ System.out.println("too low"); } } } }
- [零基础学JAVA]Java SE基础部分-04. 分支、循环语句
- java基础条件判断循环语句
- java基础——判断与循环控制语句
- java for基础循环语句
- Java基础---Java循环语句之while(二十二)
- java基础——循环语句和循环中断语句
- Java基础(4)-循环语句和随机数
- Java基础之switch语句、循环结构语句、跳转控制语句
- Java基础---Java循环语句之多重循环(二十七)
- 黑马程序猿——JAVA基础------多重循环语句案例代码
- Java基础循环语句小结
- java基础之循环语句(2)
- JAVA基础复习四-循环语句、控制跳转语句、转义字符和方法重载
- java基础3 循环语句:While 循环语句、do while 循环语句、 for 循环语句 和 break、continue关键字
- JAVA基础-4.switch,for,while,循环嵌套,跳转语句(包含经典案例!)
- 3.2Java基础语法(循环的嵌套、跳转控制语句)
- Java基础---Java循环语句之do...while(二十三)
- Java基础--Java循环跳转语句之continue(二十六)
- 黑马程序员——java基础知识篇——>循环语句
- java基础学习总结四(控制语句<顺序、选择、循环>、方法)