導航🚀
- ?前言?
- 🌲邏輯結構
- 分支結構
- if
- switch
- 回圈結構
- while回圈
- for回圈
- do while回圈
- break和continue
- 輸入輸出
- 輸出
- 輸入
- 🌲方法
- 方法的多載
- 方法的遞回
?前言?
本文主要介紹JavaSE的邏輯結構和方法,
對一門編程語言邏輯結構和方法的理解是站在C語言之上的,建議配套C語言版本的分析一起食用
鏈接直達:💎C語言:函式💎
🎉歡迎關注🔎點贊👍收藏??留言📝
🔑GithubJava倉庫,歡迎點擊訪問🔑
📝博主的筆記鏈接📝
🌲邏輯結構
分支結構
if
//格式1
if(a){
}
//格式2
if(a){
}else{
}
//格式3
if(a){
}else if(b){
}else if(c){
}else{
}
需要注意的是,條件必須是布爾運算式
在C語言中if(1)表示進入執行,在Java中必須是if(true)
C語言中0代表false,非0代表true,但是在java中必須是true或者false
需要注意的else的懸垂問題
int x = 10;
int y = 20;
if(x==10)
if(y==10)
System.out.println("true");
else
System.out.println("false");
我們很容易看見else和第一個if在同一個縮進上,所以什么也不輸出?

我們看到輸出了false,看來是進入到else和第二個回圈是一起的
else和它最近的if在一起
在idea編譯器中,敲下回車,自動縮進在第二個if,
switch
switch(整數|列舉|字符|字串){
case 內容1 : {
內容滿足時執行陳述句;
[break;]
}
case 內容2 : {
內容滿足時執行陳述句;
[break;]
}
default:{
內容都不滿足時執行陳述句;
[break;]
}
}
整數和字符很常見,字串型別好像沒有見過,下面給出例子

回圈結構
while回圈
while(a){
}
for回圈
for(a;b;c){
}
do while回圈
do{
}while(a);
需要注意的是,do while回圈先執行后判斷,while先判斷后執行

break和continue
兩者都是讓回圈結束,但是不同的是
break會直接結束整個回圈
continue結束當前回圈,進入下一個回圈,
輸入輸出
輸出
System.out.println(data); // 輸出一個字串, 帶換行
System.out.print(data); // 輸出一個字串, 不帶換行
System.out.printf(format, data); // 格式化輸出,類似C語言中的printf
輸入
Java中輸入比較復雜
import java.util.Scanner; // 需要匯入 util 包
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的姓名:");
String name = scanner.nextLine();
System.out.println("請輸入你的年齡:");
int age = scanner.nextInt();
System.out.println("請輸入你的工資:");
float salary = scanner.nextFloat();
System.out.println("你的資訊如下:");
System.out.println("姓名: "+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary);
sc.close(); // 注意, 要記得呼叫關閉方法
如果需要多組輸入
Scanner sc = new Scanner(System.in);
double sum = 0.0;
int num = 0;
while (sc.hasNextDouble()) {
double tmp = sc.nextDouble();
sum += tmp;
num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();
🌲方法
Java中的方法實質上就是C語言中的函式,
來一個求和方法
public static int addSum(int n){
int sum = 0;
for(int i=1;i<=n;i++){
sum+=i;
}
return sum;
}
方法的多載
public class Main {
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 相加; 有的計算兩個數字相加, 有的是計算三個數字相加.
同一個方法名字, 提供不同版本的實作, 稱為方法多載
需要注意的是
- 方法名相同
- 方法的引數不同(引數個數或者引數型別)
- 方法的回傳值型別不影響多載.
區分的重點是函式名字后面的引數(型別或者數量)
方法的遞回
一個方法在執行的程序中自身呼叫自身的程序就稱為遞回,
為了避免死回圈,遞回必須要有中止條件,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335542.html
標籤:java
下一篇:Java中陣列的使用
