变量
变量其实就是用来存放数据的。
变量命名规范
- 由大小写字母、数字、下划线以及$组成
- 不以数字开头
- 不能使用关键字
取名建议
- 类:每个单词的首字母大写
- 方法、局部变量、全局变量:除第一个字母外其余单词第一个字母大写(驼峰命名)
- 常量:多个单词用下划线连接且大写
数据类型
数据类型用以区分数据的类别,比如有整数、小数等
基本数据类型
基本数据类型总共有8种,如下:
- boolean:1个字节,值为true或false。与其他语言不同,在Java中true和false不能看成0和1
- byte:1个字节
- short:2个字节
- char:与其他语言不同,在Java中char占2个字节,采用Unicode字符集编码,每个字符对应一个码
- int:4个字节
- long:8个字节
- float:4个字节
- double:8个字节
数据类型之间的转换
数据类型之间有两种转换方式,自动转换和强制转换
- 自动转换:由小的数据类型向大的数据类型转换,如:
long a = 89
- 强制转换:由大的数据类型向小的数据类型转换,如:
int a = (int)123L
- 数据类型之间有大小之分,顺序为byte->short(char)->int->long->float->double
数组
在Java中数组其定义为:数据类型[] 变量名 = new 数据类型[length]
数组的初始化
数组的初始化有两种方式:先声明后初始化、声明同时初始化
- 先声明后初始化
int[] a;
a = new int[]{1,2};
- 声明同时初始化:两种写法
int[] b = {1,2};
int[] c = new int[]{1,2};
tips
创建数组后,如果没有往其中赋值,则会有默认的值,基本类型中除了boolean类型外初始值都为0,如:int[] num = new int[5]
存储了5个0,boolean类型默认存储的为false。使用new后会在堆中创建一个线性数组,num在栈中指向线性数组。
注意事项
- 在Java中的直接量有默认的数据类型:整数为int型、小数为double型
- 虽说要将大的数据类型转换成小的数据类型需要强制转换,但是有个例外:可以将直接量直接赋值给char、byte、short(只要不超出该数据类型的范围)。如:
//本来直接量10、65应该默认为int,此时应该需要强制转换,但是在Java中可以将直接量直接赋值
byte a = 10;
char b = 65;
short c = 10;
//如果超出数据类型范围的值赋值给变量则会出现编译错误
byte a = 10000;
- 在将大的数据类型转换成小的数据类型时可能会出现溢出或精度丢失。如:
int a = (int)3000000000L;//结果为:-1294967296,因为int的范围不够大,造成了溢出
int b = (int)9.8//结果为9,小数位被舍去
- char、short、byte参与的运算会先转换成int类型进行运算。如:
char a = 23;
char b = 42;
char c = b + a;//会编译错误,是因为计算b+a时会转成int型
char c = (char)(b+a)//正确写法,short与byte相同