[TOC]
>[success] # 用雙重for循環
* 外層循環用于控制打印的行數,內層循環用于控制打印的列數,外層循環改一次,內層循環一遍。
* 在嵌套的循環結構中,break用于退出所在循環體,如果要退出外層循環體,需要使用標號的方式。
~~~
outer: for (...) {
for(...) {
break outer;
}
}
~~~
>[danger] ##### 打印星星

~~~
public class StartTest {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("------------------");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("------------------");
for (int i = 5; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("------------------");
for (int i = 0; i < 5; i++) {
// 控制空格的個數
for (int j = 1; j <= 5 - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
~~~
>[danger] ##### 打印九九乘法表
~~~
/*
使用雙重for循環打印九九乘法表
*/
public class ForForTableTest {
public static void main(String[] args) {
// 1.使用外層for循環控制打印的行數,一共9行
outer:for(int i = 1; i <= 9; i++) {
// 2.使用內層for循環控制打印的列數,最多9列,規律是:與當前行所在的行數相等
for(int j = 1; j <= i; j++) {
// 3.使用兩個循環變量來拼接等式
System.out.print(j + "*" + i + "=" + j*i + " ");
// 4.當打印完畢6*6 = 36后結束整個打印
if(6 == j) {
//break; // 主要用于跳出循環,但該關鍵字只能跳出當前所在的循環
break outer; // 表示可以跳出外層for循環
}
}
System.out.println();
}
}
}
~~~
>[danger] ##### 打印素數
~~~
/*
編程使用雙重for循環打印2 ~ 100之間的所有素數
*/
public class ForForPrimeTest {
public static void main(String[] args) {
// 1.使用for循環打印2 ~ 100之間的所有整數
for(int i = 2; i <= 100; i++) {
// 3.聲明一個boolean類型的變量作為是否為素數的標記
boolean flag = true;
// 2.針對每一個當前的整數都要判斷是否為素數,若是素數則打印,否則不打印
// 判斷一個數是否為素數的方法是:若該數不能被2到它本身-1之間的所有整數整除時,則證明該數是素數
// 使用內層for循環用于控制2到該數自身-1之間的范圍
//for(int j = 2; j < i; j++) {
// 只需要判斷2到該數的平方根即可,因為隨著除數的增大商必然減小,會造成重復的判斷
for(int j = 2; j <= Math.sqrt(i); j++) {
// 使用當前數除以該循環中的每個數據并判斷是否可以整除,只要找到一個可以整除的數據,則證明該數不是素數
if(0 == i % j) {
flag = false;
break; // 跳出當前所在的內層循環,也就是不需要再繼續除以下一個整數
}
}
// 只可以打印素數
if(flag) {
System.out.println("i = " + i);
}
}
}
}
~~~
- windows -- 環境變量
- Vscode -- 編寫java
- 初始java
- java -- 關鍵字
- 編寫第一個java程序
- java -- 注釋
- 計算機存儲 -- 進制
- java -- 類型
- java -- 變量
- 數字類型
- 布爾類型
- 字符類型
- 類型轉換
- 雙等比較是什么
- java -- 運算符
- 算數運算符
- 字符串拼接
- 關系/比較運算符
- 自增減運算符
- 邏輯運算符
- 三目運算
- 賦值運算符
- 移位運算符
- 位運算符
- 運算符優先級
- java -- 流程控制語句
- if /else if /if -- 判斷
- switch case分支結構
- for -- 循環
- 用雙重for循環
- while -- 循環
- do while -- 循環
- 案例練習
- java -- 數組
- 數組的存儲
- 數組的增刪改查
- 數組的特點
- 數組案例
- 二維數組
- 數組的工具方法
- java -- 方法
- java -- 方法的重載
- java -- 方法的調用流程
- java -- 類方法傳參注意事項
- java -- 方法練習案例
- 對比 return break continue
- for each循環
- java -- 基礎練習
- java -- 面向對象
- java -- 創建類和對象
- java -- 訪問控制符
- java -- 類成員方法
- java -- 構造方法
- java -- this
- java -- 封裝
- java -- 對象內存圖
- java -- 創建對象案例
- java -- static
- java -- 繼承
- super -- 關鍵字
- java -- 構造塊和靜態代碼塊
- java -- 重寫
- java -- final
- java -- 多態
- java -- 抽象類
- java -- 接口
- 引用類型數據轉換
- 綜合案例
- java -- 內部類
- java -- 回調模式
- java -- 枚舉類型
- java -- switch 使用枚舉
- java -- 枚舉方法使用
- java -- 枚舉類實現接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 遞歸練習
- java -- 設計模式
- 單例模式
- java -- 注解
- java -- 元注解
- Java -- 核心類庫
- java -- 處理字符串
- Java -- String
- String -- 常用方法
- String -- 正則
- Java -- StringBuilder 和 StringBuffer
- 知識點
- Java -- StringJoiner 字符串拼接
- 練習題
- 字符串的總結
- Java -- 包裝類
- Integer
- Double
- Boolean
- Character
- java -- 集合類
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 獲取當前時間戳
- Java -- 異常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法