java方法入门与使用(第三节)

什么是方法?

方法是程序中最小的执行单元,就像下面的这个例子,我们执行下面代码的时候,程序进去main方法后,这两行代码都会执行的,不会分开,所以说方法是我们程序中,最小的执行单元

public class JavaText {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Hello World");
    }
}

运行结果:在代码当中我们也可以自己定义一些其他的方法

Hello World
Hello World

方法有什么作用? 

 如果我们现在用输出语句来描述如何写一篇博客?我们会想首先我们要“打开电脑”,然后我们点开网站,然后点写文章,在发表就可以了。

public class JavaText {
    public static void main(String[] args) {
        System.out.println("打开电脑");
        System.out.println("点开网站");
        System.out.println("点写文章");
        System.out.println("点发表文章");
    }
}

代码运行:

打开电脑
点开网站
点写文章
点发表文章

如果我说我想写两篇博客,或者说想写三篇博客,那我们每次都反复的写太过于麻烦,这个时候我们就可以自己写一个方法,进行调用就可以了。我们相当于把重复的代码进行打包,再把打包的代码起一个名字,现在我想再写一篇博客就不需要再写一遍了,直接调用打包好的这个整体就可以了,我们想写两篇博客那我们就调用两次就可以   

最简单方法定义和调用

方法的定义      

把一些代码打包在一起,这个过程就叫做方法定义   

方法的定义格式

格式:

public static void 方法名(){

      方法体 (就是打包起来的代码);

}

示例:

public static void fangFa(){

          4个打印语句:

}

此时的方法名就是fangFa,给方法起名字的时候,如果是一个单词,我们就全部小写,如果是

多个单词我们第二个单词开始首字母要大写.方法体里面就是们要打包起来的代码了,比如说我们的打开电脑,点开网站,点写文章,点发表文章等等,注意方法定义完成之后里面的代码是不会主动执行的。所以我们接下来学习方法的调用

方法调用

方法在定义之后是不会主动的运行的,需要手动调用才能执行,这个过程叫做方法的调用

格式:方法名( )

示例:fangFa( )

注意一点我们所写的方法一定是先定义再进行调用,要不然会进行报错

public class JavaText {
    public static void main(String[] args) {
        fangFa();
    }
    public static void fangFa(){
        System.out.println("打开电脑");
        System.out.println("点开网站");
        System.out.println("点写文章");
        System.out.println("点发表文章");
    }
}

结果运行:

打开电脑
点开网站
点写文章
点发表文章

如果我们想打印写两次文章的话,我们就再次调用fangFa方法,就可以实现

public class JavaText {
    public static void main(String[] args) {
        fangFa();
        fangFa();
    }
    public static void fangFa(){
        System.out.println("打开电脑");
        System.out.println("点开网站");
        System.out.println("点写文章");
        System.out.println("点发表文章");
    }
}

运行结果: 

打开电脑
点开网站
点写文章
点发表文章
打开电脑
点开网站
点写文章
点发表文章

做一个小练习:

public class JavaText2 {
    public static void main(String[] args) {
        nuyou1();
    }
    public static void nuyou1(){
        System.out.println("小花");
        System.out.println("御姐");
        System.out.println("21");
    }
}

运行结果:


小花
御姐
21

 带参数的方法的定义和调用

为什么要有带参数的方法?当方法要计算参数的数据不明确的时候,我们就可以把参数定义到小括号当中,调用这个方法的时候我们根据实际情况来传入不同的值,但是你要注意,( )实参括号里面有几个参数,你再调用的时候就要传几个参数给形参,个数一定要对应起来而且他的数据类型你也要对应起来,现在呢我们方法里面是两个参数,两个都是int类型的,此时你传递过来的也要是整数int类型的,如果说你传递的是一个小数那也是不行 

格式:public static void 方法名(参数){.....}

示例:public static void fangFa( int a){......}

如果说我们有多个参数,那我们在传参的时候参数与参数之间一定要用逗号隔开

格式:public static void 方法名(参数, 参数,参数,参数){.....}

 示例:public static void fangFa( int a,int b,int c,int d){......}

