IDEA简单方法使用
快捷键
Ctrl+Alt+L,IDEA代码格式化
Ctrl+/单行注释,重复按取消
Ctrl+Shift+/多行注释,重复可取消
5.fori<==>for (int i = 0; i < 5; i++)
本日重点
方法重载(overload)
/*
方法重载(Overload),多个方法名称相同,参数不同
好处:一个方法名称,实现多个类似功能
方法重载:1.方法个数不同 2.参数类型不同 3.多类型顺序不同
与方法返回值无关、与参数名称无关
*/
public class Overload {
public static void main(String[] args) {
System.out.println(sum(10, 20, 30));
sum();
}
/*
System.out.println(sum(10,20));
System.out.println(sum3(10,20,30));
System.out.println(sum4(10,20,30,40));
*/
public static void sum() {}
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
public static int sum(double a, double b) {
return (int) (a + b);
}
public static int sum(int a, int b) {
return a + b;
}
public static int sum(int a, int b, int c) {
return a + b + c;
}
public static int sum(int a, int b, int c, int d) {
return a + b + c + d;
}
}
数组(Array)
初始化及使用
/*
数组是一种容器,可以存放多个数据
特点:
1.一种引用数据类型
2.多个数据,类型统一
3.数组长度一旦创建不可修改
数组初始化:
1.动态初始化(指定长度)
2.静态初始化 (指定内容)
动态初始化:
数据类型【】 数组名称 = new 数据类型【数组长度】
静态初始化:
数据类型【】 数组名称 = new 数据类型【】{元素1,元素2,……}
静态省略格式:
数据类型【】 数组名称={元素1,元素2,……};
*/
/*
直接打印数组名称,得到数组对应内存地址哈希值
访问数组格式:数组名称{索引值},0开始
*/
public class Array2 {
public static void main(String[] args) {
//静态初始化省略格式
int[] arrayA={10,20,3};
System.out.println(arrayA);//[I@1b6d3586
System.out.println(arrayA[1]);
}
}
/*
动态初始化会有默认类型:int:0;float:0.0;char:'\u0000';引用类型:null
*/
public class Array3 {
public static void main(String[] args) {
//动态初始化一个数组
int[] array=new int [3];
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
//赋值
array[0]=123;
}
}
Java内存划分
一个数组的内存图
两个数组的内存图
两个引用指像同一数组
数组使用常用错误
ArrayIndexOutOfBoundsException数组索引越界异常:更改索引
NullPointerException空指针异常:补上new
获取数组长度(个数):数组名称.length
数组长度一旦创建,长度不可变
数组作为方法的参数
public class Array3 {
public static void main(String[] args) {
int[] array={0,10,20,30,40};
}
//传参,传的是数组的地址值
public static void printArray(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
数组作为方法的返回值
public class Array4 {
public static void main(String[] args) {
int[] result=calculate(10,20,30);
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
public static int[] calculate(int a,int b,int c){
int sum=a+b+c;
int avg=sum/3;
int[] array={sum,avg};
return array;
}
}
END