zoukankan      html  css  js  c++  java
  • JAVAEE学习day04方法的定义和重载

    1.方法定义的格式

      方法就是完成特定功能的代码块

      修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2...){

        方法体;

        return 返回值;

      }

      修饰符:

        初学者只需记住public static

      返回值类型:

        用于限定返回值数据类型

      方法名:

        一个名字,方便我们调用方法

      参数类型:

        用于接受调用方法时传入的数据的类型

      参数名:

        用于接收调用方法时传入的数据的变量

      方法体:

        完成功能的代码

      return:

        结束方法,把返回值带给调用者

    2.调用方法的三种方式:

      a.单独调用
        方法名()
      b.打印调用
        System.out.println(方法名())
      c.赋值调用
        方法名(参数1,参数2...)

    3.方法的注意事项:

      a.方法应该定义在类中,但是不能在方法中再定义方法
      b.方法的定义顺序无所谓
      c.方法定义之后不会自己执行,只有调用才会执行
      d.如果方法由返回值,必须有return
      f.return后边的返回值类型与方法定义的返回值类型相同
      g.对于void类型,最后的return可以省略
      h.一个方法中可以有多个return语句,但是必须保证只有一个能被执行到

    4.break,continue和return的区别

      break:只能用在switch和循环中,表示结束这个循环
      continue:只能用在循环中,表示跳过此次循环,继续下一个循环
      return:用在方法中,表示此方法到此结束

    5.方法重载的概述和基本使用

      在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

      方法重载特点:

        a.与返回值类型无关,只看方法名和参数列表

        b.在调用时,虚拟机通过参数列表的不同来区分同名方法

    /*
     * 需求:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
     *     并在main方法中进行测试
     */
    public class MethodTest {
        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;
        }
    }

    6.方法中参数传递

      a.方法的形式参数为基本数据类型

         形式参数的改变不影响实际参数。

          形式参数:用于接收实际数据的变量

          实际参数:实际参与运算的变量

       b.方法的形参为引用数据类型

         形式参数的改变直接影响实际参数。引用的时参数的地址

    // 参数传递的经典案例
    
    class Test{
    
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            System.out.println("a:"+a+",b:"+b); //a:10,b:20
            change(a,b);
            System.out.println("a:"+a+",b:"+b); //a:10,b:20
         // a,b的值在前后并没有发生改变
    
            int[] arr = {1,2,3,4,5}; 
            change(arr);
            System.out.println(arr[1]); // 4
          //数组的值发生改变 
        }
    
        // 参数时基本数据类型
        public static void change(int a,int b) { 
            System.out.println("a:"+a+",b:"+b); //a:10,b:20
            a = b;       //a=20
            b = a + b;   //b=40
            System.out.println("a:"+a+",b:"+b); //a:20,b:40
        }
        // 参数是引用数据类型
        public static void change(int[] arr) { //arr={1,2,3,4,5};
            for(int x=0; x<arr.length; x++) {
                if(arr[x]%2==0) {
                    arr[x]*=2;
                }
            }
                //arr={1,4,3,8,5};
        }
    }

        

    7.打印所有的水仙花数

    public class MethodTest2 {
        //把所有的水仙花数打印在控制台
        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();
        }
    }
  • 相关阅读:
    Postgresql HStore 插件试用小结
    postgres-xl 安装与部署 【异常处理】ERROR: could not open file (null)/STDIN_***_0 for write, No such file or directory
    GPDB 5.x PSQL Quick Reference
    postgresql 数据库schema 复制
    hive 打印日志
    gp与 pg 查询进程
    jquery table 发送两次请求 解惑
    python 字符串拼接效率打脸帖
    postgresql 日期类型处理实践
    IBM Rational Rose软件下载以及全破解方法
  • 原文地址:https://www.cnblogs.com/BRIGHTM00N/p/10467847.html
Copyright © 2011-2022 走看看