目录
一、 数组的定义
1、定义
2、 原理
3、 赋值方式
二、Java的方法重载
1、 概念
(1) 重载
(2) 目的
2、例子
(1) 比较两个数值的大小
(2) 运行方式及结果
一、 数组的定义
1、定义
数据类型 [ ] 数组名 = new 数据类型 [整数];
整数就是数组的长度。
定义方式和C#是一样的,如 int [] arr = new int[5];
2、 原理
假设在程序中定义的数组为 int [] arr = new int[5]; 从JVM的方向分析。先上个图,在做详细的解释。
在程序执行的时候,电脑的内存里会分配一个JVM的空间。在JVM里面又分为两大区域:堆和栈(类似于我们电脑里面的固态硬盘和机械硬盘)。
栈:空间小,主要存储地址和基本数据类型的变量,存取速度快。
堆:空间大,主要存储引用类型的变量,存取速度慢。
int [] arr = new int[5];在堆中会开辟一片空间来存放数组,会给这片空间分配一个假设为0x666的地址(这个地址只有计算机知道)。因为数组没有赋值,在Java中这五个值都默认为0。在堆中存放的东西由谁来引用呢?一定是由栈来引用的,所以在栈中一定有一片空间来存储数组的地址,通过栈中的地址找到堆中数组的值。
3、 赋值方式
赋值方式和c++也是一样的,但获取数组的长度上不同。C++需要自己定义一个函数来求数组的长度,Java中只需要“数组名.length(如arr.length)”和JS是一样的。
二、Java的方法重载
Java的方法定义、方法重载和C++都是差不多的。
1、 概念
(1) 重载
重载是在一个类中有两个或者两个以上同名的方法,但是参数不同(两个方法的参数的个数不同,参数的类型不同),与返回值无关。
(2) 目的
提高代码的可读性和节省命名的词。
2、例子
(1) 比较两个数值的大小
public class demo{
/**
*比较两个数的大小
*/
public static int compareNum(int a,int b){
return a>b?a:b;
//三元运算符的比较:如果比较结果为真,则返回a,为假则返回b
}
/**
* 函数重载
*比较三个数的大小
*/
public static int compareNum(int a,int b,int c){
return comparenum(a,b)>c?comparenum(a,b):c;
}
public static void main(String[] args){
int result1=comparenum(100,200);
int result2=comparenum(555,66,88);
System.out.println("result1="+result1);
System.out.println("result2="+result2);
}
}