Java方法、数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java方法、数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4087字,纯文字阅读大概需要6分钟。
内容图文
![Java方法、数组](/upload/InfoBanner/zyjiaocheng/623/5a3c79784a3e460ca4a112250d37db9a.jpg)
Java方法、数组详解
1.方法
Java方法是语句的集合,他们在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法再程序中被创建,再其他地方被引用
设计方法的的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利用后期的扩展。
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
? 方法包含一个方法头和一个方法体。
- 修饰符:修饰符是可选的,告诉编译器如何调用该方法。定义了方法的访问类型。
- 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。
- 方法名:
- 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个参数被称为实参或变参。参数列表时值方法的参数类型、顺序和参数的个数。参数的可选的,方法可以不包含任何参数。
- 形式参数:在方法被调用时用于接收外界输入的数据。
- 实参:调用方法时实际传给方法的数据。
- 形式参数:在方法被调用时用于接收外界输入的数据。
- 方法体:方法体包含具体的语句,定义该方法的功能。
return语句可以结束方法。
方法的重载:
重载就是在一个类中,有相同的函数名,但参数不同。
方法的重载的规则:
- 方法名称必须相同
- 参数列表必须不同(个数或类型或参数排列顺序)
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器会报错。
2.命令行传参
main方法也可以传递参数
3.可变参数
也叫不定向参数。
在方法的声明中,在指定参数类型后加一个省略号(...)。
一个方法只能指定一个可变参数,他必须时方法的最后一个参数。任何普通的参数必须在它之前声明。
public class Test{
public static void main(String[] args){
Test t = new Test();
t.test(1,2,3)
}
public void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
}
}
可变参数的本质就是数组,i其实就是一个数组。
4.递归
递归就是A方法调用A方法。
利用递归可以用简单的程序来解决一些复杂的问题.
递归结构包括两个部分:
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
5.数组
定义:
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们。
需要先声明数组变量,才能在程序中使用数组。
dataType[] arrayRefVar;
dataType arrayRefVar[];
Java语言使用new操作符来创建数组,语法如下:
dataType[] arrayRefVar = new dataType[arraySize];
int[] nums = new int[6];
数组的元素是通过下标(索引)来访问的,索引从0开始。
6.内存分析
Java内存
1. 堆
- 存放new的对象和数组
- 可以被所有的线程共享,不会存放别的对象引用
2. 栈
- 存放基本变量类型(会包含这个基本类型的具体数值)
- 引用对象的变量(会存放这个引用在堆里面的具体地址)
2. 方法区
- 可以被所有的线程共享
- 包含了所有的class和static变量
7.数组的初始化
-
静态初始化
int[] a = {1,2,3}; Man[] mans = {new Man(1,1), new Man(2,1)};
-
动态初始化:
int[] a = new int[2]; a[0] = 1; a[1] = 2;
-
数组的默认初始化
数组是引用类型,它的元素相当于类的示例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
创建一个数组在Java内存中的过程是:
-
声明一个数组:
将栈中的一部分内存分配给数组
-
创建数组:
在堆中开辟一部分空间,分配给刚才声明的数组
-
给数组中元素赋值
将堆中分配给数组的空间分别赋值
数组的四个基本特点
- 其长度是确定的,数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用 类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
8.多维数组
int a[][] = new int[2][5];
int a[][] = {{1,2},{2,3}};
9.Arrays类
- 数组的工具类java.util.Arrays
- Arrays提供了许多操作数组的方法
- Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,不用使用对象来调用
Arrays类中的常用方法:
-
Arrays.toString()
-
int[] a = {1,2,3,4,7,6,5}; System.out.println(Arrays.toString(a)); //输出[1,2,3,4,7,6,5]
-
-
Arrays.sort()
//排序 System.out.println(Arrays.toString(Arrays.sort(a))); //输出[1,2,3,4,5,6,7]
-
Arrays.fill(); //填充数据
-
Arrays.binarySearch(); //二分查找
-
Arrays.equal(); //比较是否相同
具体的可以查看jdk 帮助文档
内容总结
以上是互联网集市为您收集整理的Java方法、数组全部内容,希望文章能够帮你解决Java方法、数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。