文章目录
数组
数组实质:在内存中存储相同数据类型的连续空间,声明一个数组就是在内存空间中划出一串连续的空间 ☆
数组特点:数组是一种引用类型,存储的数据类型必须统一,且在运行期间长度不可改变 ☆(数组缺陷)
①动态初始化:(指定长度)
②静态初始化:(指定内容)
说明:花括号里面直接放内容,内容个数是多少,数组的长度就是多少 ☆
注意:char类型,静态初始化时,会执行自动拼接 ☆(字符串原理)
注意:int类型中可以放char类型,char类型中可以放int类型,按照ASCII码自动转换 ☆
数组元素的访问与设置
注意:直接打印数组名,是内存地址值 ☆(16进制0-9a-f)
地址值解释:[I@27d6c5e0
-
[ 表示数组
-
I 表示int类型
-
@ 分隔符,固定写法
默认值总结:
基本类型的默认值:
-
整数型:0
-
浮点型:0.0
-
字符型:’\u0000’(Unicode码表中的空字符,最大是’\uffff’) sout(arr)也是空字符 不会输出地址
-
布尔型:false
引用类型的默认值:都是null ☆
②元素设置:
注意:数组里的元素,只能获取和修改,不可增加和删除
随机验证码 ☆(4位)需求:大小写字母+数字 ☆
数组常见问题
①索引越界异常:
②空指针异常:
关于Java内存问题
内存就是内存条
任何软件的运行,都需要加载到内存当中才能运行 ☆
内存是由操作系统(OS)进行分配,java程序要运行,就需要向OS申请内存空间
java程序内存分成5个部分:☆ (只需记前三)
①栈(Stack):存的是方法的局部变量,方法的运行,一定要进栈运行 ☆(开辟空间)
方法的局部变量:指方法的参数和方法{}里面的变量
作用域:一旦超出作用域,立刻从栈内存中消失
②堆(Heap):凡是new出来的,都在堆内存 ☆
堆内存空间,都有内存地址和默认值 ☆
③方法区(Method Area):存储.class的相关信息,包含方法的信息
④本地方法栈(Native Method Stack):与OS相关
⑤寄存器(PC Register):与CPU相关