溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java基礎的控制語句怎么

發(fā)布時間:2022-06-10 15:55:09 來源:億速云 閱讀:181 作者:iii 欄目:編程語言

這篇文章主要介紹了Java基礎的控制語句怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java基礎的控制語句怎么使用文章都會有所收獲,下面我們一起來看看吧。

Java基礎的控制語句怎么

1.分類

怎么接收用戶鍵盤輸入

java.util.Scanner s = new java.util.Scanner(System.in);
    接收整數(shù): int i = s.nextInt()
    接收字符串:String str = s.next();

或者把第一句話分為兩個步驟:

import java.util.Scanner;

  Scanner s = new Scanner(System.in)

控制語句分類

控制語句的可以讓我們的程序具有邏輯性/條理性,可以使用控制語句來實現(xiàn)一個“業(yè)務”。

控制語句包括3類:選擇語句、循環(huán)語句、轉向語句
   選擇語句(分支語句): if語句、switch語句;
   循環(huán)語句: for循環(huán)、while循環(huán)、do..while..循環(huán);
   轉向語句: break、continue、return(后面講);

2.語句詳解

選擇語句if、switch

選擇語句主要包括兩種:if和switch!

if語句

if語句是分支語句,也可以叫做條件語句。if語句的語法格式:
  第一種寫法:

  if(布爾表達式){
                    java語句;
                    java語句;
                }

這里的一個大括號{} 叫做一個分支。
      該語法的執(zhí)行原理是:如果布爾表達式的結果是true,則執(zhí)行大括號中的程序,否則大括號中代碼不執(zhí)行。

 第二種寫法:    

 if(布爾表達式){  // 分支1
                    java語句;     
                }else{  // 分支2
                    java語句;
                }

執(zhí)行原理:如果布爾表達式的結果是true,則執(zhí)行分支1,分支2不執(zhí)行。如果布爾表達式的結果是false,分支1不執(zhí)行,執(zhí)行分支2。

第三種寫法:    

  if(布爾表達式1){ // 分支1
                    java語句;
                }else if(布爾表達式2){ // 分支2
                    java語句;
                }else if(布爾表達式3){ // 分支3
                    java語句;
                }else if(布爾表達式4){ // 分支4...
                    java語句;
                }....

執(zhí)行原理:先判斷“布爾表達式1”,如果“布爾表達式1”為true,則執(zhí)行分支1,然后if語句結束了。
     當“布爾表達式1”結果是false,那么會繼續(xù)判斷布爾表達式2的結果, 如果布爾表達式2的結果是true,則執(zhí)行分支2,然后整個if就結束了。
     從上往下依次判斷,主要看第一個true發(fā)生在哪個分支上。第一個true對應的分支執(zhí)行,只要一個分支執(zhí)行,整個if結束。

第四種寫法:          

  if(布爾表達式1){ // 分支1
                    java語句;
                }else if(布爾表達式2){ // 分支2
                    java語句;
                }else if(布爾表達式3){// 分支3
                    java語句;
                }else if(布爾表達式4){// 分支4
                    java語句;
                }else{
                    java語句; // 以上條件沒有一個成立的。這個else就執(zhí)行了。
                }

注意事項

對于if語句的條件只能是布爾表達式,true和false!不能是具體的數(shù)字和變量這一點是和C語言嚴格區(qū)分的;
對于if語句來說,在任何情況下只能有1個分支執(zhí)行,不可能存在2個或者更多個分支執(zhí)行。if語句中只要有1個分支執(zhí)行了,整個if語句就結束了。(對于1個完整的if語句來說的);
以上4種語法機制中,凡是帶有else分支的,一定可以保證會有一個分支執(zhí)行。以上4種當中,第一種和第三種沒有else分支,這樣的語句可能會導致最后一個分支都不執(zhí)行。第二種和第四種肯定會有1個分支執(zhí)行;
當分支當中“java語句;”只有1條,那么大括號{}可以省略,但為了可讀性,最好不要省略。
控制語句和控制語句之間是可以嵌套的,但是嵌套的時候大家最好一個語句一個語句進行分析,不要冗雜在一起分析。

