----------------------------------------------------------方法的定义和调用-----------------------------------------------
方法的定义:
[修饰符1 修饰符2 ……] 返回值类型 方法名称 (参数1,参数2){ 方法体; }
方法的调用:
1、在主方法,使用方法名调用方法;
2、有返回值,必须要有返回值类型;无返回值,返回值类型为void;谁调用返回给谁;
3、返回值在方法体中用:return 返回值;
--------------------------------------------------------------------------------------------------
方法在栈内存存的机制:
main 方法中调用其他方法,main方法给其他方法传入实参,其他方法被执行,
把结果返回给main方法,其他方法在栈中被弹出。然后进行下一个方法,
依次进入栈又弹出栈。最后main方法执行完,也被弹出。
--------------------------------------------------------------------------------------------------
方法的重载:
一个类中定义多个方法名相同,参数不同的方法。调用时根据参数的不同自动匹配对应的方法。
1、参数不同指:数量、类型、顺序不同。参数类型相同,形参不同,不是重载,会报错。
2、方法的重载与有没有返回值没有关系。
----------------------------------------------------------数组 Array---------------------------------------------------------
数组定义:
相同类型数据的有序集合。
数组声明:
type[] 数组名称;/ type 数组名称[];
数组初始化:
1.type[] 数组名称=new type[]{var1,var2,var3,……};
2.type[] 数组名称={var1,var2,var3,……};
3.type[] 数组名称=new type[length]; 初始化一个长度为length的空数组。
注意: 空数组不同类型具有默认值。
整型--》0、浮点型--》0.0f/d、字符型--》“\u0000”、字符串--》null、布尔类型--》false;
---------------------------------------------------------------------------------------------
数组属性:
数组名称.length 数组长度;
数组名称[index] 获取数组中下标为index的值;(数组下标是从0开始的)
数组名称[index]=var1; 给下标为index的位置赋值为var1;
----------------------------------------------------------------------------------------------
数组特点:
1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2.在内存中分配连续的空间,每个元素占用的空间大小是相同的
3.同一个数组其元素的类型必须是相同类型,不允许出现混合类型。
4.数组类型可以是任何数据类型,包括基本类型和引用类型。
5.数组变量属于引用数据类型。
----------------------------------------------------------------------------------------------
数组遍历:
1.for(int i=0;i<数组名称.length;i++){
数组名称[i];
};
2.for(数组type i:数组名称){
i;
}
----------------------------------------------------------------------------------------------
数组在栈内存和队内存的机制:
1.栈内存只能存放基本数据类型,比如int a=10;
2.堆内存存放引用数据类型,引用数据类型在堆内存具有空间(保存引用数据类型的值)和空间地址,
栈中只存放引用数据类型的空间首地址。
3.数组在堆内存中是一个连续的多个空间,每个空间存放一个值;空间地址相差type随对应个字节。
int类型数组:空间地址为:ox001,ox005,ox009,0x00d……
----------------------------------------------------------------------------------------------
思想:
数组合并:两个数组合并为一个数组:新建一个长度为arr1.length+arr2.length的新数组,然后把值遍历到新数组中;
数组元素查找:遍历数组,所招元素的值=数组中元素。找到返回下标,找不到返回-1;定义一个index=-1,找到元素下标赋值给index;
数组元素删除:遍历数组,找到要删的元素,然后把该元素下一个元素之后的元素依次往前移动过一位;
-----------------------------------------------------------------------------------------------
array工具类:(java.util.Arrays)
toString(数组名称) 遍历数组;
sort(数组名称) 数组排序;
binarySearch(数组名称,var) 二分查找;(数组必须有序)返回下标索引;
full(数组名称,var) 数组元素全部填充为var;
copyOf(数组名称,复制长度) 数组复制;
equals(数组名称1,数组名称2) 比较数组;两个数组每个元素依次比较;
-----------------------------------------------------------------------------------------------
二维数组:
初始化:
1.type[][] array={{var1,var2,……},{var1,var2,……},{var1,var2,……},……};
2.type[][] array=new type[index1][index2];
属性:
数组名称.length 数组行数;
遍历:
for(int i=0;i<数组名称.length;i++){
for(int j=0;j<数组名称[i].length;j++){
array[i][j];
}
}
多维数组遍历:deepToString(数组名称);
-----------------------------------------------------------------单词----------------------------------------------------------
initlallzed 初始化
exception 异常
bounds 界限