目录
一、二维数组
1.二维数组定义
a.动态初始化
数据类型[][] 数组名 = new 数据类型[m][n]
数据类型 数组名[][] = new 数据类型[m][n]
数据类型[] 数组名[] = new 数据类型[m][n]
m:代表二维数组长度
n:代表二维数组中每个一维数组的长度
b.静态初始化
数据类型[][] 数组名 = new 数据类型[m][n]{{元素1,元素2...},{元素1,元素2......}
数据类型 数组名[][] = new 数据类型[m][n]{{元素1,元素2...},{元素1,元素2......}
数据类型[] 数组名[] = new 数据类型[m][n]{{元素1,元素2...},{元素1,元素2......}
c.简单静态初始化
数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2......}
数据类型 数组名[][] = {{元素1,元素2...},{元素1,元素2......}
数据类型[] 数组名[] = {{元素1,元素2...},{元素1,元素2......}
2.获取数组长度
String[][] arr1 = {{"a","b"},{"c","d","e"},{"f"}};
System.out.println(arr1.length); //二维数组长度
System.out.println(arr1[1].length); //二维数组中的一维数组长度
二、方法
方法分割设置
1.无参无返回值方法
定义
public static void 方法名(){
方法体 -> 实现此方法的具体代码
}
调用:在其它方法中 -> 方法名()
例:蔬菜种植-成品
public class Demo01Method {
public static void main(String[] args) {
farmer();
cook();
}
public static void farmer() {
System.out.println("播种");
System.out.println("施肥");
System.out.println("除草");
System.out.println("收获");
}
public static void cook() {
System.out.println("洗菜");
System.out.println("烹饪");
System.out.println("装盘");
}
}
2.有参无返回值方法
定义
public static void 方法名(数据类型 变量名){
方法体 -> 实现此方法的具体代码
}
调用:方法名(具体的值) -> 调用的时候要给参数赋值
3.无参有返回值方法
定义
public static 返回值类型 方法名(){
方法体 -> 实现此方法的具体代码
return 结果
}
调用
哪里调用返回给哪里
数据类型 变量名 = 方法名()
4.有参有返回值方法
定义
public static 返回值类型 方法名(参数){
方法体 -> 实现此方法的具体代码
return 结果
}
调用
数据类型 变量名 = 方法名(具体的值)
5.形式参数和实际参数
形式参数:在定义方法的时候形式上定义的参数,此参数还没有值
实际参数:在调用方法的时候给形参赋予的具体的值
tip:有参传过去的是参数的值并不是参数本身
6.三层架构思想
7.方法注意事项
方法不调用不执行
方法的执行顺序只和调用顺序有关
方法之间不能相互嵌套
void不饿能和[return 结果]共存,但可以和[return]共存
一个方法不能写多个return,除了选择分支
8.数组作为方法参数传递
......{
int[] arr1 = {1,2,3};
method(arr1);
}
......method(int[] arr2){
......
}
9.数组作为方法返回值返回
......{
int[] arr1 = method();
}
......int[] method( ){
int[] arr2={1,2};
return arr2;
}
10.方法重载
方法名相同,参数列表不同的方法
a.参数个数不同
b.参数类型不同
c.参数类型顺序不同
先传参,后返回
三、突发状况
1.控制台输出中文乱码,且更改设置无效
解决方法:降低jdk版本