Java :方法及数组总结

本文深入讲解了编程中方法和数组的基本概念与应用。探讨了方法的格式、返回值类型、参数列表、方法名及其实现的重要性,同时介绍了数组作为变量容器的作用,包括一维和二维数组的写法、初始化方式及可变参数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、方法

1. 为什么要学习方法?

1)简化了代码;2)提高了代码的可读性;3)提高了代码的维护性;4)提高了代码的可扩展性;5)让我们开始从方法的实现者转变为方法的调用者,同时方法也是面向对象的基础。

2.方法的格式

[访问修饰符] 返回值类型 方法名称(参数1 参数2 参数3)[throws 异常]{

方法体

return语句;

}

**3.返回值类型 **: 八大基本数据类型和引用数据类型,类型必须和返回值的类型保持一致(也可以满足 类型转换和多态转型)

4.方法名:见名知意,一般是动词,满足驼峰命名,低头骆驼

5.参数类型:八大基本数据类型和引用数据类型

  • 形参: 方法定义时候的参数

  • 实参: 方法调用时候的参数

  • 这里的参数变量只能够在方法体内有效

  • 参数名: 这里必须见名知意,满足驼峰命名法,一般是名词,其实就是变量,只不过在局部有效,又称为局部变量

    方法调用的时候参数实际传递的:

    • 八大基本数据类型: 数值本身
    • 引用数据类型: 地址

6.方法定义的位置:

  • 主方法和自定义方法是平级关系
  • 主方法定义在 类体之内
  • 自定义方法定义在类体之内,方法体之外。

7.方法定义的三要素:

  • 返回值类型 (结果)
  • 参数列表 (原材料)
  • 方法名 (供别人调用)

8.内存结构

  • 栈区: 先进后出,类似于子弹夹, 压栈 弹栈 / 入栈 出栈
  • 方法区 (代码区 、 永久区): 存放代码 、 方法 、 常量、 静态成员

9.方法重载

  • 发生同一个类中
  • 方法名称相同 [参数列表不同]
  • 参数的个数,顺序,类型不同
  • 方法重载和返回值类型以及访问权限修饰符,异常声明无关
  • 重载也是多态的一种表现形式
  • 重载的精确性原则,存在传入参数模糊时系统会报错。

10.递归的特点:

  • 必须存在方法
  • 自己调用自己 (方法不能够嵌套定义,但是可以嵌套调用)
  • 递归一般要有出口(如果没有出口,一定会出现死递归,抛出 java.lang.StackOverflowError 栈内存溢出异常 )
  • 构造方法不能够递归
二、数组

**1.**为什么要学习数组?

数组是一个能够存储多个变量的容器,学习数组的使用能够帮助我们更好的处理变量。

2.写法

1)一维数组

格式: 数据类型[] 数组名 = new 数据类型[数组的长度]; // Java写法

变式: 数据类型 数组名[] = new 数据类型[数组的长度]; // C语言写法

2)二维数组

格式: 数据类型[] [] 数组名 = new 数据类型[数组的长度] [数组的长度]; // Java写法

变式: 数据类型 数组名[] [] = new 数据类型[数组的长度] [数组的长度]; // C语言写法

数据类型[] 数组名 [] = new 数据类型[数组的长度] [数组的长度];

二维数组也可先new一个一维数组 **数据类型[] [] 数组名 = new 数据类型[数组的长度] []; **再分别new二维数组,每个一维数组中二维数组开辟的空间可不相等。

3.数组的初始化

1)静态初始化: 初始化的同时给数组的每一个元素赋值,不需要指明数组的长度,系统根据元素的个数动态计算数组的长度

格式一:数据类型[] 数组名 = {元素1, 元素2, 元素3, … , 元素n};

格式二:数据类型[] 数组名 = new 数据类型[] {元素1, 元素2, 元素3, … , 元素n};

有了格式一为什么有格式二? --> 在传递参数的时候,如果是匿名数组必须使用格式二。

2)动态初始化: 初始化的同时由系统为每一个元素赋值,必须指明数组的长度,赋值的特点满足堆区的默认值特点

格式: 数据类型[] 数组名 = new 数据类型[数组的长度]; // Java写法

变式: 数据类型 数组名[] = new 数据类型[数组的长度]; // C语言写法

4.可变参数

格式: 参数类型… 变量名

可变参数的特点:

1.可变参数本质是数组

2.可变参数的 … 可以出现在 参数类型 和 变量名的 任意位置

3.可变参数必须出现参数列表的最后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值