继续第三章的学习。。。
运算符
运算符+、-、*、/表示加、减、乘、除运算 %求余操作
/运算 两个操作数都是整数时,表示整数除法;否则,表示浮点数除法
例:15/2=7 15%2=1 15.0/2=7.5
整数被0除会产生一个异常,浮点数被0除将会得到无穷大或NaN结果
简化格式: x += 4; ======> x = x + 4;自增、自减运算符
n++ n++ 当前值加1 n– –n 当前值减1 n为变量名
前缀方式先进行加1运算 后缀方式则使用变量原来的值关系运算符 boolean运算符
关系运算符 == < > <= >=
boolean运算符 &&与 ||或 !非位运算符
&与 |或 ^异或 ~非 >>右移 <<左移 >>>用0填充高位 >>用符号位填充高位
移位运算符右侧的参数需要进行模32的运算(但左侧操作数是long类型,需要进行模64位的运算 ) 例:1<<35 与 1<<3是相同的数学函数与常量
Math类 导包:import static java.lang.Math.*;
Math.sqrt(x) 一数值的平方根
Math.pow(x,a) X的a次幂 幂运算 若x、a为double类型则结果也是double
三角函数 Math.sin Math.cos Math.tan Math.atan Math.stan2
指数函数及其反函数 Math.exp Math.log
π和e常量相似值 Math.PI Math.E数据类型之间的转换 未标的均为无精度损失
char —————————> int
byte —–> short ——> int
int ——————————–>long、float(有精度损失)、double
long ——————————> float(有精度损失)、double(有精度损失)
例:int n=123456789;
float f = n; f 为1.23456789当使用两个数值进行二元操作时 两种数据类型 要先将两个操作数转换为同一种类型 然后再进行计算
若两个操作数中有一个是double类型 另一个操作数就会转换为double类型
否则,若其中一个操作数时float类型,另一个操作数将会转换为float类型
否则,若其中一个操作数时long类型,另一个操作数将会转换为long类型
否则,两个操作数都将转换为int类型强制类型转换
double d = 9.887;
int n = (int)d; 强制类型转换 截取小数部分将浮点型转换为整型对浮点数进行舍入运算 得到最接近的整数 用Math.round() 返回结果为long型仍需要强制类型转换为int
int n = (int)Math.round(d);括号与运算符级别
有关于这一内容可以看这个博主写的(很详细很具体):出处
https://blog.csdn.net/benxiaohai888/article/details/75452022- 枚举类型
枚举出多个取值。
enum Size {small,m edium,large,extra_large};
Size s = Size.small; Size类型的变量s只能存储该类型声明中的某一枚举值