1. 程式人生 > >Java(二) 運算子 方法定義與使用

Java(二) 運算子 方法定義與使用

一 Java運算子

1 基礎運算子:Java中的運算子與C語言中基本相同。具體運算子相關知識可參考我的前期部落格。https://blog.csdn.net/zr147258369/article/details/79762694

需要注意的一點是:x++是先運算後自增,++x則是先自增後運算。以下為例:

public class Test4 {
	public static void main(String[] args){
		int x = 2;
		int y = 3;
		int result  =  x++*y;
		System.out.println(x);			//結果為3
		System.out.println(result);		//結果為6
	}
}

2 三目運算子(根據條件判斷賦哪個值)

基本語句為:資料型別 變數 = 布林表示式? 滿足時的賦值:不滿足時的賦值。例如:int x = 3>4? 1:0;如果3>4,則將1賦值給x,否則將0賦值給x。

3 運算子的優先順序:

 圓括號   >  下標運算子   >   非、按位取反、自增自減、負號、型別轉換、指標、取地址、計算位元組長度   >   乘、除、取餘   >   加、減   >   左移、右移6   >   大於 、小於、大於等於、小於等於   >    等於、不等於   >    邏輯與&&   >    邏輯或||   >     條件運算子(? :)   >    賦值運算子   >   逗號表示式

二 方法的定義與使用

(一)方法的定義

方法是一段可被重複呼叫的程式碼塊,可以實現相應的功能。方法必須再類中定義可理解為C語言中的函式

(二)方法的宣告

public static 方法返回值 方法名稱([引數型別 變數...]){	
        方法體程式碼;
	[return 返回值];
}

例如:如下程式碼所示:實現三個整數的加法。

public static int add(int a,int b,int c){
    int rs = a+b+c;
    return rs;
}

注意:

當方法名以void關鍵字宣告,那麼此方法無返回值。

若有返回值,返回值可以是基本型別和引用型別。

如果方法以void宣告,可以使用return來結束呼叫。

(三)方法過載

過載的定義:方法名稱相同,引數列表不同。(引數列表不同主要體現在引數個數不同,引數型別不同,引數的順序不同

例如:下述程式碼中,add方法實現過載,sub方法實現過載。

public class chongzai{
    //add 過載
    public static int add(int a,int b,int c){
        int rs = a+b+c;
        return rs;
    }
    public static int add(int a,int b){
        int rs = a+b;
        return rs;
    }
    //sub 過載
    public static int sub(int a,int b,int c){
        int rs = a-b-c;
        return rs;
    }
    public static double sub(double a,int b,int c){
        double rs = a-b-c;
        return rs;
    }
}

方法名稱相同,引數列表也相同,只有返回值型別不同,不能實現過載。如下代塊所示,不能實現過載。

public class NOchongzai{
    //add不能實現過載
    public static int add(int a,int b){
        int rs = a+b;
        return rs;
    }
    public static float add(int a,int b){
        int rs = a+b;
        return rs;
    }
}

(四)方法遞迴

遞迴定義:一個方法自己呼叫自己的方式,稱為遞迴方式。如下所示:實現階乘。

public static int factorial(int num){
        if(num<0){
            return 0;
        }
        if(num == 0||num ==1){
            return 1;
        }else{
            return num*factorial(num-1);
        }
}