目录
一.for循环
1,for循环的基本语法
for (表达式1; 表达式2; 表达式3)
{
语句;
}
//循环语句结束,循环条件为false,或在循环体中的语句有break执行
表达式一:初始化值;表达式二:循环条件;表达式三:迭代条件
示例如下:
for(int i = 1; i <= 5; i++) {
System.out.printf("%d ", i);
}
运行结果如下:
2.for循环语句解决问题实例
2.1,打印九九乘法表
正三角代码如下:
Random rand = new Random();
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.printf("\033[%dm%d*%d=%d\033[0m\t", rand.nextInt(30, 38), i, j, i * j);
}
System.out.println();
}
运行代码结果如下:
倒三角代码如下:
Random rand = new Random();
System.out.println();
for (int i = 9; i >0; i--) {
for (int j = 1; j <= i; j++) {
System.out.printf("\033[%dm%d*%d=%d\033[0m\t", rand.nextInt(30, 38), i, j, i * j);
}
System.out.println();
}
运行结果如下:
2.2,打印菱形图案
先打印一个正三角,代码如下:
Random rand=new Random();
int z=10;
for (int i = 1; i < 10; i+=2) {
z--;
for (int a = 0; a < z; a++) {
System.out.printf("%s"," ");
}
for (int j = 0; j < i; j++) {
System.out.printf("\033[%dm%s\033[0m",rand.nextInt(30,38),"*");
}
System.out.println();
}
运行结果如下:
承接上一个代码,倒三角代码如下:
Random rand=new Random();
for (int i = 7; i >0; i-=2) {
z++;
for (int a = 0; a < z; a++) {
System.out.printf("%s"," ");
}
for (int j = 0; j < i; j++) {
System.out.printf("\033[%dm%s\033[0m",rand.nextInt(30,38),"*");
}
System.out.println();
}
2.3,百钱百鸡问题
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?代码如下:
Random rand = new Random();
for (int i = 0; i <= 100; i++) {
for (int j = 0; j <= 100; j++) {
for (int k = 0; k <= 100; k++) {
int s1 = i + j + k;
int s2 = 5 * i + 3 * j + k / 3;
if (s1 == 100 && s2 == 100&&k%3==0) {
System.out.printf("\033[%dm公鸡%d只,母鸡%d只,小鸡%d只\033[0m%n", rand.nextInt(30, 38), i, j, k);
}
}
}
}
运行结果如下:
二.while循环
1,while语句基本结构
while(条件){
java语句
}
条件循环,条件为true进入循环,每次循环都要看条件,为false,退出循环。
1.1,猜数字游戏
代码如下:
Random rand=new Random();
int n=rand.nextInt(1,101);
Scanner scan=new Scanner(System.in);
while (true){
System.out.println("请输入您猜的数字");
int num=scan.nextInt();
if (num>n){
System.out.println("太大了");
} else if (num<n) {
System.out.println("太小了");
}else {
System.out.println("猜对了");
break;
}
}
运行结果如下:
2,do-while
1,语句基本结构
do{
}while(条件);
最少循环一次,无条件进入循环语句。条件为true,再循环一次,如果条件为false结束循环。
示例代码如下:
int i = 1;
do {
System.out.println(i);
++i;
//break;
} while (i <= 10);
运行结果如下:
三.流程控制语句break和continue
1,break
break语句出现在 switch语句,循环语句,代表退出当前的程序执行块
代码如下:
while (true) {
System.out.println(2);
//退出终止当前循环语句,执行到循环语句后
break;
}
运行结果如下:
2,continue
continue 结束本次循环,立即开始下次循环
代码运行如下:
for (int i = 0; i < 20; i++) {
if (i % 2 == 0) {
//结束本次,立即开始下一次循环
continue;
}
System.out.print(i + " ");
if (i > 10) {
break;
}
}
运行结果如下: