数组

数组:
1.数组的概念
1)数组相当于是个容器,存相同类型的若干数据
2)数组也是一种基本的数据结构
3)数组属于引用数据类型

2.数组的定义
数组的定义: 声明 + 初始化
数组一旦确定数组的长度,不可变的 -> 数组长度不可变

1)数组的声明:
	int[] arr; -> 只能放int类型的整数
	double[] d; -> 只能放都double类型
	char[] c;

2)数组的初始化
	(1)静态赋值(静态初始化)
		ps: int[] arr = {1,2,3,4};
		特点: 只能在声明的同时初始化
	(2)静态赋值(静态初始化)
		ps: int[] arr = new int[]{1,2,3,4};
		特点:再次赋值时也可以使用

	静态赋值特点:赋值的同时就已经确定好数组的长度(元素个数)和元素的值

	(3)动态赋值(动态初始化)
		ps: int[] arr = new int[5];
		特点:只确定了数组的长度,但是没有初始化数组的元素
			数组元素有默认的初始值,初始值都是0
			只是0的表现形式不一样
				int -> 0
				double -> 0.0
				char -> '\u0000'
				boolean -> false

3.获取数组中的元素
可以通过下标获取数组中的元素,并且下标从0开始
下标范围: 0 ~ arr.length-1

4.数组的属性
数组的长度 = 数组的个数
ps: 引用名.length

5.数组的遍历/迭代
依次获取数组中的元素,叫做数组的遍历/迭代

6.使用数组有可能会出现的问题
ArrayIndexOutOfBoundsException - 数组下标越界异常
NullPointerException - 空指针异常

for(int i = 0; i < arr.length; i++) {
// 重新生成新的随机数
for(int j = 0; j < i; j++) {
i–;//回到原来位置

int i = 0 

第一没有进入 for j 的循环

int i = 1;

j < i
0 < 1
j进入循环 -> 

判断 i = 1 和 j = 0 是不是相等
11 和 11 是不是相等
i

7.JVM内存空间
方法区: 类相关的信息
栈: 局部变量 / 临时变量
堆: 引用的真正数据

类加载: 为了把字节码(.class)文件中的类相关的信息读取到JVM中
	使用到的工具:类加载器

8.方法: 函数,放一堆代码
public static void main(String[] args) {方法体}
修饰词 + 返回值类型 + 方法名 + 方法参数 + 方法体

 1)修饰词: public static
 2)返回值类型: void/double/char/int[]
 3)方法名: main/随意
 4)方法参数(临时变量): 类型 + 变量名
 5)方法体

方法的使用:
	1)如果有返回值类型,那就必须使用return返回,但是方法没有返回值类型时也可以使用return
	2)return表示方法结束

猜字母游戏
随机生成5个字符 asdfg -> String
用户猜字符 aqwde
比较判断: 个数相等的有几个, 位置相等的有几个

常用类:
System:
System.print()
System.println()
System.arrayCopy()
System.exit()
System.gc()
Math
Math.random() -> 获取随机数(范围 -> [0,1) )
Math.pow(double d1, double d2) -> 获取 d1 的 d2 次幂
String
String.charAt(index) -> 获取index(下标)位置上的字符
Arrays:
Arrays.toString -> 转换成字符串输出
Arrays.sort -> 排序
Arrays.copyOf() -> 数组的复制

命名规则:
1.变量名: 只能出现 英文 + 数字 + _ + $
2.变量名不能以数组开头
3.变量名第一个单词首字母小写,第二个单词开始首字母大写 - 小驼峰命名法
可读性要好
4.方法名:
可读性要好,长度不限 -> 首字母全小写,第二个单词开始首字母大写
5.类名:第一个单词首字母大写,第二单词首字母大写 -> 驼峰命名法
Arrays/System/Scanner/String
6.包名: 全小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值