1. 程式人生 > >javase基礎5

javase基礎5

返回 水仙花 scanner 實際參數 ber 修飾符 sca 創建 寫法

1.方法格式

  

修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {

函數體;

return 返回值;

}

修飾符: public static 等

 返回值類型:用於限定返回值的數據類型

 方法名:一個名字,為了方便我們調用方法

 參數類型:用於接收調用方法時傳入的數據的類型

 參數名:用於接收調用方法時傳入的數據的變量

 方法體:完成特定功能的代碼

 return:結束方法,把返回值帶個調用者

寫一個方法需要明確:參數列表和返回值類型

2.方法獲取兩個數的最大值

  

import java.util.Scanner;

/* * 鍵盤錄入兩個數據,返回兩個數中的較大值 * * 兩個明確: * 返回值類型:int * 參數列表:int a,int b */ public class Demo1{ // 返回兩個數中的較大值 public static int getMax(int a, int b) { if (a > b) { return a; } else { return b; } } public static void main(String[] args) {
//創建對象 Scanner sc = new Scanner(System.in); //接收數據 System.out.println("請輸入第一個數據:"); int x = sc.nextInt(); System.out.println("請輸入第二個數據:"); int y = sc.nextInt(); //調用方法 int max = getMax(x,y); System.out.println(
"max:"+max); } }

3.判斷倆個數是否相等

  

public class Demo2{
    //比較兩個數是否相等
    public static boolean compare(int a,int b){
        if(a==b){
            return true;
        }else {
            return false;
        }
    }
    
    public static void main(String[] args) {
        //創建對象
        Scanner sc = new Scanner(System.in);
        
        //接收數據
        System.out.println("請輸入第一個數據:");
        int a = sc.nextInt();
        
        System.out.println("請輸入第二個數據:");
        int b = sc.nextInt();
        
        //調用方法
        boolean flag = compare(a,b);
        System.out.println("flag:"+flag);
    }
}

4.獲取三個數中的最大值

// 返回三個數中的最大值
    public static int getMax(int a, int b, int c) {
        if (a > b) {
            if (a > c) {
                return a;
            } else {
                return c;
            }
        } else {
            if (b > c) {
                return b;
            } else {
                return c;
            }
        }
    }
    
    public static void main(String[] args) {
        //創建對象
        Scanner sc = new Scanner(System.in);
        
        //接收數據
        System.out.println("請輸入第一個數據:");
        int a = sc.nextInt();
        
        System.out.println("請輸入第二個數據:");
        int b = sc.nextInt();
        
        System.out.println("請輸入第三個數據:");
        int c = sc.nextInt();
        
        //調用方法
        int max = getMax(a,b,c);
        System.out.println("max:"+max);
    }
}

5.打印一到n的數據

public class Demo4{
    //在控制臺打印1到該數據n的值
    public static void printNumber(int n) {
        for(int x=1; x<=n; x++) {
            System.out.println(x);
        }
    }
    
    public static void main(String[] args) {
        printNumber(10);
        System.out.println("-------------------");
        printNumber(100);
    }
}

6.打印水仙花數

public class Demo5{
    //把所有的水仙花數打印在控制臺
    public static void printFlower() {
        for(int x=100; x<1000; x++) {
            int ge = x%10;
            int shi = x/10%10;
            int bai = x/10/10%10;
            
            if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x){
                System.out.println(x);
            }
        }
    }
    
    public static void main(String[] args) {
        printFlower();
    }
}

7.方法重載

  在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可

  特點:與返回值類型無關,只看方法名和參數列表

案例:

/*
 * 比較兩個數據是否相等。參數類型分別為兩個byte類型,兩個short類型,兩個int類型,兩個long類型,
 *     並在main方法中進行測試
 */
public class Demo6{
    public static void main(String[] args) {
        // 調用
        System.out.println(compare(10, 20));
        System.out.println("-------------");
        System.out.println(compare((byte)10, (byte)20));
        System.out.println("-------------");
        System.out.println(compare((short)10, (short)20));
        System.out.println("-------------");
        //System.out.println(compare((long)10, (long)20));
        System.out.println(compare(10L, 20L));
    }

    // 兩個byte類型的
    public static boolean compare(byte a, byte b) {
        System.out.println("byte");
        // 第一種寫法
        // boolean flag = a==b?true:false;
        // return flag;
        // 第二種寫法
        // boolean flag = a == b;
        // return flag;
        // 第三種寫法
        return a == b;
    }

    // 兩個short類型的
    public static boolean compare(short a, short b) {
        System.out.println("short");
        return a == b;
    }

    // 兩個int類型的
    public static boolean compare(int a, int b) {
        System.out.println("int");
        return a == b;
    }

    // 兩個long類型的
    public static boolean compare(long a, long b) {
        System.out.println("long");
        return a == b;
    }
}

8.方法中參數的傳遞

  方法的參數是基本數據類型的時候:形式參數的改變不影響實際參數

  形式參數:用於接收實際數據的變量

  實際參數:實際參與運算的變量

當形式參數是引用數據類型時:

  

/*
 * 方法的參數是引用類型:
 *         形式參數的改變直接影響實際參數
 */
public class Demo7{
    public static void main(String[] args) {
        // 定義數組
        int[] arr = { 1, 2, 3, 4, 5 };
        // 遍歷數組
        for (int x = 0; x < arr.length; x++) {
            System.out.println(arr[x]);
        }
        System.out.println("----------------");
        change(arr);
        for (int x = 0; x < arr.length; x++) {
            System.out.println(arr[x]);
        }
    }

    public static void change(int[] arr) {
        for (int x = 0; x < arr.length; x++) {
            // 如果元素是偶數,值就變為以前的2倍
            if (arr[x] % 2 == 0) {
                arr[x] *= 2;
            }
        }
    }
}

9.數組元素求和

/*
 * 寫一個方法,用於對數組進行求和,並調用方法。
 */
public class Demo8 {
    public static void main(String[] args) {
        // 定義數組
        int[] arr = { 1, 2, 3, 4, 5 };
        int sum = sum(arr);
        
        System.out.println("sum:"+sum);
    }
    
    //第一一個求和方法
    public static int sum(int[] arr) {
        int sum = 0;
        
        for(int x=0; x<arr.length; x++) {
            sum += arr[x];
        }
        
        return sum;
    }
}

javase基礎5