常量:在程序运行期间,固定不变的量
常量的分类:
- 字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如"abc",“123”。
- 整数常量:直接写上的数字,没有小数点。例如:100、200。
- 浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14。
- 字符常量:凡是用单引号引起来的单个字符,叫做字符常量。例如’a’,‘b’。(单引号里只能有一个字符)
- 布尔常量:只有两种取值:true、false。
- 空常量:null,代表没有任何数据。
基本数据类型:
整数型:byte short int long
浮点型:float double
字符型:char
布尔型:boolean
java中的默认类型:整数类型是int,浮点类型是double
如果一定要使用float类型,需要加上一个后缀F。如果一定要使用long类型,需要加上一个后缀L。
变量:程序运行期间,内容可以发生改变的量。
创建变量:数据类型 变量名称;
使用变量:变量名称 = 数据值;(就是一个赋值,将右边的数据值,赋值交给左边的变量)
int i = 10
注意:右侧数值的范围不能超过左侧数据类型的取值范围。
数据类型转换:当数据类型不一样时,将会发生数据类型转换。
自动转换(隐式):代码不需要进行特殊处理,自动完成
数据范围从小到大
long num = 100;
//这一行代码发生了自动类型转换
//右边是默认的int类型,交给左边的long变量进行存储,int-->long 从小到大
强制转换(显式):代码需要进行特殊的格式处理,不能自动完成。
格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据。
int num = (int)100L
注意事项:
- 使用强制类型转换可能会发生精度损失(浮点数转换为整数,直接丢掉小数点后面),数据溢出(右边的数据超过了左边的范围)。
- byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,再进行计算
byte a = 40;
byte b = 50;
int result = a + b;
//byte + bute --> int+ int = int
ASCII编码表:美国信息交换标准代码
char类型运算的时候,也会提升为int类型
我的理解就是把单个汉字和字母(区分大小写)转换为int数字,再去运算,这个转换的标准就是ASCII编码表。
char i = 'A'//ASCII中A是65
System.out.println(i+1)//66