一、定义变量的格式
数据类型 变量名 = 变量值;
注意点:
1.先声明,后使用
声明格式:数据类型 变量名
2.变量都定义在作用域内,在作用域内,它是有效的
3.同一个作用域内不可声明两个同名变量
二、变量的数据类型
1.基本数据类型(primitive type)
(1)数值型
①整数类型:byte(1字节),short(2字节),int(4字节),long(8字节)
注意点:
//定义long型必须以大写L或小写l结尾,例如
long j = 13775377L;
还有byte类型的取值范围需要注意,为:-128~127
int是最常用的整形
②浮点类型:float,double
注意点:
//定义float类型时,要以f或者F结尾,例如:
float f1 = 1.3F;
double是最常用的浮点型
(2)字符型:char
char型的注意点:
①定义char型时,要使用一对单引号
②单引号内必须写一个字符且只能写一个
例如:char c1 = 'A';
表示方式:
①声明一个字符
②转义字符:
char c1 = '\n';(换行)
char c2 = '\t';(制表符)
③直接使用Unicode表示字符型常量
(3)布尔型:boolean
布尔型的注意点:
①只可取两个值之一:true,false
②常在条件判断或者循环结构中使用
2.引用数据类型(reference type)
(1)分类:
① 类(class)
② 接口(interface)
③ 数组([ ])
(2)String类型变量的使用
①属于引用类型,翻译为字符串
②使用String声明时,需要使用一对双引号
//例如
String testString = "HelloWorld!";
String testString1 = "a";
String testString2 = ""//这个编译可以通过
③String可以和8种基本数据类型做运算,且只可以是连接运算:+
//例如
int number = 1001;
String numberStr = "学号:";
String info = numberStr + number;
System.out.println(info);
/*
输出结果为
学号:1001
*/
④运算之后的结果也都为String数据类型
三、基本数据类型之间的运算规则
前提:这里只讨论7种基本数据类型变量之间的运算,不包含布尔类型
1.自动类型提升(表示的是可表示的数)
低存储类型和高存储类型运算,向高存储运算靠齐
例如
byte b =127;
int i = 128;
int c = b + i;
注意:当byte,char,short三种类型做运算时,结果都应为int型,同种类型之间运算也同样为int型
2.强制类型转换
是自动类型提升的逆运算
①需要使用强转符:( )
格式为:(需要转换的数据类型)变量名;
注意点:强制类型转换可能导致精度缺失
short shortTest = 10;
long longTest = (long) shortTest;
System.out.println(longTest);//输出结果为10,无精度损失
int intTest = 128;
byte byteTest = (byte)intTest;
System.out.println(byteTest);//输出结果为-128,有精度损失,具体为-128的原因请了解二进制底层原理