上一期是对方法(method)的基本运用的讲解和方法重载的实练
这一期是对循环结构的讲解,除了for循环你还知道几种?他们的使用方法又该如何呢?看完下面希望你有更好的答案!
循环结构
1、for
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。
它由循环体中的条件,判断继续执行某个功能还是退出循环。
根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。
1.1 形式
for(循环的开始位置;循环的条件;更改条件){
循环体
}
1.2 练习1:打印0到10
package cn.qile;
public class Test1_For {
public static void main(String[] args) {
//打印0到10
// for(循环的开始位置;循环的条件;更改条件) {
//i记录每次获取到的值
for(int i = 0 ; i <= 10 ; i++) {
System.out.println(i);
}
}
}
1.3 练习2:打印7,77,777,7777,
//打印7,77,777,7777,
for( int i = 7 ; i <= 7777 ; i=i*10+7) {
System.out.print(i+","); //加个逗号组织成用逗号隔开的数据格式
}
1.4 嵌套for循环
根据外层的条件,判断里层能否执行,如果能执行,就把里层代码都循环完毕后,再继续执行外层,继续判断。
1.4.1 形式
for(循环的开始位置 ; 循环的条件 ; 更改条件 ){//外循环
for(循环的开始位置 ; 循环的条件 ; 更改条件 ){//内循环
循环体
}
}
1.4.2 练习3:入门案例
package cn.qile;
public class Test3_For2 {
public static void main(String[] args) {
//总结1:外循环执行1次,内循环执行多次
//当i=1是,输出i的值1,并且输出j的值12345
//当i=2是,输出i的值2,并且输出j的值12345
//当i=3是,输出i的值3,并且输出j的值12345
for (int i = 1; i <= 3; i++) {//外循环,执行3次
System.out.println(i);
for (int j = 1; j <= 5; j++) {//内循环,执行5次
System.out.println(j);
}
}
//总结2:外循环控制行,内循环控制列
//外循环能执行5次,所以可以打印5行
//内循环能执行3次,所以每行可以打印3列
for (int i = 1; i <= 5; i++) {//外循环,执行5次
for (int j = 1; j <= 3; j++) {//内循环,执行3次
System.out.print("*");
}
System.out.println();//换行
}
}
}
1.4.3 练习4:打印左直角三角形
package cn.qile;
public class Test4_For3 {
public static void main(String[] args) {
/*
*
**
***
****
*****
*/
//当i = 1,准备打印第一行,但是打印几列,内循环决定。j<=1,能执行1次,所以第一行打印一个*,在打印换行。
//当i = 2,准备打印第二行,但是打印几列,内循环决定。j<=2,能执行2次,所以第二行打印两个*,在打印换行。
//...
for(int i = 1 ; i <= 5 ; i++) {//外循环,执行5次
for(int j = 1 ; j <= i ; j++) {//内循环,变化跟外循环一致,j随着i改变
System.out.print("*");//同一行展示*
}
System.out.println();//换行
}
}
}
1.4.4 练习5:打印99乘法表
package cn.qile;
public class Test5_Jiujiu {
public static void main(String[] args) {
/*
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
//99乘法表
for (int i = 1; i <= 9; i++) {//外循环,执行9次
for (int j = 1; j <= i; j++) {//内循环,变化跟外循环一致,j随着i改变
// System.out.print("2*1=2");
// 其中,第一个数字是行i,第二个数字是列是j,第三个数字是乘积
//如果字符串需要在前面和后面都动态拼接数据," + ? + "
System.out.print(i + "*" + j + "=" + i * j + " ");
}
System.out.println();//换行
}
}
}
2、while
2.1 格式
while(执行条件){
代码…
}
2.2 练习6:猜数字
产生一个随机数
和用户一直在输入,
的数字比较。
package cn.qile;
import java.util.Random;
import java.util.Scanner;
public class Test6_While {
public static void main(String[] args) {
//1、让程序产生随机数,
//nextInt(n) -- 产生n以内的随机数,从0开始
int random = new Random().nextInt(100) + 1;
System.out.println("随机数:"+random);
//2、调用method()完成猜数字游戏
method(random);//random 是实参
}
//创建method(random) r是形参
public static void method(int r) {
//3、一直接受用户输入的数字
// for(int i = 1; i >= 1 ;i++) {//for的死循环
// while(r > 50) {//如果满足r > 50的条件,才执行循环体
while (true) {//while(true) -- 死循环,必须设置程序的出口
System.out.print("请输入:");
int input = new Scanner(System.in).nextInt();
//4、判断输入的值和随机数的关系
if (input > r) {
System.out.println("大了");
} else if (input < r) {
System.out.println("小了");
} else if (input == r) {
System.out.println("中了");
break;//设置出口!!!!!
}
}
}
}
3、do-while
先执行,再判断
3.1 格式
do{
代码…
} while(执行条件);
3.2 练习7:改造猜数字
产生一个随机数,和用户一直在输入的数字比较。
package cn.qile;
import java.util.Random;
import java.util.Scanner;
public class Test7_doWhile {
public static void main(String[] args) {
//1、让程序产生随机数,
//nextInt(n) -- 产生n以内的随机数,从0开始
int random = new Random().nextInt(100) + 1;
System.out.println("随机数:"+random);
//2、调用method()完成猜数字游戏---以while循环
// method(random);//random 是实参
//改造猜数字游戏---以do...while循环
method2(random);
}
//创建method2(random)---以do...while循环
//do...while循环 保证代码最少执行1次。-- 先执行,再判断
public static void method2(int r) {
do {//while(true) -- 死循环,必须设置程序的出口
System.out.print("请输入:");
int input = new Scanner(System.in).nextInt();
//4、判断输入的值和随机数的关系
if (input > r) {
System.out.println("大了");
} else if (input < r) {
System.out.println("小了");
} else if (input == r) {
System.out.println("中了");
break;//设置出口!!!!!
}
} while (true);
}
//创建method(random) r是形参---以while循环
//while必须满足条件才执行 -- 先判断,在执行
public static void method(int r) {
//3、一直接受用户输入的数字
// for(int i = 1; i >= 1 ;i++) {//for的死循环
// while(r > 50) {//如果满足r > 50的条件,才执行循环体
while (true) {//while(true) -- 死循环,必须设置程序的出口
int input = new Scanner(System.in).nextInt();
//4、判断输入的值和随机数的关系
if (input > r) {
System.out.println("大了");
} else if (input < r) {
System.out.println("小了");
} else if (input == r) {
System.out.println("中了");
break;//设置出口!!!!!
}
}
}
}
下一期:java入门(八) | break和continue
将在明日推出,敬请期待!!!
通过原文链接关注【其乐不是码农】,回复【java入门】,提前观看下期内容!!
原文链接:
java入门(七) | 循环结构mp.weixin.qq.com其乐等待着你的到来!!