java流程控制語句

永無bug的程序員 2022-01-07 19:17:30 阅读数:293

java 流程 程控 控制

一:鍵盤錄入數據

 1、導包:import java.util.Scanner;

 2、創建對象:Scanner sc = new Scanner(System.in);

 3、接收數據:數據類型 x=sc.next數據類型() 例:int x=sc.nextInt();

                       字符型:String x=sc.next();

import java.util.Scanner;
public class Practice {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int a= sc.nextInt();
}
}

二:流程控制分類

 1、順序結構:按照自上而下的順序執行代碼、

 2、選擇結構

      (1) if語句:if(關系錶達式1) {

                       語句體1;    

                   }else  if (關系錶達式2) {

                        語句體2;

                    }   

                    …  

                   else {

                         語句體n+1;  

                      } 

 例:獲取三個數據中的最大值 

import java.util.Scanner;
public class Practice {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入第一個數據:");
int a= sc.nextInt();
System.out.println("請輸入第二個數據:");
int b= sc.nextInt();
System.out.println("請輸入第三個數據:");
int c= sc.nextInt();
if (a>b){ //if語句的嵌套實現
if(a>c){
System.out.println("最大值為:"+a);
}else {
System.out.println("最大值為:"+c);
}
}else {
if(b>c){
System.out.println("最大值為:"+b);
}else {
System.out.println("最大值為:"+c);
}
}
}
}

      (2)  switch語句格式: 錶達式的取值:byte,short,int,char     JDK1.5以後可以是枚舉 JDK1.7以後可以是String 

                   switch(錶達式) {

                                  case 值1:

                                             語句體1;  

                                             break;

                                  case 值2:

                                              語句體2;

                                              break;

                                     …  

                                   default:

                                               語句體n+1;

                                                break;

                              } 

           注意事項:case後面只能是常量,不能是變量,且多個case後的值不能出現相同的值。

                             default和beak根據情况而定可以省略,一般不建議;default的比特置可以在switch語句任意比特置。

   例:根據鍵盤錄入的數值1,2,3,…7輸出對應的星期一,星期二,星期三…星期日。

import java.util.Scanner;
public class Spas {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean flag = true;
while (flag) { //如果沒有輸入正確的數,while將循環執行switch語句,且不會停止。
System.out.println("請輸入一個數:");
int n = sc.nextInt();
switch (n) {
case 1:
System.out.println("這是星期一");
flag = false;
break;
case 2:
System.out.println("這是星期二");
flag = false;
break;
case 3:
System.out.println("這是星期三");
flag = false;
break;
case 4:
System.out.println("這是星期四");
flag = false;
break;
case 5:
System.out.println("這是星期五");
flag = false;
break;
case 6:
System.out.println("這是星期六");
flag = false;
break;
case 7:
System.out.println("這是星期天");
flag = false;
break;
default:
System.out.println("請輸入一個正確的數");
break;
}
}
}
}

 3、循環結構

     (1)for循環:for(初始化語句;判斷條件語句;控制條件語句) {           // 判斷條件語句是Boolean錶達式,判斷循環是否繼續執行循環體語句。

                                      循環體語句;                                                    

                             }                                                                            //for循環結束後,初始化語句中定義的變量在外部無法訪問

         

例:水仙花數:所謂的水仙花數是指一個三比特數,其各比特數字的立方和等於該數本身。(153 = 1*1*1 + 5*5*5 + 3*3*3 )

代碼示例
public class ForPractice {
public static void main(String[] args) {
int geWei;
int shiWei;
int baiWei;
for(int i=100;i<1000;i++){
geWei=i%10; //先求i的各個比特的數字
shiWei=i/10%10;
baiWei=i/100;
if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei){
System.out.println(i+"是一個水仙花數");
}
}
}
}

    (2)while循環: while(判斷條件語句) {        

                                     循環體語句;    

                                 } 

         例:我國最高山峰是珠穆朗瑪峰:8848m,我現在有一張足够大的紙張,厚度為:0.01m。請問,我折疊多少次,就可以保證厚度不低於珠穆朗瑪峰的高度? 

public class WhilePractice {
public static void main(String[] args) {
double i=0.01;
int t=0;
while (i<=8848){
i=i*2;
t++;
}
System.out.println(t);
}
}

     (3)do while循環:    do {                      

                                      循環體語句;  

                                  }while((判斷條件語句);

       //do…while循環在判斷條件不成立的情况下也會執行一次循環體; for循環和while循環只有在條件成立的時候才會去執行循環體 。

          例:輸出helloworld;

public class DoWhileDemo1 {
public static void main(String[] args) {
int x = 3;
do{
System.out.println("HelloWorld");
}while (x<3);
}
}

 

版权声明:本文为[永無bug的程序員]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071917296888.html