日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java控制结构

發布時間:2023/12/4 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java控制结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

控制結構

  • 程序流程控制介紹

順序控制

分支控制if-else

單分支

案例演示

01:

import java.util.Scanner; public class IfWorkDemo {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);System.out.println("input your age");int age = myScanner.nextInt();if (age > 18){System.out.println("Your age beyond 18 ,you shoule be responsible to your action ");}} }

流程圖

雙分支

案例演示

01:

import java.util.Scanner; public class IfWorkDemo01 {public static void main(String [] args){Scanner myScanner = new Scanner(System.in);int age = myScanner.nextInt();System.out.println("input your age");if (age > 18){System.out.println("Your age beyond 18 ,you shoule be responsible to your action ")}else{System.out.println("You are not old no enough to let you off this time");}} }

流程圖

單分支和雙分支練習題

01:

public class PracticeWorkDemo {public static void main(String [] args){int x = 7;int y = 4;if (x > 5){if (y > 5){System.out.println(x+y);}System.out.println("okokok");}else{System.out.println("x is "+x);}} }

OUTPUT:

okokok

02:

public class IfWorkDemo {public static void main(String[] args){double d1 = 34.5;double d2 = 2.6;if (d1 > 10.0 && d2 < 20.0){System.out.println("兩個數之和 = "+(d1+d2);}} }

03:

public class SumWorkDemo {public static void main(String[] args){int num1 = 10;int num2 = 5;int sum = num1+num2;if (sum % 3==0 && sum % 5==0){System.out.println("ok");}else{System.out.println("no");}} }

04:

import java.util.Scanner; public class YearWorkDemo {public static void main(String[] args){Scaneer myYear = new Scanner(System.in);int year = myYear.nextInt();if ((year %4==0 && year %100 !=0 )|| year %400 ==0){System.out.println("ok");}else{System.out.println("no");}} }

多分支

流程圖

案例演示

import java.util.Scanner; public class MaWorkDemo {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);int score = myScanner.nextInt();if (score >= 1 && score <= 100){ if (score == 100){System.out.println("信用極好");}else if (score > 80 && score <= 99){System.out.println("信用優秀");}else if (score >=60 && score <= 80){System.out.println("信用一般");}else{System.out.println("信用不及格");}}else{System.out.println("Input is Error");}} }

小練習

01:

boolean b = true; if (b==false) {System.out.println("a"); } else if (b) {System.out.println("b"); } else if (!b) {System.out.println("c"); } else {System.out.println("d"); }//output = b

02:

boolean b = true; if (b=false) {System.out.println("a"); } else if (b) {System.out.println("b"); } else if (!b) {System.out.println("c"); } else {System.out.println("d"); }//output = c

嵌套分支

應用案例

01:

import java.util.Scanner; public class MatchWorkDemo {public static void main(String [] args){Scanner myScanner = new Scanner(System.in);System.out.println("Please input score");double score = myScanner.nextDouble();if (score > 8.0){System.out.println("Please input gender");char gender = myScanner.next().charAt(0);if (gender == '男'){System.out.println("Enter the men's division");}else if (gender== '女'){System.out.println("Enter the women's division");}else {System.out.println("Input Error");}}else{System.out.println("cup tie");}} }

代碼略。

switch分支結構

流程圖

案例演示

01:

