《张三记录-java》方法、数据存储方式

一.方法

1.简介

​ 方法是对一个段具有特定功能代码的封装,在需要的时候可以多次调用,实现代码的重复利用。

  • 定义方法
  • 调用方法

2.自定义方法

语法:

修饰符  返回值类型  方法名(参数){
    //代码  (方法体)
}

public static void main(String[] args){
    
}

说明:

  • 修饰符: 对方法的修饰, public static 暂且固定的写法
  • 返回值类型: 方法执行后的返回值类型。如果没有返回值,就写 void, 如果有返回值,就写具体的返回类型(int,char ,double String …)
  • 方法名:自定义的名称,采用驼峰命名法 ,一般使用动词 (addStudent saveMoeny)
  • 参数:执行方法时需要的数据。参数由 参数类型 和参数名组成, 可以有多个参数,用逗号分隔 (int x, double y)
  • 返回值类型 和参数不是必要的。

3.方法的调用

  • 在同一个类中,直接使用 方法名();
  • 不在同一个类中,需要用 类名.方法名();
  • 不在同一个包, 类名.方法名(); 需要导包

4.方法的递归

​ 在方法中自己调用自己


二.数据存储方式

1.内存分类

java中内存分为: 栈内存 , 堆内存

特点:

  • 栈的存取速度比堆块
  • 栈内存要下于堆内存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x4jGp1EA-1610938716738)(img/内存分类.png)]

2.数据类型

根据存储方式的不同,主要分为两种

  • 基本数据类型(8ge)

    byte short int long float double boolean char

    定义方式: 数据类型 变量名 = 值;

  • 引用类型

    除了基本类型以外的都是引用类型 如: String 数组 类 接口 枚举

    定义方式:数据类型 变量名 = new 数据类型();

    注意: String类型比较特殊,由于经常使用,所有JVM对String类型做了优化

3.数据在内存中的存储

基本类型:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRjQTAtP-1610938716768)(img/基本类型的存储.png)]

引用类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXcz9ojK-1610938716780)(img/引用类型的存储.png)]

数组类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMoQwz7f-1610938716790)(img/数组类型的存储.png)]

4.数据的传递(值传递 和址传递)

对于基本类型 ,传递的是值

对于引用类型,传递的是内存地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3B3rXCXq-1610938716797)(img/数据传递.png)]

public static void main(String[] args) {
    /**
	 * 基本类型
	 */

    int a = 5;
    int b = a;   // a 的值赋给了  b
    b =0;
    System.out.println("a="+a);// 5
    System.out.println("b="+b);// 0   b重新赋值 后不影响a的值

    /**
		 * 引用类型
		 */
    int[] c={1,2,3,4};
    int[] d=c;  // 将c的内存地址赋给了  d.
    d[0] = 666;
    System.out.println(d[0]);//666
    System.out.println(c[0]);//666   d重新赋值后,  会影响了 c的值

    /**
		 * 方法的传参  与变量的赋值是相同
		 */
    int i = 200;
    int[] array={11,22,33};
    change(i,array);
    System.out.println("i="+i);//200     不影响原来的数据
    System.out.println("array[2]="+array[2]);//999  影响了原来的数据

}

public static void change(int number,int[] nums){
    number = 888;
    nums[2]=999;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值