Java基础知识分享(二)
写在前面昨天给了十题编程题,假如你能有思绪很快速地完成它,说明你的Java数据范例、运算符、选择语句、循环语句部门的基础知识很好,接下来就来看看后面的方法、数组以及他们在JVM中的内存分别知识吧!
方法
语句界说格式:
修饰符 返回值范例 方法名(参数范例 参数名,参数范例 参数名,......)
{
方法体;
return 返回值;
}
利用通俗一点的语言就是说,Java中界说一个方法须要指定修饰符、返回值范例(假如是空范例则写void)、方法的名字以及后面利用小括号将一个参数列表括起来,末了利用一个大括号,在里面写上方法体和return返回值。
这里的修饰符就像是public、static等修饰方法的符号,每种都有本身特别的含义。返回值范例就是像int、String、int[][]等Java中的数据范例,也是后面return须要返回值的数据范例。方法名字本身可以取,但最好是见名知意,方法在定名时发起利用小写字母组成的单词或字符串,假如有两个及两个以上单词组合发起利用驼峰法定名,与类名区分。参数列表指的是参数的数据范例和参数的个数,好比如许界说(int a , int b)也就意味着这个方法里面有两个参数,并且这两个参数的范例都是int范例的,传入的参数也只能是int范例的参数,固然,参数可以没有也可以有很多,所以说是一个列表。末了就是方法体了,这个是方法最核心的部门,也是实现功能编写代码的地方,须要自行编写,假如有返回值,前面的返回值数据范例一定要一致,没有返回值也要在开头的返回值范例写void,不然会在运行时报错。
方法中的一些注意事项:
1、修饰符,第一次学的话,默认利用public static。
2、方法和方法是平级关系,不能嵌套界说的。
3、方法不调用不执行。
4、方法调用的时候,只须要传值就可以。
5、参数分为情势参数(方法界说小括号中的参数)和现实参数(现实调用时传入的值)。
6、若一个方法没有返回值,那么它的返回值范例是void。
7、若一个方法没有返回值,return可以省略不写。
8、若方法有返回值,那么方法内部必须要有一个return生效。
数组
数组的概述:数组是一块一连固定大小的内存空间
特点:
1、一旦创建,大小固定。
2、同一个数组、元素的数据范例是一样的。
3、具有索引下标的概念,将来可以通过索引获取元素。
4、数据查询快,增删慢。
一维数组
定义语句:数据类型[] 数组名;
初始化:
静态初始化
数据类型[] 数组名= new 数据类型[]{元素1,元素2,....};
或 数据类型[] 数组名= {元素1,元素2,....};
动态初始化
数据类型[] 数组名= new 数据类型[元素的个数];二维数组
定义语句:数据类型[][] 数组名;
初始化:
静态初始化:
数据类型[][] 数组名= new 数据类型[][]{{2,3,4},{2,3,4}};
或 数据类型[][] 数组名={{2,3,4},{2,3,4}};
动态初始化:
数据类型[][] 数组名= new 数据类型[二维数组中一维数组的个数][每个一维数组中的元素个数];数组获取长度的属性
使用属性length
使用的方式:数组名.length可能会有很多人不清楚这个二维数组是个什么样的,可以看下面这个图有助于明白:
https://img2024.cnblogs.com/blog/3492080/202407/3492080-20240730202929782-2034471666.png
也就是说,界说的二维数组里面,不一定要像矩形一样,每个位置都有值。
数组在JVM中的内存分别
如图所示:
https://img2024.cnblogs.com/blog/3492080/202407/3492080-20240730203328734-842505352.png
下面我就来表明一下这个图中的意思。
我们先来看代码部门,首先界说并创建了两个字符范例的一维数组,长度固定都是5,这个时候看图里的栈中的main里面会有两个字符数组arr1和arr2被界说,再看堆内存里的两个数组,下标都是从0开始的,里面都被系统进行了初始化赋值,因为是字符范例,所以都是'\u0000',这个就是系统进行赋值的默认值,就像int范例会默认赋值为0一样。
我们再继续看代码,打印了两个数组的地址,地址就是图中标红的一串16进制编码,它是这两个数组在内存中的详细位置。之后进行了两种赋值,一种是动态for循环赋值,因为a的阿斯克码为97,所以就直接i递增把值赋给每个数组的第i+1个位置就行了,第二种则是直接写死,末了利用一个方法打印出来就有了两个数组的详细内容。在内存中就是,把对应地址的内容分别改成a到e和f到j,可以看到,在栈中的main里,两个数组都是指向本身数组对应的地址的,所以我在赋值的时候,系统就会分别找到其地址并进行相应的赋值。
末了,再说说方法。方法实在很简单,就是打印一个一维的字符数组,不外是以类似的格式打印出来而已,也是进行了方法调用,不用的话须要写两遍这个打印,表现了利用方法的便捷。详细实现细节可以看代码,有不清楚的可以在下面评论!欢迎指正批评!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]