美文网首页
JavaSE之方法

JavaSE之方法

作者: 伍陆柒_ | 来源:发表于2019-03-05 17:24 被阅读0次
public class MethodDemo1 {
    /*
     * 方法 :就是一套功能,类似学过的函数(方法不能嵌套,定义在类块当中)
     *      1.访问控制符 public
     *      2.修饰符static:静态,静态方法可以被另一个静态方法直接调用
     *      3.方法的返回值(void:无返回值,任意的数据类型;利用return返回对应类型的数据)
     *      4.方法的形参
     *      5.方法体
     * 方法如果想要被执行,需要被调用
     * 不要把打印的数据当做返回值
     */
    public static void getSum1() {
        int num1 = 10;
        int num2 = 20;
        System.out.println(num1+num2);
    }
    public static int getSum2() {
        int num1 = 10;
        int num2 = 20;
        System.out.println(num1+num2);
        // 利用return返回数据:1.返回数据2.结束方法
        return num1+num2;
    }
    
    public static void main(String[] args) {
        getSum1();
        int num2 = getSum2();
    }
}
ublic class MethodDemo3 {
    // 返回数组
    public static int[] sort() {
        int arr[] = {1234,657,213,456,1,7,96};
        for(int i = 1;i < arr.length;i++) {
            for(int j = 0;j < arr.length - i;j++) {
                if(arr[j] < arr[j+1]) {
                    int temp;
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        int arr[] = sort();
        for(int num : arr) {
            System.out.print(num+" ");
        }
    }
}

有参方法

public class MethodDemo4 {
    public static void getSum(int num1,int num2) { // 形参 : 也是这个方法的局部变量
        num1 = 30;
        num2 = 60;
        System.out.println(num1+num2);
    }
    public static void main(String[] args) {
        // 参数
        getSum(31,33);
        getSum(11,61);
        getSum(11,63);
        getSum(113,6);
    }
}

注意问题

public class MethodDemo5 {
    public static void getNum1(int x) {
        x = x * 3;
    }
    public static void getNum2(int y[]) {
        y[0] = y[0] * 3;
    }
    public static void test(int num,String str,double d,boolean b,char c[]){
        return;
    }
    public static int testReturn() {
        int num = 100;
        if(num > 10) {
            return num;
        }
        return 10;
    }
    public static String testReturn2() {
        String str = "a";
        if(str.length() > 1) {
            return "1";
        }else {
            return null;
        }
    }
    public static void main(String[] args) {
        int x = 10;
        System.out.println(x);// 10
        getNum1(x);
        System.out.println(x);// 10
        
        int y[] = {10};
        System.out.println(y[0]);// 10
        getNum2(y);
        System.out.println(y[0]);// 30
    }
}

重载

public class MethodDemo6 {
    // 前提:在一个class中,不允许声明同名且同参的方法
    public static int test1(double a,int i) {
        return 1;
    }
    public static double test1(int i,double a) {
        return 1.1;
    }
    public static void main(String[] args) {
        // 重载(静态多态,编译时多态,overload):在一个类中,同名不同参的方法
        test1(1.0,1);
    }
}

构造器

public class MethodDemo1 {
    // 特殊的方法:构造器(构造方法)
    // 1.这个方法名字 -- 必须和类名完全一样
    // 2.没有返回值,连void也写
    // 3.不能用static修饰
    public MethodDemo1() {
        System.out.println(123);
    }
    public MethodDemo1(int i) {
        
    }
    public static void main(String[] args) {
        Random r = new Random();
    }
}

创建对象

public class ClassDemo2 {
    String name;
    public int getNum() {
        return 1;
    }
    public void showInfo(String n) {
        System.out.println(n+"你好");
    }
    public double getDouble(double num1,double num2) {
        return num1/num2;
    }
}
public class ClassDemo2Test {
    public static void main(String[] args) {
        ClassDemo2 cd = new ClassDemo2();
        cd.name = "张三";
        cd.showInfo("老师");
        int num = cd.getNum();
        System.out.println(num);
        double num1 = cd.getDouble(5.3, 1.1);
        System.out.println(num1);
    }
}

全局变量存在默认值

public class ClassDemo3Test {
    public static void main(String[] args) {
        // 局部变量使用前必须赋值
//      String str;
//      System.out.println(str);
        ClassDemo3 cd = new ClassDemo3();
        System.out.println(cd.name);
        cd.name = "李四";
        System.out.println(cd.name);
        // 全局变量有默认值
        // 整型0,浮点型0.0,布尔false,字符型\u0000,引用数据类型null
        cd.show();
        System.out.println(cd.age);
        
        ClassDemo3 cd1 = new ClassDemo3();
        cd1.name = "王五";
        cd1.show();
    }
}

就近原则

public class ClassDemo4 {
    String name;
    // 就近原则
    public void show(String name) {
        System.out.println(name);
    }
    
    public void test() {
        show("赵六");
        System.out.println(name);
    }
}

对象类型数组

public class ClassDemo6 {
    public static void main(String[] args) {
        int num = 10;
        int arr[] = {num};
        Student s1 = new Student("zhangsan","man",22);
        Student s2 = new Student("lishi","woman",32);
        Student s3 = new Student("wanghu","man",66);
        Student s[] = {s1,s2,s3};
//      遍历这个数组,打印出所有学员的详细信息
//      for(int i = 0;i < s.length;i++) {
//          Student stu = s[i];
//          System.out.println(stu.name);
//      }
        for(Student stu : s) {
            System.out.println(stu.name+","+stu.gender+","+stu.age);
        }
    }
}

相关文章

  • JavaSE之方法

    五、方法 目录:何谓方法、方法的定义及调用、方法重载、命令行传参、可变参数、递归 1.什么是方法? Java方法是...

  • JavaSE之方法

    方法 方法 :就是一套功能,类似学过的函数(方法不能嵌套,定义在类块当中)* 1.访问控制符 publi...

  • JavaSE之方法

    有参方法 注意问题 重载 构造器 创建对象 全局变量存在默认值 就近原则 对象类型数组

  • JavaSE 基础学习之五 —— IO 操作 (java. io

    接上篇《JavaSE 基础学习之四 —— 异常的处理》 五. JavaSE 基础学习 —— IO 操作 (java...

  • Linux Jdk 下载及安装

    方法一: 官网:https://www.oracle.com/technetwork/java/javase/do...

  • JavaSE之异常

    异常:运行期出现的错误。 1.Java异常是Java提供的用于处理程序中错误的一种机制,所谓错误是指在程序运行的过...

  • javaSE之枚举

    枚举:其实就是一种特殊的类,一般用于表示多种固定的状态.格式: 枚举类特点:1.枚举类很安全,不能被实例化对象,甚...

  • JavaSE之数组

    一维数组:一条线 二维数组:一个面 三维数组:一个立方体,三维数组使用较少,这里不提及。 一维数组 数组的创建 声...

  • JavaSE之容器

    Collection接口,位于Java.util包中 接口set Api中的解释是:一个不包含重复元素的 coll...

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

网友评论

      本文标题:JavaSE之方法

      本文链接:https://www.haomeiwen.com/subject/frmouqtx.html