Java程序的邏輯控制和方法

2021-4-28    前端達人

一、順序結構

從上往下執(zhí)行,非常簡單,不做過多贅述。

二、分支結構

1.if語句

與c語言不同的是,java的if(布爾表達式)必須是布爾表達式
eg:判斷某一年是否是閏年

 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int year = scan.nextInt(); if((year%4==0 && year%100 !=10)||(year%400==0)) System.out.println("閏年!"); else{ System.out.println("不是閏年!"); } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2.switch語句

基礎語法:

switch(整數(shù)|枚舉|字符|字符串){ case 內容1 : { 內容滿足時執(zhí)行語句; [break;] } case 內容2 : { 內容滿足時執(zhí)行語句; [break;] } ... default:{ 內容都不滿足時執(zhí)行語句; [break;] } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

面試問題:
不能做switch參數(shù)的類型有哪些?
long float double boolean

三、循環(huán)結構

1.while循環(huán)

注意事項:

  1. 和 if 類似, while 下面的語句可以不寫 { } , 但是不寫的時候只能支持一條語句.,建議還是加上 { }
  2. 和 if 類似, while 后面的 { 建議和 while 寫在同一行。
  3. 和 if 類似, while 后面不要多寫 分號, 否則可能導致循環(huán)不能正確執(zhí)行。
    eg:
 public static void main(String[] args) { int i=1; int ret=1; while(i<=5) { ret *= i; i++; } System.out.println(ret); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.for循環(huán)

  1. 和 if 類似, for 下面的語句可以不寫 { } , 但是不寫的時候只能支持一條語句,建議還是加上 { }
  2. 和 if 類似, for 后面的 { 建議和 while 寫在同一行。
  3. 和 if 類似, for 后面不要多寫 分號, 否則可能導致循環(huán)不能正確執(zhí)行。
    求階乘的和
 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); int sum=0; for(int j=1;j<=num;j++){ int ret=1; for(int i=1;i <= j; i++){ ret*=1; } sum+=ret; } } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

基本語法:
do{
循環(huán)語句;
}while(循環(huán)條件)
先執(zhí)行語句再判斷循環(huán)條件。
注意事項:

  1. do while 循環(huán)最后的分號不要忘記
  2. 一般 do while 很少用到, 更推薦使用 for 和 while.

四、Java的方法

方法就是一個代碼片段. 類似于 C 語言中的 "函數(shù)“。
方法:功能
public static 返回值 方法名(形式參數(shù)列表){
方法體;
}
方法名:要采用小駝峰的形式,maxNum
public static:因為當前所有的方法寫完之后會在Main方法中調用。
方法體:就是具體方法的實現(xiàn)。

public static void main(String[] args) { int a = 10; int b = 20; // 方法的調用 int ret = add(a, b); System.out.println("ret = " + ret); } // 方法的定義 public static int add(int x, int y) { return x + y; } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

五、方法的重載

方法的重載:
1.方法名相同
2.返回值可以不同
3.參數(shù)列表不同(參數(shù)的個數(shù)和參數(shù)的類型不同)
4.必須要在同一個類當中。
eg:

public static void main(String[] args) { int a = 10; int b = 20; int ret = add(a, b); System.out.println("ret = " + ret); double a2 = 10.5; double b2 = 20.5; double ret2 = add(a2, b2); System.out.println("ret2 = " + ret2); double a3 = 10.5; double b3 = 10.5; double c3 = 20.5; double ret3 = add(a3, b3, c3); System.out.println("ret3 = " + ret3); } public static int add(int x, int y) { return x + y; } public static double add(double x, double y) { return x + y; } public static double add(double x, double y, double z) { return x + y + z; } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

方法的名字都叫 add. 但是有的 add 是計算 int 相加, 有的是 double 相加; 有的計算兩個數(shù)字相加, 有的是計算三個數(shù)字相加.
同一個方法名字, 提供不同版本的實現(xiàn), 稱為方法重載

六、方法的遞歸

一個方法在執(zhí)行過程中調用自身, 就稱為 “遞歸”。
遞歸相當于數(shù)學上的 “數(shù)學歸納法”, 有一個起始條件, 然后有一個遞推公式。
遞歸:
1.要調用自己本身。
2.要有一個趨近于終止的條件。
3.推導出遞歸的公式。
eg:求N的階乘

public static void main(String[] args) { int n = 5; int ret = factor(n); System.out.println("ret = " + ret); } public static int factor(int n) { if (n == 1) { return 1; } return n * factor(n - 1); // factor 調用函數(shù)自身 }





    

轉自:csdn 作者:flyyyya


藍藍設計www.yvirxh.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業(yè)提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網(wǎng)站建設 、平面設計服務


日歷

鏈接

個人資料

藍藍設計的小編 http://www.yvirxh.cn

存檔