實例分析

例1

對于變量本身就是布爾類型,我們的方式有多中;因為本身類型就是布爾型,只要合乎語法和邏輯就可以!比如:sex、sex == true、或者寫成三目運算符!

public class Test01{
	public static void main(String[] args){
//1.本身就是布爾類型
		boolean sex  = true;
		if(sex){//sex == true也可以
			System.out.println('男');
		}
		else{
			System.out.println('女');
		}
//2.也可以用三目運算符
		char str = sex?'男':'女';
		System.out.println(str);
//3.一種特殊情況
		if(sex = true){//賦值運算符,也可以編譯通過,永遠只執(zhí)行if語句
			System.out.println('男');
		}
		else{
			System.out.println('女');
		}

	}
}

例2

對于變量是整型,我們的方式就很少了,因為if后面跟的必須是布爾表達式;所以要寫成一個表達式,讓它生成一個布爾類型,例如:i == 100;

如果if...else后面只跟著一條語句,大括號可以省略;如果省略寫了兩個java語句也是沒問題的;但是就會和下面的else斷開,造成else沒有if語句,編譯報錯;

//1.本身不是布爾類型
		int i = 100;
		if(i == 100){
			System.out.println(true);
		}
		else{
			System.out.println(false);
		}
//2.else缺少if
		if(sex)
			System.out.println('男');
			System.out.println("Hello wprld");//合乎語法的
		else //這一行報錯,因為else缺少if
			System.out.println('女');
    //上面等價于
        if(sex){
			System.out.println('男');
           }
			System.out.println("Hello wprld");
		else 
			System.out.println('女');

例3

public class Test02{
	public static void main(String[] args){
		//從鍵盤接收數(shù)據(jù)
		System.out.print("請輸入你的年齡:");
		java.util.Scanner s = new java.util.Scanner(System.in);
		int age = s.nextInt();
//1.方法1
		if(age<0 || age >150){
			System.out.println("年齡不合法");
		}else if(age <= 5){
			System.out.println("嬰幼兒");
		}else if(age <= 10){
			System.out.println("少兒");
		}else if(age <= 18){
			System.out.println("少年");
		}else if(age <= 35){
			System.out.println("青年");
		}else if(age <= 55){
			System.out.println("中年");
		}else{
			System.out.println("老年");
		}

//2.方法2代碼改良
		String str = "老年";
		if(age<0 || age >150){
			System.out.println("年齡不合法");
			return;//不合理就跳出循環(huán),防止后面在打印
		}else if(age <= 5){
			str = "嬰幼兒";
		}else if(age <= 10){
			str = "少兒";
		}else if(age <= 18){
			str = "少年";
		}else if(age <= 35){
			str = "青年";
		}else if(age <= 55){
			str = "中年";
		}
		System.out.println(str);//最后公用一個打??;因為每次只能打印一個
	}
}

例4
   系統(tǒng)接收一個學生的考試成績,根據(jù)考試成績輸出成績的等級。

等級:優(yōu):[90~100]、良:[80~90) 、中:[70-80)、及格:[60~70)、不及格:[0-60)

要求成績是一個合法的數(shù)字,成績必須在[0-100]之間,成績可能帶有小數(shù)。

public class Test03{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("請輸入你的成績:");
		double grade = s.nextDouble();
		String str = "優(yōu)";

		if(grade <0 || grade >100){
			System.out.println("分數(shù)不合法");
			return; //不合理就跳出循環(huán),防止后面在打印
		}else if(grade<60){
			str = "不及格";
		}else if(grade < 70){
			str = "及格";
		}else if(grade < 80){
			str = "中";
		}else if(grade < 90){
			str = "良";
		}
		System.out.println(str);//最后公用一個打?。灰驗槊看沃荒艽蛴∫粋€
	}
}

例5

從鍵盤上接收天氣的信息:1表示:雨天
                                                 0表示:晴天
同時從鍵盤上接收性別的信息:1表示:男
                                                         0表示:女