注意:参数在调用的时候,参数的数量与类型必须与方法定义中的小括号里面的变量一一对应,否则就会报错 

public class JavaText2 {
    public static void main(String[] args) {
        xiangJia(20,20);
    }
    public static void xiangJia(int a,int b){
        int sum =a+b;
        System.out.println(sum);
    }
}

代码运行:

40

形参:全称形式参数,是指方法定义中的参数

实参:全称实际参数,方法调用中的的参数 

 

 练习题:求正方形的周长,讲结果在方法中打印

public class JavaText2 {
    public static void main(String[] args) {
        zhouchang(11);
    }
    public static  void zhouchang(int a){
        int sum = a*4;
        System.out.println(sum);
    }
}

运行结果:

44

 带返回值方法的定义和调用

格式:public static 返回值类型 方法名 (参数){

           方法体;

           return 返回值;

}

示例:

public static int fangFa(int a,int b){
        int c =a+b;
        return c;
    }

 带返回值方法的调用:

1.直接调用:方法名(实参);//它表示对返回值不做任何的处理

2.赋值调用:数据类型 变量名 = 方法名(实参);//把方法运行的结果赋值给左边的变量,如果说咱们后面的代码中你想用到这个结果,那你直接用变量名就可以

3.输出调用:System.out.println(方法名 (实参));我们可以把方法的调用直接写在打印语句里面,表示把方法的运行结果直接运行输出

方法的重载

 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。

每个方法具有不同的参数类型活参数个数,这些同名的方法。就构成了重载关系

练习题:需求:使用方法重载的思想,设计比较两个整数是否相同的方法

要求:兼容全整数类型(byte,int,short,long)

我们可以看到我们给实参传参数的时候,我们所写的参数类型是什么,相对应类型重载方法名就会变亮,其余的一律是灰色

方法的基本内存原理 

栈:栈是跟方法有关的,方法在运行的时候要进栈,方法里面所有的代码运行完毕了,他就会从栈里面出去

堆:堆是跟new关键字有关的,如果我们看到有使用new关键字开辟的空间,它绝对是在堆里面

 什么是基本数据类型和引用数据类型

 基本数据类型:数据值是存储在自己的空间中

特点:赋值给其他变量,也是赋的真是的值

引用数据类型:数据值是存储在其他空间中,自己空间中的存储的是地址值

特点:赋值给其他变量,赋值的是地址

方法运行时候进栈,运行结果后出栈,出栈后,栈区所创建的内存空间将不复存在

注意:当我们传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值,除非方法返回的时候,把结果返回到调用处,再用原来的变量来结束,这样赋值过去,值才回变

什么是二维数组?

简单的说就是在数组里面存的还是数组,最外层的大数组就叫做二维数组,之前我们学习过一维数组,可以把多个一维数组放到一个大的数组当中方便管理,这个大的数组就叫做二维数组。

 在定义二维数组的时候必须要分别指明每一行,每一列分别是什么,用{ }的方式来指明它的行和列,以下是二维数组的几种定义方式

  int[][] arr={{1,2,3},{4,5,6}};
  int[][] arr1=new int[][]{{1,2,3},{4,5,6}};
  int[][] arr2=new int[2][3];

我们定义一个二维数组,把它遍历出来

public class Jase {
    public static void main(String[] args) {
        int[][] arr={{1,2,3},{4,5,6}};
        for(int i=0;i<2;i++)
        {
            for(int j=0;j<3;j++)
            {
                System.out.println(arr[i][j]+" ");
            }
        }
    }
}

运行结果:

1 
2 
3 
4 
5 
6 

拿我们刚刚写的代码为例如果说我们此时arr.length打印出来的长度是2,arr[0].length打印出来的长度就是3,arr[1].length打印出来的长度也是3

public class Jase {
    public static void main(String[] args) {
        int[][] arr={{1,2,3},{4,5,6}};
        System.out.println(arr.length);//行
        System.out.println(arr[0].length);//列
        System.out.println(arr[1].length);//列
    }
}

运行结果:

2
3
3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值