• java基础---7. 方法


    1. 打印五行星星,每行20个

    public class Demo01Method {
        public static void main(String[] args) {
            for (int j = 0; j < 5; j++) {
                for(int i = 0; i < 20; i++){
                    System.out.print('*');//去掉ln就不换行
                }
                System.out.println();//什么都不写等于一个换行
            }
        }
    }
    

    改写成方法的形式

    public class Demo01Method {
        public static void main(String[] args) {
            printMethod();
        }
        public static void printMethod(){
            for (int j = 0; j < 5; j++) {
                for(int i = 0; i < 20; i++){
                    System.out.print('*');//去掉ln就不换行
                }
                System.out.println();//什么都不写等于一个换行
            }
        }
    }
    

    注意:方法的定义不能嵌套,不可以在一个方法里面定义另一个方法

    2. 方法的定义

    public class Demo02MethodDefine {
        public static void main(String[] args) {
            System.out.println(sum(2,3));//5
        }
        //定义两个int数字相加的方法
        public static int sum (int a, int b) {//不可以在这里对形参直接赋值
            int rel = a + b;
            return  rel;
        }
    }
    

    注意:void函数没有返回值;对于没有返回值的函数,只可以单独调用,不可以打印或者赋值调用.

    • 判断两个数字是否相等
    public class Demo01MethodSame {
        public static void main(String[] args) {
            System.out.println(isSame(2,3));//false
            System.out.println(isSame(5,5));//ture
        }
        //定义一个判断两个数字是否相等的方法
        public static boolean isSame(int a, int b) {
            return a==b;
        }
    }
    
    • 方法使用时的注意事项:
    /*
    1. 方法应该定义在类中,不可以在方法中再定义方法
    2. return后面的返回值数据必须和方法返回值类型对应起来
    3. 对于一个void没有返回值的方法,不可以写return后面的返回值,但是可以写return自己
    */
    public static void Method() {
        //return 10;错误
        return;//正确  这里的return用于结束方法的执行 且可以省略
    }
    

    3. 方法的重载

    方法的重载:多个方法名称一样但是参数列表不一样。

    public class Demo01MethodOverload {
        public static void main(String[] args) {
            System.out.println(sum(2,2,3));//7
            /*
            谁能对得上就用谁 谁都对不上就报错
    
            方法重载与下列因素相关:
            参数个数不同1 2 3
            参数类型不同1 4
            参数的多类型顺序不同5 6
    
            方法重载与下列因素相无关:
            与参数名无关
            与方法的返回值类型无关
            */
        }
        //1
        public static int sum(int a, int b) {
            return a + b;
        }
        //2
        public static int sum(int a, int b, int c) {
            return a + b + c;
        }
        //3
        public static int sum(int a, int b, int c, int d) {
            return a + b + c + d;
        }
        //4
        public  static int sum(double a, double b) {
            return (int) (a + b);
        }
        //5
        public  static int sum(double a, int b) {
            return (int) (a+b);
        }
        //6
        public  static int sum(int a, double b) {
            return (int) (a+b);
        }
    }
    
    • 练习
    public class Demo02MethodOverloadSame {
        /*
        题目要求:比较两个数据是否相等
        参数类型分别为:两个Byte,两个short,两个int,两个long
        并在main方法中进行测试
         */
        public static void main(String[] args) {
            byte a = 10;
            byte b = 20;
            System.out.println(isSame(a,b));//false  byte
            System.out.println(isSame(2,2));//true int
            System.out.println(isSame((short)2,(short)2));//short true
            System.out.println(isSame(20L,20L));//long true
    
    
        }
        public static boolean isSame(byte a, byte b) {
            System.out.println("byte");//字符串用双引号,字符用单引号
            return a == b;
        }
        public static boolean isSame(short a, short b) {
            System.out.println("short");
            return a == b;
        }
        public static boolean isSame(int a, int b) {
            System.out.println("int");
            return a == b;
        }
        public static boolean isSame(long a, long b) {
            System.out.println("long");
            return a == b;
        }
    }
    
    
    • 练习

    • 练习

    //基本数据类型:byte short int long float double char boolead
    //引用数据类型:String
    //在调用输出语句的时候,println方法其实就是进行了多种数据类型是重载形式。
    public class Demo04OverloadPrint {
        public static void main(String[] args) {
            myPrint("hello");//hello
            short a = 2;
            myPrint(a);//2
            //等等 不再举例 上述任何数据类型都可以正确输出
        }
        public static void myPrint(byte num) {
            System.out.println(num);
        }
        public static void myPrint(short num) {
            System.out.println(num);
        }
        public static void myPrint(int num) {
            System.out.println(num);
        }
        public static void myPrint(long num) {
            System.out.println(num);
        }
        public static void myPrint(float num) {
            System.out.println(num);
        }
        public static void myPrint(double num) {
            System.out.println(num);
        }
        public static void myPrint(char ch) {
            System.out.println(ch);
        }
        public static void myPrint(boolean is) {
            System.out.println(is);
        }
        public static void myPrint(String str) {
            System.out.println(str);
        }
    }
    
  • 相关阅读:
    信号量的简单使用
    [Unity 3D] Unity 3D 性能优化(二)
    Android 开机动画源码分析
    关于FTP操作的功能类
    ArcGIS Engine 改变线IPolyline的方向
    使用ORACLE SQL Tuning advisor快速优化低效的SQL语句
    Linux CPU 负载度量公式
    Java垃圾回收机制
    常用的shell命令整理
    UVa340
  • 原文地址:https://www.cnblogs.com/deer-cen/p/12195372.html
Copyright © 2020-2023  润新知