業(yè)務要求:
                當天氣是雨天的時候:男的:打一把大黑傘
                                                    女的:打一把小花傘
                當天氣是晴天的時候:男的:直接走起,出去玩耍
                                                    女的:擦點防曬霜,出去玩耍

public class Test04{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("請輸入天氣,1表示雨天,0表示晴天:");
		int weather = s.nextInt();
		System.out.print("請輸入性別,1表示男,0表示女:");
		int sex = s.nextInt();

		if(weather == 1){
			if(sex == 1){
				System.out.println("打一把大黑傘");
			}else{
				System.out.println("打一把小花傘");
			}
		
		}else{
			if(sex == 1){
				System.out.println("直接走起,出去玩耍");
			}else{
				System.out.println("擦點防曬霜,出去玩耍");
			}
		}
	}
}

switch語句

switch語句也是選擇語句,也可以叫做分支語句。
switch語句的語法格式:

 switch(值){
            case 值1:
                java語句;
                java語句;...
                break;
            case 值2:
                java語句;
                java語句;...
                break;
            case 值3:
                java語句;
                java語句;...
                break;
            default:
                java語句;
            }

其中:break語句不是必須的;default分支也不是必須的。
       switch語句支持的值有:支持int類型以及String類型。
       一定要注意JDK的版本,JDK8之前不支持String類型,只支持int。在JDK8之后,switch語句開始支持字符串String類型。
       switch語句本質上是只支持int和String,但是byte,short,char也可以
            使用在switch語句當中,因為byte short char可以進行自動類型轉換。

switch語句的執(zhí)行原理
       拿“值”與“值1”進行比較,如果相同,則執(zhí)行該分支中的java語句,然后遇到"break;"語句,switch語句就結束了。
       如果“值”與“值1”不相等,會繼續(xù)拿“值”與“值2”進行比較,如果相同,則執(zhí)行該分支中的java語句,然后遇到break;語句,switch結束。
       注意:如果分支執(zhí)行了,但是分支最后沒有“break;”,此時會發(fā)生case 穿透現(xiàn)象。所有的case都沒有匹配成功,那么最后default分支會執(zhí)行。

實例分析

例1

寫一個完整的switch語句;接收鍵盤輸入,根據(jù)輸入的數(shù)字來判斷星期幾。
0 星期日、1 星期一....、假設輸入的數(shù)字就是正確的。0到6

public class Test05{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("請輸入[0-6]的天數(shù):");
		int day = s.nextInt();
		switch(day){
		case 0:
			System.out.println("星期日");
			break;
		case 1:
			System.out.println("星期一");
			break;
		case 2:
			System.out.println("星期二");
			break;
		case 3:
			System.out.println("星期三");
			break;
		case 4:
			System.out.println("星期四");
			break;
		case 5:
			System.out.println("星期五");
			break;
		case 6:
			System.out.println("星期六");
			break;
		default:
			System.out.println("選擇錯誤");
			break;
		}
		
	}
}

例2
   系統(tǒng)接收一個學生的考試成績,根據(jù)考試成績輸出成績的等級。必須用switch來寫

等級:優(yōu):[90~100]、良:[80~90) 、中:[70-80)、及格:[60~70)、不及格:[0-60)

要求成績是一個合法的數(shù)字,成績必須在[0-100]之間,成績可能帶有小數(shù)。

public class SwitchTest02{
	public static void main(String[] args){
		//提示用戶輸入學生成績
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("請輸入學生成績:");
		double score = s.nextDouble();
		//System.out.println(score);
		if(score < 0 || score > 100){
			System.out.println("您輸入的學生成績不合法,再見!");
			return; 
		}

		// 程序能夠執(zhí)行到這里說明成績一定是合法的。
		// grade的值可能是:0 1 2 3 4 5 6 7 8 9 10
		// 0 1 2 3 4 5 不及格
		// 6 及格
		// 7 中
		// 8 良
		// 9 10 優(yōu)
		
		int grade = (int)(score / 10); // 95.5/10結果9.55,強轉為int結果是9
		String str = "不及格";
		switch(grade){
		case 10: case 9:
			str = "優(yōu)";
			break;
		case 8: 
			str = "良";
			break;
		case 7:
			str = "中";
			break;
		case 6:
			str = "及格";
		}
		System.out.println("該學生的成績等級為:" + str);
	}
}

