变量的三要素:
1)数据类型
2)变量名(遵循标识符的规则)
3)初始化值
Java中数据类型划分:(重点)
A)基本数据类型:四类8种
以后开发中:int(最多),double,long,char,boolean(判断时用)
整数类型:(默认int),
byte:字节类型 占1个字节 取值范围;-128~127(考点)
short:短整型 占2个字节
int:整数 占4个字节
long:长整型 占8个字节
浮点类型:默认是double
单精度:float :占4个字节
双精度:double :占8个字节
字符类型
char: 占2个字节
布尔类型
boolean 占1个字节
B)引用数据类型:数组,接口,类(具体类,抽象类)
面向对象讲
JavaWEB/JavaEE:研究引用类型!
定义long类型的注意事项:
需要在当前变量值的加上标记:L或者l(建议大写L):描述当前变量是长整型
long类型---------------->系统时间(精确到毫秒),时间.....
定义float类型的注意事项:
在变量值的后面标记当前是一个单精度变量:F/f
定义变量的注意事项:
1)给变量命名的时候:见名知意
2)变量尽量给一个初始化值,或者在使用之前给定一个初始化值
如果使用之前都没有初始化,报错(在方法定义中变量:局部变量)
3)Java是一种强类型语言,规定了同一个变量名不能定义多次(提示:已经定义了!)
强:语法规则
书写格式
前端:javascript:(js):弱类型语言
var a = 10
var a = 20
4)定义变量的时候,书写格式
数据类型 变量名 = 初始值 ; (分号一定要带,表示语句结束!)
在同一行上,一般定义一个变量(有的面试题:一行定义多个变量)
变量在进行运算的时候,需要保证变量的类型一致:最终使用的该数据类型接收即可!
在运算的时候,变量的数据类型不一致的情况:
隐式类型提升:
byte,short,char,三者之间互相不转换,一旦他们参与运算,
数据类型优先提升int类型(考点)
基本类型中:四类八种
boolean 类型不进行数据转换(判断去使用)
Java中强制类型转换的书写格式:
目标数据类型 变量名 = (目标数据类型)初始化值;
强制类型转换:
不要随意使用,除非一些业务需求必须使用的时候才能用!
强制类型:会损失数据的精度
两个思考题
1)以下代码有没有问题
double d = 12.34 ;
float f = 12.56 ;
2)以下代码有什么区别
float f = 34.5F; //本身定义的单精度类型:占4个字节
float f = (float)12.78 ; //也是float类型,强制转换来的
//将double类型----->float类型(会损失精度!)
变量相加:必须考虑 数据类型的问题 (Java中的隐式类型提升:)
b1 + b2 ====>两个变量都需要提升int类型 (结果:int类型的7)
接收的类型:byte b(一个字节)
解决方案:
b = (byte)(b1+b2); 强制类型转换
2)b = 3 + 4 ;
常量相加:将常量进行运算----->运算之后看其结果是否在接收数据类型的范围之内!
byte :范围:-128~127
关于+
1)表示数据是一个正整数
2)表示算术运算符中的加法运算
3)字符串拼接符号
看程序,写结果
字符串+(拼接符号)任何数据= 新的字符串