您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Java中的實現循環的方法有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、循環的類型:
1、for循環
class For{ public static void main(String[] args) { System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("我是分隔符~~~~~~~~~~~~~~~~~~~~~~~~"); for(int i = 0; i < 4; i++){ System.out.println("Hello World!"); } } }
運行結果:
2、while() {}
class TestWhile { public static void main(String[] args) { //100以內的偶數的輸出 int i = 1; int sum = 0; while(i <= 100){ if(i % 2 == 0){ System.out.println(i); sum += i; } i++; } System.out.println(sum); //System.out.println(i); } }
運行結果:
3、do{}while()
class DoWhile{ public static void main(String[] args) { int i = 1; do{ if(i % 2 == 0){ System.out.print(i + "\t"); } i++; }while(i <= 100); } }
運行結果:
二、格式:
所有的循環結構都必須包含以下4部分:
1、初始化條件;
2、循環條件;
3、迭代條件;
4、循環體;
1、for循環格式:
/* 所有的循環結構都必須包含以下4部分: 1、初始化條件; 2、循環條件; 3、迭代條件; 4、循環體; 在這段代碼中與格式的對應關系為: 1、初始化條件 = int i = 0; 2、循環條件 = i < 4; 3、迭代條件 = i++; 4、循環體 = System.out.println("Hello World!"); */ class For{ public static void main(String[] args) { for(int i = 0; i < 4; i++){ System.out.println("Hello World!"); } } }
2、while循環格式:
/* 所有的循環結構都必須包含以下4部分: 1、初始化條件; 2、循環條件; 3、迭代條件; 4、循環體; 在這段代碼中與格式的對應關系為: 1、初始化條件 = int i = 1;int sum = 0;; 2、循環條件 = i <= 100; 3、迭代條件 = i++; 4、循環體 = if語句; */ class TestWhile { public static void main(String[] args) { //100以內的偶數的輸出 int i = 1; int sum = 0; while(i <= 100){ if(i % 2 == 0){ System.out.print(i +"\t"); sum += i; } i++; } System.out.print(sum); } }
3、do{4 3}while(2);
/* 所有的循環結構都必須包含以下4部分: 1、初始化條件; 2、循環條件; 3、迭代條件; 4、循環體; 在這段代碼中與格式的對應關系為: 1、初始化條件 = int i = 1; 2、循環條件 = i <= 100; 3、迭代條件 = i++; 4、循環體 = if語句; */ class TestDoWhile{ public static void main(String[] args) { int i = 1; do{ if(i % 2 == 0){ System.out.println(i); } i++; }while(i <= 100); int j = 10; do{ System.out.println(j); j++; }while(j<10); while(j < 10){ System.out.println(j); j++; } } }
注意:
1、不同的循環結構之間可以相互轉換;
2、while和do-while的區別:do-while程序至少會執行一次;
三、嵌套循環:
說明:循環結構中還可以聲明循環;讓內層循環結構整體充當外層循環的循環體;若外層循環執行m次,內層循環執行N次,整個程序執行m*n次。
可以理解為外層循環控制行數,內層循環控制列數;
例:
class TestFor2 { public static void main(String[] args) { for(int j = 0;j < 4;j++){//外層循環控制行數 for(int i = 0;i < 5;i++){//內層循環控制列數 System.out.print("*"); } System.out.println(); } } }
運行結果:
練習題
1、九九乘法表
class TestJiuJiu { public static void main(String[] args) { for(int i = 1;i <= 9;i++){ for(int j = 1;j <= i;j++){ System.out.print(i + "*" + j + "=" + i*j + "\t"); } System.out.println(); } } }
運行結果:
2、輸出100內的質數(兩種方法實現)
第一種:
class TestPrimeNumber { public static void main(String[] args) { boolean flag = false; long start = System.currentTimeMillis(); for(int i = 2;i <= 100000;i++){//實現100以內的自然數的遍歷 //如何判斷i是否為一個質數 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ flag = true; break; } } if(!flag){ System.out.println(i); } flag = false; } long end = System.currentTimeMillis(); System.out.println("所花費的時間為:" + (end - start)); } }
運行結果:由于數據過多,這里使用運營時間來表示
第二種:這種方式主要是為了顯示運行的效率,這里也是使用運行時間來表示。
class TestPrimeNumber1 { public static void main(String[] args) { //boolean flag = false; long start = System.currentTimeMillis(); l:for(int i = 2;i <= 100000;i++){//實現100以內的自然數的遍歷 //如何判斷i是否為一個質數 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ //flag = true; //break; continue l; } } //if(!flag){ //System.out.println(i); //} //flag = false; } long end = System.currentTimeMillis(); System.out.println("所花費的時間為:" + (end - start)); } }
運行結果:
四、無限循環
當需要使用無限循環時,將循環的循環條件修改為true即可(代碼格式請參考第二部分),但是需要注意的是,在無限循環結果內部一定要提供循環的終止條件(使用break關鍵字)否則程序將無限制的執行下去,形成死循環;
五、break和continue:
1、break:
1、使用在swich-case結構或者循環結構中;
2、在循環結構中,一旦執行到break,就跳出當前循環。
2、continue:
1、使用在循環結構中;
2、在循環結構中,一旦執行到continue就跳出當次循環;
3、在嵌套循環中,可以使用帶標簽的break和continue。
例:
class TestPrimeNumber1 { public static void main(String[] args) { //boolean flag = false; long start = System.currentTimeMillis(); l:for(int i = 2;i <= 100000;i++){//實現100以內的自然數的遍歷 //如何判斷i是否為一個質數 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ //flag = true; //break; continue l; } } //if(!flag){ //System.out.println(i); //} //flag = false; } long end = System.currentTimeMillis(); System.out.println("所花費的時間為:" + (end - start)); } }
注意:請注意第5行代碼(l:for(int i = 2;i <= 100000;i++))以及第11行代碼(continue l;),在第五行代碼前邊寫了一個l:的標簽,然后在第11行代碼處進行調用,如果程序執行到這里會自動跳出此循環,然后從第五行開始執行;
六、數組:
1、定義:相同數據類型的數據的組合。
不使用數組的定義方式:
int i1 = 1; int i2 = 2; int i3 = 3;
使用數組的定義方式:
1、靜態初始化:在聲明并初始化數組與給數組相應的元素賦值操作同時進行;
int[] scores = new int[]{72,90,59};
2、動態初始化:在聲明并初始化數組與給數組相應的元素賦值操作分開進行;
int[] scores1 = new int[3];
socres1[0] = 72;
socres1[1] = 90;
socres1[2] = 59;
2、數組的初始化問題(以下的初始化為錯誤的初始化方式):
String[] names = new String[5]{"AA","BB","CC"}
int i = new int[10];
int i = new int[];
注意:不管是動態初始化還是靜態初始化,一定要在創建的時候就指明數組的長度;
3、數組的引用:
1、通過數組下角標的方式來進行引用;下角標從0開始到n-1結束,其中n為數組的長度。
2、數組的長度通過length屬性來調用;
代碼
3、如何遍歷數組:使用循環來進行遍歷
for(int i = 0,i < scores1.length;i++){
System.out.println(scores1[i]);
}
代碼展示:
public class TestArray { public static void main(String[] args){ int i1; i1 = 12; boolean b = true; //1.如何定義一個數組 //1.1數組的聲明 String[] names; int[] scores; //1.2初始化 //第一種:靜態初始化:初始化數組與給數組元素賦值同時進行。 names = new String[]{"張三","李四","王五"}; //第二種:動態初始化:初始化數組與給數組元素賦值是分開進行的; scores = new int[4]; //2.如何調用相應的數組元素:通過數組元素的下角標的方式來調用。 //下角標從0開始,到n-1結束。其中N表示的是數組的長度。 scores[0] = 87; scores[1] = 89; scores[3] = 98; //3。數組的長度:通過數組的length屬性。 System.out.println(names.length); System.out.println(scores.length); //4.如何遍歷數組元素 // System.out.println(names[0]); // System.out.println(names[1]); // System.out.println(names[2]); for(int i = 0;i < names.length;i++){ System.out.println(names[i]); } } }
上述就是小編為大家分享的Java中的實現循環的方法有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。