java规定,一个变量没有被赋值的情况下,不能被使用。
代码需要用户友好型提示、数据判断
代码格式按照AJCG,驼峰命名法
能够使用的字符 英文字母(a~z A~Z) 数字(0~9) 下划线_
要求必须是英文字母开头
严格区分大小写!!!!
标识符没有长度限制,但会根据实际开发情况限制长度
见名知意,动宾结构
使用驼峰命名法
适用于变量名、方法名
大驼峰:所有单词首字母大写
适用于类名、接口名、abstract类名
系统或JAVA占用的关键字和保留字,不能作为自定义标识符
方法调用是需要通过方法名来完成的,在方法名之后有一个小括号,这是方法和变量的最大区别
存储同一种数据类型的多个元素的容器。
int[] a;//定义一个int类型的数组a变量
int a[];//定义一个int类型的a数组变量
//效果相同,念法有区别,推荐第一种
动态初始化:只指定长度,由系统给出初始化值。
格式:
数据类型[] 数组名 = new 数据类型[数据长度];
int[] arr = new int[3];
静态初始化:指定每个数组元素的初始化值,由系统决定数组长度。
格式:
数据类型[] 数组名 = new 数据类型[] {元素1,元素2,…};
简化:
数据类型[] 数组名 = {元素1,元素2,…};
int[] arr = new int[] {1,2,3};
int[] arr = {1,2,3};
不要静态、动态同时使用
int[] arr = new int[3] {1,2,3};//错误
ArrayIndexOutOfBoundsException:数组索引越界异常
原因:访问了不存在的索引
NullPointxException:空指针异常
原因:数组已经不指向堆内存了。arr = null;
JAVA程序为了提高程序的效率,对数据进行了不同空间的分配。
划分了如下5个内存空间:
栈:存放的是局部变量
局部变量:在方法定义中或方法声明上的变量
栈内存的数据用完就释放掉
堆:存放的是new出来的东西
每一个new出来的东西都有地址值
每个变量都有默认值
byte,short,int,long:0
float,double:0.0
char:‘\u0000‘
boolean:false
引用类型:null
使用完毕就变成了垃圾,但并没有立即回收。会在垃圾回收器空闲的时候回收。
栈内存的两个引用指向同一个堆内存空间时,无论是它们谁的操作,都是针对同一个地方。
方法区:(面向对象部分详解)
本地方法区:(和系统相关)
寄存器:(CPU使用)
原文:https://www.cnblogs.com/winterriver/p/12334647.html