A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-3-24 09:22 编辑

【济南中心】JavaEE基础班新课程day05:方法概述



             想要看到最新的黑马JavaEE笔记教程,除了上基础班还有哪里?就是黑马论坛了!这里每天都有很多黑马的老师分享技术帖子,在知识点海洋里当一个水手吧!记住:你可是要成为大神的男人/女人!{:8_479:}
           今天是我们JavaEE基础班新课程第五天,今天我们来学学方法。




方法

u 方法的概述及基本使用
       其实咱们一直写的main方法 就是一个方法。
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可
简单的说:方法就是完成特定功能的代码块

在很多语言里面都有函数的定义 , 函数在Java中被称为方法。

方法的格式
      修饰符 返回值类型 方法名(参数类型参数名1,参数类型 参数名2…) {
                   函数体;
                   return 返回值;

}
修饰符 目前记住 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法
参数类型 用于接收调用方法时传入的数据的类型
参数名  用于接收调用方法时传入的数据的变量
方法体 完成功能的代码
return 结束方法,把返回值带给调用者

u 方法的练习及注意事项
    写一个方法,我觉得要注意3件事:
        1,知道这个方法的作用是什么。
        2,方法的有没有参数,传什么参数。
        3,有没有返回值,返回什么类型。
   案例:
[Java] 纯文本查看 复制代码
public class MethodDemo {
    /*
     * 写一个方法,用于求和。 两个明确: 返回值类型 int 参数列表 int a,int b
     */
    public static int sum(int a, int b) {
        // int c = a + b;
        // return c;

        return a + b;
    }
   
    public static void main(String[] args) {
        
    }
}
求和方法的调用
有明确返回值的方法调用:
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式

方法调用后会跳转到方法里面,执行里面的代码,执行结束返回到方法调用的地方继续执行。并且将返回值赋值给调用时的变量,这里是s
[Java] 纯文本查看 复制代码
public class MethodTest2 {
        //比较两个数是否相等
        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);
        }
}
void修饰的方法的调用
写一个方法,在控制台输出10次HelloWorld案例。
没有明确返回值的函数调用:
其实就是void类型方法的调用
只能单独调用

u 方法的重载及参数传递
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
[Java] 纯文本查看 复制代码
public class MethodDemo {
        public static void main(String[] args) {
                int a = 10;
                int b = 20;

                // 求和
                int result = sum(a, b);
                System.out.println("result:" + result);

                int c = 30;
                // 求和
                //int result2 = sum2(a,b,c);
                //System.out.println("result2:"+result2);
                result = sum(a,b,c);
                System.out.println("result:"+result);
        }

        //两个float类型的数据求和
        public static float sum(float a,float b) {
                return a + b;
        }

        // 三个整数的求和
        public static int sum(int a,int b,int c) {
                return a + b + c;
        }

        // 两个整数的求和
        public static int sum(int a, int b) {
                return a + b;
        }
}

方法的形式参数为基本数据类型和引用数据类型
       方法的参数是基本类型的时候:
  形式参数的改变不影响实际参数。
  形式参数:用于接收实际数据的变量
  实际参数:实际参与运算的变量
  方法的形式参数是引用数据类型图解
引用数据类型的变量存储的是地址值,指向内存地址。如果两个变量指向同一地址,里面的数据变化会影响这两个变量。
      
       今天就好好练习下方法的调用吧,体会下基本数据类型和引用数据类型的不同。代码还是要多敲才可以哦,孰能生巧~{:8_488:}

1 个回复

倒序浏览
666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马