循環(huán)語句while、do...while、for

for循環(huán)

for循環(huán)的語法機制以及運行原理

Java基礎的控制語句怎么
       語法機制:

 for(初始化表達式; 條件表達式; 更新表達式){
                循環(huán)體; // 循環(huán)體由java語句構成
                java語句;
                java語句;
                java語句;
                java語句;
                ....
            }

注意:
                第一:初始化表達式最先執(zhí)行,并且在整個循環(huán)中只執(zhí)行一次。
                第二:條件表達式結果必須是一個布爾類型,也就是:true或false
     執(zhí)行原理:
           (1)先執(zhí)行初始化表達式,并且初始化表達式只執(zhí)行1次。
           (2)然后判斷條件表達式的結果,如果條件表達式結果為true,則執(zhí)行循環(huán)體。
           (3)循環(huán)體結束之后,執(zhí)行更新表達式。
           (4)更新完之后,再判斷條件表達式的結果,如果還是true,繼續(xù)執(zhí)行循環(huán)體。
           (5)直到更新表達式執(zhí)行結束之后,再次判斷條件時,條件為false,for循環(huán)終止。       更新表達式的作用是:控制循環(huán)的次數(shù),換句話說,更新表達式會更新某個變量的值,這樣條件表達式的結果才有可能從true變成false,從而 終止for循環(huán)的執(zhí)行,如果缺失更新表達式,很有可能會導致死循環(huán)。

例1

public class ForTest02{
	public static void main(String[] args){
//1. 最簡練的for循環(huán)
      //初始化表達式、條件表達式、更新表達式 其實都不是必須的?。?!
		for(;;){
			System.out.println("死循環(huán)");
		}

//2.最常見的for循環(huán)
		for(int i = 0;i < 10;i++){
			System.out.println("i = " + i); // 0 1 2 3....9
		} 
		System.out.println(i);//錯誤: 找不到符號,i的范圍只在for循環(huán)內

//3.i變量的作用域就擴大了。
		int i = 0;
		for(;i < 10;i++){
			System.out.println("i --> " + i); // 0 1 2 3....9
		}
		System.out.println("i = " + i); //10,這里的i就可以訪問了

//4.變形
		for(int k = 1; k <= 10; ){
			System.out.println("k --> " + k); 
			k++;// 1 2 3 4 5 6 7 8 9 10 
		}
//5.變形
		for(int k = 1; k <= 10; ){
			k++;
			System.out.println("value --> " + k); // 2 3 4 5 6 7 8 9 10 11
		}

	}
}

例2

public class ForTest03{
	public static void main(String[] args){
//1. for的其它形式
		for(int i = 10; i > 0; i--){
			System.out.println("i = " + i); // 10 9 8 7 6 5 4 3 2 1
		}
//2. 變形
		for(int i = 0; i < 10; i += 2){
			System.out.println("value1 = " + i); // 0 2 4 6 8 
		}

//3. 死循環(huán)	
		for(int i = 100; i > 0; i %= 3){
			System.out.println("value2 = " + i); // 100 1 1... 1
		}

	}
}

例3:求1-100所得奇數(shù)和

public class Test07{
	public static void main(String[] args){
		int i = 0;
		int sum = 0;
		for(i=1;i<=100;i+=2){
			sum+=i;
		}
		System.out.println("sum = "+sum);//2500
	}
}

例4:嵌套循環(huán)

public class Test08{
	public static void main(String[] args){
//1.注意初始化放里面
	for(int i =0;i< 2;i++){
		for(int j=0;j<10;j++){
		   System.out.print(j+" ");
	   }
		System.out.println();
	}//打印兩行0-9的數(shù)字
//2.初始化放外面
    int n = 0;
	for(int m = 0;m<2;m++){
		for(;n<10;n++){
			System.out.print(n+" ");
		}
		System.out.println();
	}//打印一行0-9的數(shù)字
 }
	
}

