java方法,自己总结了一个初步了解内存分配及方法参数传送机制

本文详细介绍了Java中的方法,包括其定义、命名规则、调用方式以及方法重载的概念。此外,还探讨了内存管理中的堆和栈内存,解释了它们的特性和作用。同时,深入解析了Java方法参数的值传递机制,并对比了值传递与引用传递的区别。最后,通过实例展示了如何在实际编程中应用这些概念。
摘要由CSDN通过智能技术生成

.方法:

方法是一种语法结构,它可以把一段代码封装成一个功能,也方便重复使用。 好处:1.提高了代码的复用性和开发效率,2.让程序的逻辑更清晰 3.有利于程序维护。 方法是程序中最小的执行单元

System.out.println(),

println():是一个方法。

System 是系统类。

out是标准输出对象

这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。

2-1:方法的命名规则:

1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。

2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。

2-2:方法的定义:

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

...

方法体

...

return 返回值;

}

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

实例:

public static void main(String[] args) {

        int rs = max(23,26);

        System.out.println(rs);

}

/** 返回两个整型变量数据的较大值 */

public static int max(int num1, int num2) {

        int result = num1 + num2;

        return result;

}

2-3:方法常见的问题:

1.方法的编写顺序无所谓

2.方法与方法之间是平级关系,不能嵌套定义。

3.方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。

4.return 语句下面,不能写代码,因为永远执行不到,属于无效的代码。

5.方法不调用就不执行,调用的时候必须严格匹配方法的参数情况。

6.有返回值的方法调用时,可以选择定义变量接收结果,或者直接输出调用;甚至直接调用;无返回值方法的调用只能直接调用一下。

public class fangfa {

        public static void main(String[] args) {

// 返回1-n的数字之和

int a = add(10);

int as = add(100);

System.out.println(a);

System.out.println(as);

// 判断一个整数是奇数还是偶数 并进行结果的输出

check(24);

System.out.println("...............");

check(25);

// 需求:使用方法,支持找出任意整型的数组的最大值

int[] age = {12,24,86,10,76};

int max = getArrayMaxData(age);

System.out.println("最大值数据是:" + max);

}

/** 返回1-n的数字之和 */

public static int add(int n){

int sum = 0;

for(int i = 0; i < n; i++){

sum += i;

}

return sum;

} /

** 判断一个整数是奇数还是偶数 并进行结果的输出 */

public static void check(int number){

if(number % 2 == 0){

System.out.println("number是偶数");

}else{

System.out.println("number是奇数");

} }

// 需求:使用方法,支持找出任意整型的数组的最大值

public static int getArrayMaxData(int[] arr){

// 找出数组的最大值

int max = arr[0];

// 遍历数组的每个元素与最大的数据进行比较,若较大则替换

for (int i = 0; i < arr.length; i++) {

if(arr[i] > max){ max = arr[i];

} }

return max;

} }

2-4:内存的分配:

1.堆内存

什么是堆内存?

堆内存是java内存中的一种,它的作用是用于存储java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。

堆内存的特点是什么?

第一点:堆内存的特点就是:先进先出,后进后出,也就是你先排队好,你先买票。

第二点:堆可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,但缺点是,由于要在运行时动态分配内存,存取速度较慢。

new对象在堆中如何分配?

由Java虚拟机的自动垃圾回收器来管理。

2.栈内存:

什么是栈内存?

栈内存是Java的另一种内存,主要是用来执行程序用的,比如:基本类型的变量和对象的引用变量

特点:1. 先进后出,后进先出。2. 存取速度比堆要快,仅次于寄存器,栈数据可以共享,缺乏灵活性。

3.栈与堆的区别:

1). 堆内存用来存放由new创建的对象和数组

2). 栈内存用来存放方法或者局部变量等

3). 堆是先进先出,后进后出

4). 栈是先进后出,后进先出

5). 共享性的不同:

栈内存是线程私有的

堆内存是所有线程共有的

4.方法区:

字节码文件加载时进入的内容

2-5:方法参数传递机制:值传递

形参和实参各指什么?

1.形参:以方法为例,就是方法定义时的变量。

2.实参:在方法内部定义的变量。

java的参数传递机制是什么样的?

值传递,传输的是实参存储的值。

2-5:方法参数传递机制:引用传递

是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

2-6:方法重载:

在同一个类中,出现多个名称相同的,但是形参列表是不同的,那么这些方法就是重载方法。

作用:

可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据牧马人

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值