JAVA基礎階段03---while與for迴圈
阿新 • • 發佈:2022-03-11
JAVA基礎階段03
迴圈結構
while迴圈
基礎結構
while(布林表示式){
// 迴圈內容
}
- 只要布林表示式為true,迴圈就會一直下去
- 我們大多數情況會讓迴圈停止下來,我們需要一個讓表達失效的方式結束迴圈
- 少部分情況需要迴圈一直執行,比如伺服器的請求響應監聽等。
- 迴圈條件一直為true就會造成無限死迴圈,我們正常的業務程式設計中應該儘量避免死迴圈,會影響程式效能或者造成程式卡死崩潰。
public static void main(String[] args) { //輸出1-100 int i = 0; while (i<100){ i++; System.out.println(i); } }
public static void main(String[] args) {
//計算1+2+3....+100=?
int i = 0;
int sum = 0;
while (i<=100){
sum = sum + i;
i++;
}
System.out.println(sum);
}
do while迴圈
- 對於while而言,不過不滿足條件,則不能進入迴圈,但我們需要即使不滿足條件,也至少執行一次。
- do while相較於while會至少執行一次
基礎結構
do{ //程式碼語句 }while(布林表示式)
public static void main(String[] args) {
int i = 0;
int sum = 0;
do{
sum=sum+i;
i++;
}while(i<=100);
System.out.println(sum);
}
while與do while的區別
- while先判斷後執行,dowhile先執行後判斷
jpublic static void main(String[] args) { int a = 0; while(a<0){ System.out.println(a); a++; } System.out.println("=========================="); do{ System.out.println(a); a++; }while(a<0); }
for迴圈(重要
- 雖然所有的迴圈語句都可以用while或者do while表示,但是java還提供了另一種語句-----for迴圈,是一些迴圈結構變得更加簡單
- for迴圈語句是支援迭代的一種通用結構,是最有效,最靈活的迴圈結構
- for迴圈的執行次數是在執行前就確定的,語法如下
for(初始化;布林表示式;更新){
//程式碼語句
}
for練習
public static void main(String[] args) {
//練習1:計算0到100之間的奇數和偶數的和
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if(i%2!=0){ //奇數
oddSum+=i;
}else{ //偶數
evenSum+=i;
}
}
System.out.println("輸出奇數的和:"+oddSum);
System.out.println("輸出偶數的和:"+evenSum);
}
public static void main(String[] args) {
//用while或for迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個
for (int i = 0; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){ //每過三個就是15的倍數能整除15就滿足條件
System.out.println(); //空串換行,或者"\n"
}
}
//println 輸出完會換行
//print 輸出完不會換行
/*
另一種新定義一個整數作為計數器到3輸出回車
int num=0;
for (int i = 1; i <=1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
num++;
if(num%3==0){
System.out.println();
}
}
}
*/
}
//列印9x9乘法表
//先列印第一列,再把一開始固定的1用新的迴圈包起來(j的迴圈)得出一個矩形的乘法表
//去掉累贅的部分,即判斷i和j的大小
//打印出空格和換行即可成功
public static void main(String[] args) {
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
增強for迴圈
做個瞭解
- jdk5引用的主要用於陣列或集合的增強型for迴圈
- 表示式如下
for(宣告語句:表示式){
//程式碼句子
}
- 宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配,其作用限定在迴圈語句塊,其值於此時陣列元素的值相等
- 表示式:表達是要訪問的陣列名,或者是返回值為陣列的方法。
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; //定義了一個數組
for(int i = 0;i < 5;i++){
System.out.println(numbers[i]);
}
System.out.println("===================");
//遍歷陣列的元素
for (int x:numbers){
System.out.println(x);
}
}