Java学习笔记十一:Java中的方法

 

方式和c++中的函数类似,不相同在于java的章程定义不限地方,而c++中的定义在主函数后边的函数调用前要申明:

Java中的方法

求矩形面积方法言传身教:

 

public class MethodDemo{
    public static void main(String[] args){
        int area = getArea(5,6);
        System.out.println("面积是:"+area);
    }
    public static int getArea(int w, int h){
        return w * h;
    }
}

一:什么是艺术;

  

  所谓方法,正是用来消除一类主题材料的代码的静止组合,是三个功能模块。

学过C语言恐怕其余语言的应有都通晓函数这一个事物,在Java中,其实方法就是函数,只可是叫法差别,在Java中,函数被喻为方法。

 

输出:面积是:30

2:怎么着定义Java中的方法;

诚如情状下,定义2个办法的语法是:

图片 1

其中:

  1. 做客修饰符:方法允许被访问的权力限制, 可以是
    public、protected、private 乃至足以省略 ,在那之中 public
    表示该办法能够被其余任何代码调用,其余二种修饰符的选择在后头章节中会详细解说滴
  2. 回来值类型:方法重回值的等级次序,假若措施不回去任何值,则赶回值类型钦命为
    void
    ;假使艺术具有再次回到值,则要求钦命重返值的品类,并且在方法体中采取return 语句重返值
  3. 主意名:定义的措施的名字,必须接纳合法的标志符
  4. 参数列表:传递给艺术的参数列表,参数能够有多少个,多个参数间以逗号隔开分离,各类参数由参数类型和参数名组成,以空格隔开分离 

依赖章程是或不是带参、是不是带再次来到值,可将艺术分为四类:

  1. 无参无重回值方法
  2. 无参带重临值方法
  3. 带参无重临值方法
  4. 带参带重返值方法

3个有血有肉的例子

代码如下:

public class HelloWorld {
        //定义了一个方法名为 print 的方法,实现输出信息功能
        public void print() {
            System.out.println("Hello World");
        }

        public static void main(String[] args){

            //在 main 方法中调用 print 方法
            HelloWorld test=new HelloWorld();
            test.print();
        }
}

运营结果为:

图片 2

调用进度剖判:

3:Java中无参无再次来到值方法的利用;

假使格局不包涵参数,且从未再次回到值,大家誉为无参无重临值的秘籍。

方法的使用分两步:

第一步,定义方法

举例说:上面代码定义了四个格局名叫 show
,未有参数,且尚未重临值的办法,推行的操作为出口 “ welcome cnblogs.com”

图片 3

 

注意:

 

二、
方法名首要在调用那一个点卯时行使,需求专注命名的正儿八经,一般选择第13个单词首字母小写,其它单词首字母大写的样式

第三步,调用方法

当须求调用方法实践有些操作时,可以先创造类的对象,然后经过
 对象名.方法名();  来促成(关于类和对象的定义在后一章中会详细讲授,先熟习语法)

诸如:在底下的代码中,大家创制了四个名称叫 hello
的目的,然后经过调用该目的的 show( ) 方法输出音讯

代码如下:

public class HelloWorld {
        public static void main(String[] args){

            //创建对象,对象名为hello
            HelloWorld hello=new HelloWorld();
            hello.show();
        }
        //void 为返回值类型 show为方法名
        public void show(){
            //方法体
            System.out.println("welcome cnbolgs.com");
        }
}

运行结果为:

图片 4

一.从main进入,开首执行顺序

4:Java中无参带重回值方法的行使;

假诺情势不带有参数,但有再次来到值,大家称为无参带重临值的秘诀。

诸如:上边包车型地铁代码,定义了二个艺术名字为 calSum ,无参数,但重临值为 int
类型的方式,试行的操作为总括两数之和,并重返结果

图片 5

在 calSum( ) 方法中,再次来到值类型为 int 类型,因而在方法体中必须接纳return 重返一个整数值。

调用带重返值的艺术时索要留意,由于措施实行后会重回一个结实,因而在调用带重回值方法时相似都会接收其再次来到值并拓展处理。如:

代码如下:

public class HelloWorld {
        public static void main(String[] args){

            //创建对象,对象名为hello
            HelloWorld hello=new HelloWorld();
            int sum = hello.calcSum();
            System.out.println("两数之和为:"+sum);
        }
        //定义无参带返回值的方法
        public int calcSum(){
            int a=5;
            int b=12;
            int sum =a+b;
            return sum;
        }

}

运维结果为: 两数之和为:一柒

当心的“小陷阱”:

壹、 假若方法的回到类型为 void ,则方法中不能够利用 return 再次回到值;

图片 6

 

贰、 方法的重回值最七只好有三个,不能够回来五个值;

图片 7

 