例5:九九乘法表

public class Test09{
	public static void main(String[] args){
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i + "=" +i*j+"  ");
			}
			System.out.println();
		}
	}
}

while循環(huán)

while循環(huán)的語法機制以及執(zhí)行原理
     語法機制:

 while(布爾表達式){
                    循環(huán)體;
                }

執(zhí)行原理:
         判斷布爾表達式的結果,如果為true就執(zhí)行循環(huán)體,循環(huán)體結束之后,再次判斷布爾表達式的結果,如果還是true,繼續(xù)執(zhí)行循環(huán)體,直到布爾表達式結果為false,while循環(huán)結束。

while循環(huán)有沒有可能循環(huán)次數(shù)為0次?
          可能;while循環(huán)的循環(huán)次數(shù)是:0~n次。

例1

public class WhileTest01{
	public static void main(String[] args){
//1.死循環(huán)
		while(true){
			System.out.println("死循環(huán)");
		}
//2.本質上while循環(huán)和for循環(huán)原理是相同的。
		for(初始化表達式; 布爾表達式; 更新表達式){
				循環(huán)體;
			}

		初始化表達式;
		while(布爾表達式){
				循環(huán)體;
				更新表達式;
			}
//3.例子對比
		//----for	
        for(int i = 0; i < 10; i++){
			System.out.println("i --->" + i);
		 }
        //----while
		int i = 0;
		while(i < 10){
			System.out.println("i = " + i);
			i++;
		}


//4.for和while完全可以互換,只不過就是語法格式不一樣。
		for(int i = 0; i < 10; ){
			i++;
			System.out.println("i --->" + i); // 1 2 3 .. 9 10
		}

		int i = 0;
		while(i < 10){
			i++;
			System.out.println("i = " + i); // 1 2 3 .. 9 10
		}


	}
}

do...while循環(huán)

do..while循環(huán)語句的執(zhí)行原理以及語法機制:
    語法機制:

        do {
                循環(huán)體;
            }while(布爾表達式);

注意:do..while循環(huán)最后的時候別漏掉“分號”;

執(zhí)行原理:
         先執(zhí)行循環(huán)體當中的代碼,執(zhí)行一次循環(huán)體之后,判斷布爾表達式的結果,如果為true,則繼續(xù)執(zhí)行循環(huán)體,如果為false循環(huán)結束。
   對于do..while循環(huán)來說,循環(huán)體至少執(zhí)行1次。循環(huán)體的執(zhí)行次數(shù)是:1~n次。
        對于while循環(huán)來說,循環(huán)體執(zhí)行次數(shù)是:0~n次。

例1

public class Test10{
	public static void main(String[] args){
		int i = 0;
//1.
		do{
			//第一種方法
			System.out.println(i);
			i++;
			//第二種方法
			System.out.println(i++);
		}while(i<10);//0...9
//2.
		i = 0;
		do{		
			System.out.println(++i);
		}while(i<10);//1...10
		
	}
}

轉向語句:break、continue

break語句

break;語句比較特殊,特殊在:break語句是一個單詞成為一個完整的java語句。
      break的作用:終止當前循環(huán),直接跳出循環(huán);

break主要用在兩個地方,其它位置不行:
      第一個位置:switch語句當中,用來終止switch語句的執(zhí)行。用在switch語句當中,防止case穿透現(xiàn)象,用來終止switch。
      第二個位置:break;語句用在循環(huán)語句當中,用在for當中、用在while當中、用在do....while當中;用來終止循環(huán)的執(zhí)行。

break;語句的執(zhí)行并不會讓整個方法結束,break;語句主要是用來終止離它最近的那個循環(huán)語句。

怎么用break;語句終止指定的循環(huán)呢?
     第一步:你需要給循環(huán)起一個名字,例如:

       a: for(){
                    b:for(){
                    
                    }
                }

