**
一维数组
**
数组的初始化:静态初始化、动态初始化
静态初始化:在声明时指定数组内容
数组类型 数据名[] = {初始值1,初始值2,…}
int num[]={1,2,3}
动态初始化:先声明再赋值。
数组默认值
int[]->0 , double->0.0 , boolean[]->false , char[]->编码为0的控制字符
数组堆与栈
**
二维数组
**
Java中的二维数组为:数组中的数组
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] num= {{1,2},{3,4}};
System.out.println("num[数组]="+num[0][0]+"\t"+num[0][1]);
}
结果:num[数组]=1 2
方法
方法最大的好处:功能的复用
格式:
public static 返回值类型 方法名称(类型 参数1,类型 参数2,…){
程序语句;
[return 表达式];
}
被main方法直接调用的方法许需要在方法返回值类型前面添加public static。
如果方法无返回值,则在返回值类型处明确写上viod。
方法名第一个字母小写,其余每个单词首字母大写。如addNum(){…}
方法的重载
定义:方法名称相同,但参数的类型和参数的个数不一样。通过传递参数的个数及类型的不同可以完成不同功能调用。
public static int add(int x,int y) {
return x+y;
}
public static float add(float x,float y) {
return x+y;
}
错误的方法重载
public static int add(int x,int y) {
return x+y;
}
public static float add(int x,int y) {
return x+y;
}
方法的接受参数类型和个数完全一样,只是方法的返回值类型不一样。甚至都不可能编译通过。
数组的传递属于引用数据类型得分传递,传递的是堆内存地址的使用权,一个数组可以有多个名称指向同一个堆内存空间,每一个名称都可以修改堆内存的内容。
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] num= {1,2,3};
fun(num);
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+"、");
}
}
public static void fun(int[] X) {
X[0]=9;
}
//结果:9、2、3、