import java.util.Scanner; public class SwitchWorkDemo {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);System.out.println("Please input a-g");char c1 = myScanner.next().charAt(0);switch(c1){case 'a':System.out.println("Today is monday");break;case 'b':System.out.println("Today is Tuesday");break;case 'c':System.out.println("Today is Wednesday");break;//......default :System.out.println("Input Error");}} }

細節討論

  • 表達式數據類型,應和case后的常量類型一致,或者是可以自動轉成相互比較的類型,比如輸入的是字符,而常量是int

01:

public class SwitchWorkDemo {public static void main(String[] args){char c = 'a';switch(c){case 'a':System.out.println("ok1");break;//correct char -> int case 20:System.out.println("ok2");break;//error String 無法轉成 charcase 'hello':System.out.println("ok3");break;default:System.out.println("ok4");}} }

02:

public class SwitchWorkDemo {public static void main(String[] args){String c = "a";switch(c){case "b":System.out.println("ok1");break;case "20":System.out.println("ok2");break;//error String 無法轉成 intcase 20:System.out.println("ok3");break;default:System.out.println("ok4");}} }
  • switch(表達式)中表達式的返回值必須是(byte,short,int,char,enum[枚舉],String)

01:

public class SwitchWorkDemo {public static void main(String[] args){double c = 1.1;switch(c){//error switch(表達式)中表達式的返回值必須是(byte,short,int,char,enum[枚舉],String)case 1.1:System.out.println("ok1");break;default:System.out.println("ok2");}} }
  • case子句中的值必須是常量(1,‘a’)或者是常量表達式,而不能是變量
class SwitchWork {public static void main(String[] args){char c = 'a';char c2 = 'c';switch(c){//error case子句中的值必須是常量(1,'a')或者是常量表達式,而不能是變量case c2:System.out.println("ok");break;default:System.out.println("ok2");}} }
  • default是可選的,就是說,可以沒有default。如果沒有default子句,有沒有匹配任何常量,則沒有輸出

  • break語句用來在執行完一個case分支后使程序跳出switch語句塊,如果沒有寫break,程序會順序執行到switch結尾

public class SwitchDemo {public static void main(String[] args){char c = 'b';char c2 = 'c';switch(c){case 'b'://沒有break,穿透了System.out.println("ok1");case 'c':System.out.println("ok2");default:System.out.println("ok3");}}}

結果如下:

小練習

01:

import java.util.Scanner; public class ConvertWork {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);System.out.println("Please input a-e");char c1 = myScanner.next().charAt(0);switch(c1){case 'a':System.out.println("A");break;case 'b':System.out.println("B");break;case 'c':System.out.println("C");break;case 'd':System.out.println("D");break;case 'e':System.out.println("E");break;default :System.out.println("Input Error");}} }

02:

public class SwitchDemo {public static void main(String[] args){double score = 88.5;if (score >=0 && score <=100){switch((int)(score/60)){case 0:System.out.println("不合格");break;case 1:System.out.println("合格");break;// default:// System.out.println("Input Error");}}else{System.out.println("Input Error");}} }

03:

import java.util.Scanner; public class SwitchDemo {public static void main(String [] args){Scanner myScanner = new Scanner(System.in);System.out.println("Input month");int month = myScanner.nextInt();switch(month){case 3:case 4:case 5:System.out.println("springtime");break;case 6:case 7:case 8:System.out.println("summer");break;case 9:case 10:case 11:System.out.println("autumn");case 1:case 2:case 12:System.out.println("winter");default :System.out.println("Input Error");}} }

switch和if的比較

先死后活,化繁為簡

for循環控制

流程圖

使用細節

小練習

01:

public class ForExercise {public static void main(String[] args){int cnt = 0;int sum = 0;int start = 1;int end = 100;int num = 9;for (int i = start;i<=end;i++){if (i % num==0){System.out.println("i = "+i);cnt++;sum+=i;}}System.out.println("cnt = "+cnt);System.out.println("sum = "+sum);} }

02:

public class ForWorkDemo {public static void main(String [] args){int n = 5;for (int i = 0;i<=n;i++){System.out.println(i+"+"+(n-i)+"="+n);}} }

while循環控制

01:

public class WhileWorkDemo {public static void main(String[] args){int i = 1;while(i <= 10){System.out.println("i = "+i);i++;}} }

流程圖

注意事項和細節說明

小練習

01:

public class WhileWork {public static void main(String[] args){int i = 1;while(i <= 100){if (i%3==0){System.out.println(i);//i++;//easy error}i++;}} }

02:

public class WhileWork {public static void main(String[] args){int i = 40;while(i<=200){if (i %2==0){System.out.println(i);}i++;}} }

do…while循環控制

流程圖

01:

public class DoWhileWork {public static void main(String[] args){int i = 1;do{System.out.println(i);i++;}while(i <= 10);System.out.println("continue");} }

注意事項和細節說明

小練習

01:

public class DoWhileWork {public static void main(String[] args){int cnt = 0;int i = 1;do{if (i % 5==0 && i%3!=0){System.out.println(i);cnt++;}i++;}while(i<=200);System.out.println(cnt);} }

02:

import java.util.Scanner; public class DoWhileWork {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);char answer = ' ';do{System.out.println("老韓使用五連鞭");System.out.println("老韓問:還錢嗎?y/n");answer = myScanner.next().charAt(0);System.out.println("His ansmer = "+answer);}while(answer!='y');System.out.println("李三還錢了");} }

多重循環控制

01:

public class ForWorkDemo {public static void main(String[] args){for (int i = 0;i<2;i++) for (int j = 0;j<3;j++){System.out.println("i = "+i+" j = "+j);}} }

結果如下:

小練習

01:

import java.util.Scanner; public class ForWorkDemo {public static void main(String[] args){Scanner myScanner = new Scanner(System.in);double sumbig = 0;for (int i = 1;i<=3;i++){double sum = 0;int cnt = 0;for (int j = 1;j<=5;j++){System.out.println("Please input 第"+i+"個班級的第"+j+"個學生");double score = myScanner.nextDouble();sum+=score;if (score >= 60){cnt++;}}System.out.println("第"+i+"個班級及格的學生有"+cnt+"個");System.out.println("第"+i+"個班級的平均分為:" + sum/5);sumbig+=(sum/5);}System.out.println("bigsum = "+(sumbig/3));} }

02:

代碼略。

大練習

化繁為簡

01:

public class PrintWorkDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){System.out.println("*****"); // ***** // ***** // ***** // ***** // *****}} }

02:

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

03:

public class PrintWorkDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){for (int k = 1;k<=5-i;k++){System.out.print(" ");}for (int j = 1;j<=2*i-1;j++){System.out.print("*");}System.out.println();}} }// * // *** // ***** // ******* //*********

04:

public class PrintWorkDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){for (int k = 1;k<=5-i;k++){System.out.print(" ");}for (int j = 1;j<=2*i-1;j++){if (i!=5 && j==1 || j==2*i-1)System.out.print("*");else if (i!=5)System.out.print(" ");elseSystem.out.print("*");}System.out.println();}} }// * // * * // * * // * * //*********

跳轉控制語句break

  • Math.random()

返回帶正號的double值,該值大于等于0.0,且小于1.0

01:

public class RandomBreakWork {public static void main(String[] agrs){int cnt = 0;while(true){cnt++;int flag = (int)(Math.random()*100)+1;if (flag==97) break;}System.out.println(cnt);} }

基本介紹和流程圖

注意事項和細節說明

01:

public class RandomBreakWork {public static void main(String[] agrs){label1:for (int j = 0;j<4;j++){label2:for (int i = 0;i<10;i++){if (i == 2) break;System.out.println("i = "+i);}}} }

結果如下:

02:

public class RandomBreakWork {public static void main(String[] agrs){label1:for (int j = 0;j<4;j++){label2:for (int i = 0;i<10;i++){if (i == 2) break label1;System.out.println("i = "+i);}}} }

結果如下:

小練習

01:

public class RandomBreakWork {public static void main(String[] agrs){int sum = 0;for (int i = 1;i<=100;i++){sum+=i;if (sum > 20){System.out.println(i);break;}}} }//------------------------------------------public class RandomBreakWork {public static void main(String[] agrs){int flag = 0;int sum = 0;for (int i = 1;i<=100;i++){sum+=i;if (sum > 20){flag = i;break;}}System.out.println(flag);} }

02:

tip:

  • 字符串的內容比較使用的方法equals
public class StringTestDemo {public static void main(String[] args){String name = "Tom";System.out.println(name.equals("Jack"));System.out.println("jack".equals(name));//[推薦,可以避免空指針]} } import java.util.Scanner;public class RandomBreakWork {public static void main(String[] agrs){Scanner myScanner = new Scanner(System.in);String name = "";String passwd = "";int chance = 3;for (int i = 1;i<=3;i++){System.out.println("Please input name");name = myScanner.next();System.out.println("Please input passwd");passwd = myScanner.next();//compareif("丁真".equals(name) && "666".equals(passwd)){System.out.println("ok");break;}chance--;System.out.println("你還有"+chance+"次機會");}} }

跳轉控制語句continue

流程圖

01:

public class RandomBreakWork {public static void main(String[] agrs){int i = 1;while(i <= 4){i++;if (i==2){continue;}System.out.println("i = "+i); // i = 3 // i = 4 // i = 5}} }

案例說明

01:

public class RandomBreakWork {public static void main(String[] agrs){label1:for (int j = 0;j<2;j++){label2:for (int i = 0;i<10;i++){if (i==2){continue;}System.out.println("i = "+i);}}} }

結果如下:

i = 0
i = 1
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 0
i = 1
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9

02:

public class RandomBreakWork {public static void main(String[] agrs){label1:for (int j = 0;j<2;j++){label2:for (int i = 0;i<10;i++){if (i==2){continue label1;}System.out.println("i = "+i);}}} }

結果如下:

i = 0
i = 1
i = 0
i = 1

跳轉控制語句return

01:

public class ReturnDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){if (i==3){System.out.println(i);break ;}System.out.println("hello world");}System.out.println("go on...");} }

結果如下:

hello world
hello world
3
go on…

02:

public class ReturnDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){if (i==3){System.out.println(i);continue;}System.out.println("hello world");}System.out.println("go on...");} }

結果如下:

hello world
hello world
3
hello world
hello world
go on…

03:

public class ReturnDemo {public static void main(String[] args){for (int i = 1;i<=5;i++){if (i==3){System.out.println(i);return;}System.out.println("hello world");}System.out.println("go on...");} }

結果如下:

hello world
hello world
3

總結

以上是生活随笔為你收集整理的Java控制结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。