Java学习笔记——02 数据类型与操作符

基础知识

标识符和关键字

分隔符的作用
标识符规则

java关键字
goto和const这两个关键字也被称为保留字,Java目前还没使用这两个关键字
Java10开始引入的var不是关键字,是一个可变的类型名。因此var依然可作为标识符。
数据类型分类
Java支持的类型分为:基础类型引用类型
基础数据类型:
Java学习笔记——02 数据类型与操作符
Java学习笔记——02 数据类型与操作符
注:
直接将较小的整数值赋值给byte或short类型变量,会被当作byte或short类型处理。
Java不会自动把一个超出int类型的表数范围的整数值当作long处理,如果希望当作long处理应加l或L作后缀。下面代码是错误的:
long bigValue = 999999999999999;//error
使用var定义变量
从Java10开始支持使用var定义局部变量,var相当于一个动态类型,使用var定义的变量并没有明确的类型,定义变量时分配了什么类型的初始值,那该变量就是什么类型。
基本类型的自动转换
Java学习笔记——02 数据类型与操作符
强制类型转换
注:下面代码是错的,把1.2赋值给float类型变量将会出现错误,因为1.2默认是double类型。
float t = 1.2; //正确的写法是float t = (float)1.2;
表达式类型的自动提升
当一个算数表达式中包含多个基本类型的值时,整个表达式的数据据类型将自动提升。
所有byte、short、char类型将被提升到int类型。
整个表达式的数据类型自动提升到于表达式中最高等级操作数同样的类型。
下面是一个错误操作:
short s = 5;
//下面表达式中的s将自动提升到int类型,则右边的表达式类型为int 。
//将一个int 类型值赋给short 类型变量将发生错误
s = s -2;
//输出字符串 Hello!a7 字符串与后面的字符间出现+号代表连接符
System.out.println(“Hello”+‘a’+7);
//输出字符串 104Hello!
System.out.println(‘a’+7+“Hello!”);

运算符优先级

Java学习笔记——02 数据类型与操作符
注:
算术运算符的整数除法会直接去掉结果的小数位,而不是四舍五入后的结果
++在前先加12再参与表达式计算,++在后先参与表达式计算后加1,–同。
曾经看到一道java题,移位操作符在用于计算2的三次方速度最快,答案是2<<2
在将float或double转型为整型值时,总是对该数字执行截尾。