二、字面量与变量
文章目录
- 二、字面量与变量
- 1、字面量
- 字面量类型
- 扩展:特殊字符
- 2、变量
- 进制转换
- 3、数据类型
1、字面量
字面量又叫做常量,字面值常量,告诉程序员数据在程序中的书写格式。
字面量类型
- 整数类型(int):不带小数点的数字
- 小数类型(double):带小数点的数字
- 字符串类型(String):用双引号括起来的内容
- 字符类型(char):用单引号括起来的内容,内容只能有一个
- 布尔类型(Boolean):布尔值,表示真(true) 假(false)
- 空类型(null):一个特殊的值,空值;只能以字符串的形式打印
扩展:特殊字符
\t:制表符 :在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。
\n:换行符
2、变量
在使用过程中,其值可能会改变的量。
变量的定义格式:
数据类型 变量名 = 数据值
数据类型:为空间中存储的数据,加入类型限制
变量名:为定义的空间命名
数据值:存在空间里面的数值
进制转换
任意进制转十进制
系数 * 基数的权次幂 相加
系数:每一位上的数字
基数:当前进制数
权:从右往左,依次为 0 1 2 3 …
十进制转其他进制
除基取余法
:不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。
3、数据类型
基本数据类型
- 整数
- byte:-128~157
- short:-32768~32767
- int:-21亿~21亿
- long :约等于19位数
- 浮点数
- float
- double
- 字符
- char
- 布尔
- boolean
取值范围大小关系:double > float > long > int > short > byte
类型转换的分类
隐式转换:取值范围小的数值 -> 取值范围大的数值
又叫做:自动类型提升,小的会先提升为大的,在进行运算
对于byte short char 三种数据类型在运算的的时候,都会直接提升为int,然后在进行运算
强制转换:取值范围大的数值 -> 取值范围小的数值
如果把一个取值范围大的数值,赋值给取值范围小的变量,是不允许直接赋值的。如果一定要这么做 就需要加入强制转换
格式
:目标数据类型 变量名 = (目标数据类型) 被强转的数据
字符串的“+”操作:当“+” 操作中出现字符串时,这个“+” 是字符串的连接符,而不是算术运算符了。
会将前后的数据进行拼接,并产生一个新的字符串。
注:连续进行 “+” 操作时,从左到右逐个执行。
字符相加:当字符+字符
或字符+数字
时,回吧字符通过ASCLL码表查询到对应的数字在进行计算。
注:char+String=String ==》 ‘a’ + “bc” = abc
自增自减运算符
++a:先执行+1操作,在使用a
–a:先执行-1操作,在使用a
a++:先使用a,在进行+1操作
a–:先使用a,在进行-1操作
+=
a+=b => a=a+b
注:+=,-=,*=,/=,%= 底层都隐藏了一个强制类型转换
关系运算符
逻辑运算符
三元运算符
格式: 关系表达式 ?表达式1:表达式2
关系表达式为 true 取表达式1,false 取表达式2
注:整个三元运算符的结果必须要被使用
Eg: int a=1 , b=2
a>b ? a:b ====> 2
思考:三元运算符能否嵌套使用?
运算符的优先级
()的优先级最高
原码、反码与补码
原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。
反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。
补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。
:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。
补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。