一、順序結構
從上往下執行,非常簡單,不做過多贅述,
二、分支結構
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("不是閏年!");
}
}
2.switch陳述句
基礎語法:
switch(整數|列舉|字符|字串){
case 內容1 : {
內容滿足時執行陳述句;
[break;]
}
case 內容2 : {
內容滿足時執行陳述句;
[break;]
}
...
default:{
內容都不滿足時執行陳述句;
[break;]
}
}
面試問題:
不能做switch引數的型別有哪些?
long float double boolean
三、回圈結構
1.while回圈
注意事項:
- 和 if 類似, while 下面的陳述句可以不寫 { } , 但是不寫的時候只能支持一條陳述句.,建議還是加上 { }
- 和 if 類似, while 后面的 { 建議和 while 寫在同一行,
- 和 if 類似, while 后面不要多寫 分號, 否則可能導致回圈不能正確執行,
eg:
public static void main(String[] args) {
int i=1;
int ret=1;
while(i<=5) {
ret *= i;
i++;
}
System.out.println(ret);
2.for回圈
- 和 if 類似, for 下面的陳述句可以不寫 { } , 但是不寫的時候只能支持一條陳述句,建議還是加上 { }
- 和 if 類似, for 后面的 { 建議和 while 寫在同一行,
- 和 if 類似, for 后面不要多寫 分號, 否則可能導致回圈不能正確執行,
求階乘的和
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;
}
}
}
3.do-while回圈
基本語法:
do{
回圈陳述句;
}while(回圈條件)
先執行陳述句再判斷回圈條件,
注意事項:
- do while 回圈最后的分號不要忘記
- 一般 do while 很少用到, 更推薦使用 for 和 while.
四、Java的方法
方法就是一個代碼片段. 類似于 C 語言中的 "函式“,
方法:功能
public static 回傳值 方法名(形式引數串列){
方法體;
}
方法名:要采用小駝峰的形式,maxNum
public static:因為當前所有的方法寫完之后會在Main方法中呼叫,
方法體:就是具體方法的實作,
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.必須要在同一個類當中,
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;
}
}
方法的名字都叫 add. 但是有的 add 是計算 int 相加, 有的是 double 相加; 有的計算兩個數字相加, 有的是計算三個數字相加.
同一個方法名字, 提供不同版本的實作, 稱為方法多載
六、方法的遞回
一個方法在執行程序中呼叫自身, 就稱為 “遞回”,
遞回相當于數學上的 “數學歸納法”, 有一個起始條件, 然后有一個遞推公式,
遞回:
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 呼叫函式自身
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281248.html
標籤:java