第二步:終止:break a;

例1

public class BreakTest01{
	public static void main(String[] args){
		for(int i = 0; i < 10; i++){
			if(i == 5){
//1.break;語句會讓離它最近的循環(huán)終止結束掉。終止的不是if,不是針對if的,而是針對離它最近的循環(huán)。
				break; 
			}
			System.out.println("i = " + i); // 0 1 2 3 4
		}

//2.這里的代碼照常執(zhí)行。break;的執(zhí)行并不會影響這里。
		System.out.println("Hello World!");

//3.常用的終止內存的for
		for(int k = 0; k < 2; k++){ // 外層for
			for(int i = 0; i < 10; i++){ // 內層for
				if(i == 5){
					break; //這個break;語句只能終止離它最近的for,內層的for
				}
				System.out.println("i ===> " + i); 
			}
		}

		System.out.println("------------------------------------------");

//4.終止外層的for,起一個別名!
		a:for(int k = 0; k < 2; k++){ 
			b:for(int i = 0; i < 10; i++){
				if(i == 5){
					break a; //終止指定的循環(huán)。
				}
				System.out.println("i ===> " + i); 
			}
		}

		System.out.println("呵呵");

	}
}

continue語句

continue翻譯為:繼續(xù);continue語句和break語句要對比著學習;

continue語句的作用是:終止當前"本次"循環(huán),直接進入下一次循環(huán)繼續(xù)執(zhí)行。
continue語句后面也可以指定循環(huán);

 a:for(;;更新表達式1){
                b:for(;;更新表達式2){
                    if(){
                        continue a;
                    }
                    code1;
                    code2;
                    code3;
                }
            }

例1

public class ContinueTest01{
	public static void main(String[] args){
//1.對于break直接跳出當前循環(huán)
		for(int i = 0; i < 10; i++){
			if(i == 5){
				break;
			}
			System.out.println("i = " + i);//0、1、2、3、4
		}

		System.out.println("----------------------------");

//2.對于continue是跳出當前的一次循環(huán),繼續(xù)下一次循環(huán)
		for(int i = 0; i < 10; i++){
			if(i == 5){
				continue;
			}
			System.out.println("i = " + i); //輸出結果是0-9沒有5
		}

	}
}

3.小試牛刀

例1:計算1000以內所有不能被7整除的整數(shù)之和

public class Test01{
	public static void main(String[] args){
		int sum = 0;
		for(int i = 1;i<=1000;i++){
			if(i%7 != 0){
				sum +=i;
			}
		}
	System.out.println("sum="+sum);
	}
}

例2:計算 1+2-3+4-5+6-7....+100的結果

注意除1以外,偶數(shù)是正,奇數(shù)是負;所以我們就從2開始循環(huán),把sum初始化為1就可

//方法1:
public class Test02{
	public static void main(String[] args){
		int sum = 1;
		for(int i=2;i<=100;i++){
			if(i%2 ==0){
				sum+=i;
			}
			else{
				sum-=i;
			}
		}
	System.out.println(sum);
	}
}
//方法2:定義一個flag標記,用來控制正負,一個數(shù)一個數(shù)進行處理
public class Test02{
	public static void main(String[] args){
		int sum = 1;
		int flag = 1;
		for(int i=2;i<=100;i++){
			sum +=flag*i;
			flag = -flag;
		}
	System.out.println(sum);
	}
}

例3:從控制臺輸入一個正整數(shù),計算該數(shù)的階乘。

public class Test03{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("請輸入一個整數(shù):");
		int num = s.nextInt();
		int ret = 1;
		//方法1
		for(int i=1;i<=num;i++){
			ret*=i;
		}
		//方法2
		for(int i = num;i>0;i--){
			ret*=i;
		}
	System.out.println(ret);
	}
}

例4:判斷一個數(shù)是不是質數(shù)

