java基础知识与语法
常量
字面值常量的分类:
字符串常量: 用双引号括起来的内容
整数常量: 所有整数
小数常量: 所有小数
字符常量: 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量: 较为特殊,只有ture和false
空常量null
进制转换
原码反码补码
原码:最高位为符号位,0为正,1为负
反码:正数的反码与原码相同,负数的反码原码取反,符号位不变
补码:正数的补码与原码相同,负数的补码是在其反码的末位加1
基础数据类型
整数型
- byte(一个字节)
- short(两个字节)
- long(8个字节)赋值的时候加大写的L
- int(4个字节)
浮点型
- float (单精度)4个字节 赋值的时候加大写的F
- double (双精度)8个字节
字符型
- char 占两个字节
布尔型
- boolean ture/false
同一区域不能使用相同的变量名
初始化值问题:局部变量在使用之前必须赋值
一条语句可以定义几个变量
数据类型的隐式转换和强制转换
取值范围小的自动转换成大的
b=(byte)(x+b)强制转换(会损失精度)
Java的运算时以补码形式运算的
float(4):
V=(-1)* s乘M乘2*E
s(符号位)
M(10-32位)
E(2-9位)
进行混合运算的时候,byte(1),short(2),char(2)不会相互转换,都会自动类型提升为int类型。
字符的定义
utf-8编码中,英文占一个字节,一个汉字占2-3-4个字节
算数运算符
- 加(+)
- 减(-)
- 乘(*)
- 除(/)
- 模(%)取余数
- 递增(++)
- 递减(–)
a++先赋值再自身加1;++a先自身加1再赋值
算数运算符注意事项:
- +号在java中有三种作用,代表正号(少用),做加法运算。字符串的连接
- 整数相除只能得到整数,如果想的得到小数,必须把数据变化为浮点数类型
- /获取的是除法操作的商,%获取的是除法操作的余数
赋值运算符
- =
- +=、-=、*=、/=、%=
扩展运算符会帮你强制类型转换
关系运算符
- 比较运算符
- 条件运算符
逻辑运算符
-
逻辑与(&)
都为真才为真
-
逻辑或(|)
有真即为真
-
逻辑异或(^)
相同为假,不同为真
-
逻辑非(!)
相反
&&具有短路效果,左边为false,右边不执行 ||具有短路效果,左边为true,右边不执行
位运算符
- &有0则0,其它为1
- |有1则1,其它为0
- ^相同为0,不同为1(一个数异或两次值不变)
- ~按位取反
- <<按位左移,右边补0,最高位不变
>>
按位右移,左边补0,最高位不变>>>
无符号右移,统一右移
两个数不采用中间变量调换值,可采用两次异或值不变的原理进行