三、 方法再次回到值的花色必须同盟,举例,假设回到值类型为 int ,则不可能回来
String 型值;

图片 8

二.调用getArea方法,传递参数,得到重回值

5:Java中带参无再次来到值方法的选择;

  临时方法的实施需求借助于某个规则,换句话说,要想通过措施成功一定的效应,需求为其提供额外的新闻才行。举例,现实生活东方之珠中华电力有限公司饭锅可以完毕“煮饭”的意义,但前提是大家务必提供食物的材料,假诺我们怎么着都不提供,那就当成的“巧妇难为无米之炊”了。大家得以通过在艺术中参与参数列表接收外部传入的数码信息,参数能够是自由的主干项目数据或引用类型数据。

大家先来看3个带参数,但未曾重返值的办法:

图片 9

地方的代码定义了一个 show 方法,带有二个参数 name ,达成出口接待音讯。

调用带参方法与调用无参方法的语法类似,但在调用时务必传入实际的参数值

 图片 10

例如:

public class HelloWorld {
        public static void main(String[] args){

            //创建对象,对象名为hello
            HelloWorld hello=new HelloWorld();
            hello.show("博客园");
        }
        //定义无参带返回值的方法
        public void show(String name){
            System.out.println("欢迎您,"+name+"!");
        }

}

运营结果为:

图片 11

众多时候,我们把定义方法时的参数称为形参,目标是用来定义方法供给传入的参数的个数和品种;把调用方法时的参数称为实参,是传递给艺术确实被拍卖的值。

早晚不可忽略的难题:

一、 调用带参方法时,必须保证实参的多寡、类型、顺序与形参一1对应;

图片 12

 

二、 调用艺术时,实参无需钦赐数据类型,如 ;

图片 13

3、 方法的参数能够是基本数据类型,如 int、double
等,也得以是援引数据类型,如 String、数组等;

图片 14

四、 当方法参数有多少个时,八个参数间以逗号分隔

图片 15

3.输出

六:Java中带参带再次来到值方法的选拔;

假设格局既包括参数,又饱含再次回到值,大家誉为带参带再次来到值的方法。

比方:下边的代码,定义了贰个 show 方法,带有1个参数 name
,方法实行后归来3个 String 类型的结果

图片 16

调用带参带重临值的措施:

 代码如下:

public class HelloWorld {
        public static void main(String[] args){

            //创建对象,对象名为hello
            HelloWorld hello=new HelloWorld();
            String welcome=hello.show("博客园");
            System.out.println(welcome);
        }
        //定义无参带返回值的方法
        public String show(String name){
            return "欢迎您,"+name+"!";
        }

}

运转结果为:

图片 17

 

调用进度内部存款和储蓄器分析:

一.程序运维时代,必须进入内部存款和储蓄器,运维文件:编写翻译后的class文件进入内部存款和储蓄器

二.class文件进入方法区

3.main格局进栈运维

四.getArea方法进栈运行

伍.总括结果回到给调用者

陆.getArea方式运转甘休,出栈,释放内部存款和储蓄器财富

七.main出口后,出栈,释放内部存款和储蓄器能源,程序结束

注意事项:

1.方法不可能定义在另贰个方法内

2.方法名严厉区分轻重缓急写

3.参数无法少传或多传,类型1致

肆.return意味辛休,不能够在return上面继续写,重回类型1致

 

形式重载:

 具体的重载的概念就不介绍了,这里完毕叁个最简便易行的重载

public class MethodDemo{
    public static void main(String[] args){
        int sum = getSum(2,3,1);
        System.out.println(sum);
    }
    public static int getSum(int a, int b){
        System.out.println("int+int");
        return a+b;
    }
    public static int getSum(int a, int b, int c){
        System.out.println("int+int+int");
        return a+b+c;
    }
    public static double getSum(double a, double b){
        System.out.println("double+double");
        return a+b;
    }
}

 

再来三个难题:

public class MethodDemo{
    public static void main(String[] args){
        int[] arr = {1,2,3,4};
        System.out.println(arr[2]);//3
        change(arr);
        System.out.println(arr[2]);//100
    }
    public static void change(int[] arr){
        arr[2] = 100;
    }
}

 

解释:

一.main方法进栈运营

贰.在堆中开空间放入数组AOdyssey本田UR-V并赋值

三.数组首地址传给栈中的AR本田CR-V,即A福特ExplorerCR-V指向存有这一个数组的内部存款和储蓄器空间

四.调用change传递的参数方法其实是内部存款和储蓄器地址,change中的A奥德赛Murano变量的地址和main中的ACRUISER汉兰达地址同样

伍.在change方法运营截止后放走内存,不过透过地点改动的arr[2]到底变了

通俗地知道:多个人合租房屋,都获得屋企地地点,有些人进去房屋装修,将来进入的人看见的都以装饰后的屋子

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图