1. while使用
-問題:打印出20個3的倍數
package mode2;
public class Mode6 {
public static void main(String[] args) {
//計數器
//累加和
int i;
int sum = 0;
while (i<20){
sum += 3 * (i + 1);
i++;
}
}
}
2. break的使用方法
-問題:打印出3的倍數,如果這個數是7的倍數則結束程序。
package mode2;
public class Mode6 {
public static void main(String[] args) {
//打印出1-100以內7或者3的倍數
int i = 1;
while(i<=100) {
if(i%3==0) {
if(i%7==0) {
System.out.println("碰到了7和3的公倍數:"+i+"程序結束");
break;
}
System.out.println(i);
}
i++;
}
}
}
3. continue的使用方法
-問題:打印出0-100,不包括7或者3的倍數
package mode2;
public class Mode6 {
public static void main(String[] args) {
//打印出1-100以內7或者3的倍數
int i = 0;
while(i<100) {
i++;
if(i%3==0||i%7==0) {
continue;
}
else {
System.out.println(i);
}
}
}
}
while(i<=100) {
if (!(i%3==0||i%3==0)) {
System.out.println(i);
}
i++;
}
4. 循環嵌套打印乘法口訣
package mode2;
public class Mode7 {
public static void main(String[] args) {
int i = 1;
while(i<=9) {
int j = 1;
while(j<=i) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
j++;
}
System.out.println();
i++;
}
}
}
5. 怎樣結束多重循環
package mode2;
public class Mode7 {
public static void main(String[] args) {
int i = 1;
w1:while(i<=9) {
int j = 1;
while(j<=i) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
j++;
break w1;
}
System.out.println();
i++;
}
}
}
循環和判斷的大括號可以省略,在大括號中只有一行代碼時可以省略。
6. 作業
- 1.使用循環編寫一個猜數遊戲,程序隨機生成一個一定範圍內的整數(自定義),通過控制檯輸入猜想數字,控制檯打印出比較結果,直到猜測正確
package mode2;
import java.util.Scanner;
public class Mode8 {
public static void main(String[] args) {
System.out.println("系統已隨機生成一個整數0-100之間的整數,請猜一下吧");
int a = (int)(Math.random()*100);
System.out.println(a);
int b;
Scanner scan = new Scanner(System.in);
while (true) {
b = 0;
System.out.println("告訴我你感覺他是多大吧:");
b = scan.nextInt();
if(a<b) {
System.out.println("哎呀,你輸入的"+b+"有點大啊");
continue;
}
else if(a>b) {
System.out.println("咦,你輸入的"+b+"有點小啊");
System.out.println("再來猜一下吧");
continue;
}
else {
System.out.println("恭喜你答對啦");
break;
}
}
scan.close();
}
}
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fk8eqGS6-1591227476875)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192497175.png)]
- 2.通過控制檯輸入兩個整數,打印以兩個整數爲行和列的矩形
package mode2;
import java.util.Scanner;
public class Mode9 {
public static void main(String[] args) {
// 通過控制檯輸入兩個整數,打印以兩個整數爲行和列的矩形
Scanner scan = new Scanner(System.in);
System.out.println("你想要的矩形是幾行呢?:");
int i = scan.nextInt();
System.out.println("你想要的矩形是幾列呢?:");
int j = scan.nextInt();
int a = 0;
while (a < i) {
int b = 0;
while (b < j) {
System.out.print("*");
b++;
}
a++;
System.out.println("");
}
scan.close();
}
}
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6bthc2Sg-1591227476879)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192449094.png)]
- 3.輸入一個數字作爲行數,打印一個三角形,打印一個倒三角
package mode2;
import java.util.Scanner;
public class Mode10 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("請輸入一個整數作爲底:");
int a = scan.nextInt();
int i = 0;
while (i<a) {
int j = 0;
while(j<=(a-i-1)) {
System.out.print("*");
j++;
}
System.out.println();
i++;
}
scan.close();
}
}
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-p3RNeen0-1591227476882)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192434796.png)]
7. 練習
package mode2;
public class Mode11 {
public static void main(String[] args) {
//使用while
//打印20個3的倍數的和
//打印100以爲3的倍數,如果他是7的倍數就停止打印
//打印100以內不包括3和7的倍數
System.out.println(get3Sum());
System.out.println("---------------黃金分割線---------------");
System.out.println(get37Stop());
System.out.println("---------------黃金分割線---------------");
System.out.println(get37Con());
}
public static int get3Sum() {
int sum = 0;//累加和
int k = 0;//生命計數器
while (k<20) {
sum += (3*(k+1));
k++;
}
return sum;
}
public static int get37Stop() {
int a = 1;
while(a<100) {
if(a%3==0) {
if(a%7==0) {
System.out.println("出現了3和7的公倍數"+a+"循環停止");
break;
}
System.out.println(a);
}
a++;
}
return a;
}
public static int get37Con() {
int a = 1;
while(a<100) {
if(a%3==0||a%7==0) {
System.out.println("出現了3或7的倍數,已被我跳過。"+a);
a++;
continue;
}else {
System.out.println(a);
}
a++;
}
return a;
}
}