静态创建数组
- 动态和静态创建后,长度都不可改变
- 动态给长度自动赋值默认值,静态给数据不给长度
public static void main(String[] args) {
// 动态创建数组 自动分配了默认值
int[] arr01 = new int[10];
// 静态创建 我们给他赋值 只给数据 不给长度
int[] arr02 = new int[]{1,2,3};
System.out.println(arr02[2]);
}
- 异常类
public static void main(String[] args) {
// 动态创建数组 自动分配了默认值
int[] arr01 = new int[10];
// 静态创建 我们给他赋值 只给数据 不给长度
int[] arr02 = new int[]{1,2,3};
System.out.println(arr02[2]);
System.out.println(arr02[3]); // -----------超过下标长度
}
- 静态创建也可以简写
int[] arr03 = {1,2,3,4};
空指针异常
- 第二种
参数
- 传参数的时候,要严格按照形参的数量和顺序传递
public static void main(String[] args) {
int a1 = 20;
int a2 = 30;
getMax(a1,a2); // 传参数的时候 要严格按照形参的数量和顺序传递
}
public static void getMax(int num1,int num2){
// 判断 如果num1 > num2 就取num1的值 不成立就取num2的值
System.out.println(num1 > num2 ? num1:num2);
}
返回值
- 注意
void 表示没有返回值
如果有返回值 把void改成对应的数据类型
public static void main(String[] args) {
int a1 = 20;
int a2 = 30;
int max = getMax(a1,a2); // 传参数的时候 要严格按照形参的数量和顺序传递
System.out.println(max);
}
// void表示没有返回值
// 如果有返回值,就把void改成对应的数据类型
public static int getMax(int num1,int num2){
// 判断 如果num1 > num2 就取num1的值 不成立就取num2的值
return num1 > num2 ? num1:num2;
}
重载
重载:在同一个类中,定义方法名字相同,但是参数不同(类型或者数量不同)的方法
- 错误演示
- 正确演示
参数传递基本 数据类型
- byte short int long double float boolean
- 传入的是数值
public static void main(String[] args) {
int number = 100;
System.out.println("number"+number); // 100
change(number);
System.out.println("number"+number); // 100
}
public static void change(int num){
num = 200;
System.out.println("num" + num); // 200
}
- 以上代码执行方法
首先一开始给number定义了值为100,当程序运行都调用方法的时候,正常逻辑num应该是等于200的,由于java的堆和栈的特性,当最开始给number定义的100值的时候就已经进入到了内存中了,就直接覆盖给了number,即使使用方法传入过来的值也没用;所以number最后的值还是为100。
参数传递引用 数据类型
-
数组 String Random可以创建对象的
-
传入的是地址
public static void main(String[] args) {
int[] number = {1,2,3,4,5};
for (int i = 0; i <number.length ; i++) {
System.out.println(number[i] + ","); // 1,2,3,4,5
}
System.out.println();
change(number);
for (int i = 0; i <number.length ; i++) {
System.out.println(number[i] + ","); // 1,200,3,4,5
}
}
public static void change(int[] num){
num[1] = 200;
for (int i = 0; i <num.length ; i++) {
System.out.println(num[i] + ","); // 1,200,3,4,5
}
System.out.println();
}