一、数组
一维数组
数组:是一块连续固定大小的内存空间,有着索引的概念
定义数组的语句格式:
数据类型[] 数组名;【推荐】
数据类型 数组名[];
如果只是定义一个数组的话,没有给初始化值,相当于一个变量没有值,是不能够直接使用的
如何对一个数组进行初始化?
1、动态初始化:我们自己给定数组的大小,数组中的默认值由JVM来赋值
2、静态初始化:我们自己给元素值,由JVM根据我们给的值数量来设置数组的大小
动态初始化语句定义格式:
数据类型[] 数组名 = new 数据类型[元素的个数];
数组的静态初始化:
数据类型[] 数组名 = new 数据类型[]{元素1,...};
举例:int[] arr1 = new int[]{11,22,33,44,55};
简化写法:
数据类型[] 数组名 = {元素1,...};
1、当基本数据类型当作参数传递的时候,传递的是具体的数值,不会对原本的变量值进行修改影响
2、当引用数据类型当作参数传递的时候,传递的是地址值,方法内部可能会对地址值对应的堆内存空间中的数值进行修改。
二维数组
二维数组:元素是一维数组的数组
语句定义格式1 :
数据类型[][] 数组名 = new 数据类型[m][n];
举例:int [][] arr = new int [2 ][3 ];
表示创建了一个元素是int 类型的二维数组,其中二维数组中有两个一维数组,每一个一维数组中的元素个数是3 。
语句定义格式2 :
数据类型[][] 数组名 = new 数据类型[m][];
举例:int [][] arr = new int [2 ][];
arr[0 ] = new int []{11 ,22 ,33 ,44 };
arr[1 ] = new int []{100 ,200 };
语句定义格式3 :
数据类型[][] 数组名 = new 数据类型[][]{{元素1 ,元素2 ,...},{元素1 ,...},...};
举例:int [][] arr = new int [][]{{11 ,22 ,33 ,44 },{100 ,200 }};
简化写法:数据类型[][] 数组名 = {{元素1 ,元素2 ,...},{元素1 ,...},...};
举例:int [][] arr = {{11 ,22 ,33 ,44 },{100 ,200 }};
今后可能会遇见的写法:
1 、int [] arr[] = {{11 ,22 ,33 ,44 },{100 ,200 }}; √
2 、int arr[][] = {{11 ,22 ,33 ,44 },{100 ,200 }}; √
3 、int [] [] arr = {{11 ,22 ,33 ,44 },{100 ,200 }}; √
4 、int [][] arr = new int [][]{{11 ,22 ,33 ,44 },{100 ,200 }}; √【规范写法】
5 、int [][] arr = new int [2 ][]{{11 ,22 ,33 ,44 },{100 ,200 }}; ×
public class ArrayDemo1 {
public static void main (String[] args ) {
int [] arr = new int [3 ];
System.out .println(arr);
int i = arr[0 ];
System.out .println(i);
System.out .println(arr[1 ]);
System.out .println(arr[2 ]);
arr[0 ] = 100 ;
System.out .println(arr[0 ]);
}
}
二、方法
方法的定义:
语句定义格式:
修饰符 返回值类型 方法名(参数类型 参数名,...){
方法实现逻辑代码;
return 返回值;
}
名词解释:
修饰符:public static 这两天只需要记住一个固定写法即可,后面学习过程中会改变这个修饰符
返回值类型:将来调用者调用完方法后所得到的内容
方法名:符合标识符的命名规则,将来通过方法名来确定调用的方法类型
参数:
形式参数【形参】:指的是在方法定义的小括号中的参数名
实际参数【实参】:指的是将来实际调用方法时所传入的具体的值
方法实现逻辑代码:调用方法要干的事情
return :用于结束整个方法,将结果返回给调用者。
返回值:将来方法调用完,需要返回给调用者的值。
需求:定义一个求两个int类型的数之和的方法
注意:
1 、方法和方法之间是平级关系,方法不能嵌套定义
2 、方法不调用不执行
3 、方法调用的时候,只需要传值就可以,不需要写数据类型
4 、若方法有返回值的话,需要使用变量接受该返回值,或直接使用
5 、如果方法有明确的返回值,一定要有return 带回一个值,且类型和定义时返回值类型保持一致【或父子关系】
在同一个类中,方法名相同,只是方法的参数列表【1. 参数类型 2. 参数个数】不同,这个现象叫做方法的重载,跟返回值无关
将来调用的时候,JVM会根据方法名和参数列表一起定位到需要调用的方法
public class FunctionDemo1 {
public static void main (String[] args ) {
int a = 3 ;
int b = 4 ;
System.out .println(sum(a,b));
}
public static int sum (int a,int b ) {
int c = a+b;
return c;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理