//方法1:
public class Test04{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		int num = s.nextInt();
		int i = 0;
		for(i = 2;i<num;i++){
			if(num%i == 0){
			 System.out.println(num+"不是質數(shù)");
			 break;
			}
		}
		if(i == num){
			System.out.println(num+"是質數(shù)");
	}
}
//方法2:
public class Test04{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		int num = s.nextInt();
		int i = 0;
		boolean str = true;//也相當于一個標記
		for(i = 2;i<num;i++){
			if(num%i == 0){
			 str = false;//不是更改標記
			 break;
			}
		}
		System.out.println(num+(str ? "是":"不是")+"質數(shù)");//根據(jù)標記輸出值
	}
}

例5:打印金字塔

    *
   ***
  *****
 *******
*********
public class Test05{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		int n = s.nextInt();
		for(int i=0;i<n;i++){
			for(int j=0;j<n-i-1;j++){
					System.out.print(" ");
			}
			for(int j=0;j<2*i+1;j++){
				System.out.print("*");
			}
		System.out.println();
		}
		
	}
}

例6:

小芳的媽媽每天給她2.5元錢,她都會存起來,但是,每當這一天是存錢的第5天
或者5的倍數(shù)的話,她都會花去6元錢,請問,經過多少天,小芳才可以存到100元錢!

public class Test06{
	public static void main(String[] args){
		double money = 0;
		int day = 0;
		while(true){//這也可以寫成while(money<100),這樣就不需要break了
			money += 2.5;
			day++;
			if(day%5 == 0){
				money -= 6;
			}
			if(money >= 100){
				break;
			}
		}
	System.out.println("需要"+day+"天存到"+money+"元錢");
	}
}

例7:

一個數(shù)如果恰好等于它的因子之和,這個數(shù)就是完數(shù),例如 6 = 1 + 2 + 3,編程
找出1000內所有的完數(shù)。

public class Test07{
	public static void main(String[] args){
		for(int i=2;i<=1000;i++){//1不算完數(shù),從2開始
//注意sum的位置,寫在內循環(huán),因為每次都要重置sum為0
			int sum = 0;
//i取一半,最好的是取根號i,目前還沒學習庫函數(shù),先取i/2
			for(int j=1;j<= i/2;j++){
				if(i%j == 0){
					sum += j;
				}
			}
			if(sum == i){
				System.out.println(i);
			}
		}
		
	}
}

例8:求一個數(shù)是幾位數(shù),并逆序打印每一位

public class Test08{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		int num = s.nextInt();
		int count = 0;
		int tmp = num;
		//求位數(shù)
		while(tmp != 0){
				count++;
				tmp /= 10;
		}
		System.out.println("位數(shù)是"+count+"位");
		//逆序打印
		tmp = num;
		while(tmp != 0){
			System.out.println(tmp%10);
			tmp /= 10;
		}
	}
}

例9

1 10 100 1000 
2 20 200 2000 
3 30 300 3000 
4 40 400 4000
public class Test09{
	public static void main(String[] args){
		for(int i=1;i<=4;i++){
			int tmp = i;
			for(int j=1;j<=4;j++){
				System.out.print(tmp+" ");
				tmp *= 10;
			}
			System.out.println();
		}
	}
}

10

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
public class Test10{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		int num = s.nextInt();
		x(num);
	}
	public static void x(int n){
//1.打印上半部分
		for(int i=0;i<n;i++){
			for(int j=0;j<n-i-1;j++){
				System.out.print(" ");
			}
			for(int j=0;j<2*i+1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
//2.打印下半部分
		for(int i=0;i<n-1;i++){
			for(int j=0;j<=i;j++){
				System.out.print(" ");
			}
			for(int j=0;j<2*(n-i-1)-1;j++){
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

11

籃球從 5 米高的地方掉下來,每次彈起的高度是原來的 30%,經過幾次彈起,籃球的高度是 0.1 米。

public class Test11{
	public static void main(String[] args){
		int count = 0;
		double h = 5;
		while(h >= 0.1){
			h *= 0.3;
			count++;
	    }	
	 System.out.println(count);
	}
}

關于“Java基礎的控制語句怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java基礎的控制語句怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI