java基础2-运算符

运算符:对字面量或者变量进行操作的符号

表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以成为表达式。

1.算数运算符:

int c = a + b;
+:是运算符,并且为算数运算符; a + b 是表达式,由于+时算数运算符,所以这个表达式为算术表达式

image

(1) 类型转换的分类:

  • 隐式转换(自动类型提升):取值范围小的数据->取值范围大的数值 ;

 

格式: 目标数据类型 变量名 = (目标数据类型)被强转的数据;

取值范围从小到大:byte->short->int->long->float->double

//例子
int a = 10;
double b = a; //10.0

提升规则:取值范围小的与取值范围大的进行运算,小的会先提升为大的再进行运算;byte short char三种类型的数据在运算的时候都会先提升为int,然后再进行运算。

在字符串运算中“+”起到连接符的作用,例如:“123”+123=“123123”,但需要注意1+99+“岁”=“100岁”(从左到右逐个执行)

强制转换:取值范围大的数值->取值范围小的数值

 

2. 自增自减运算符

image

int a = 10;
int b = a++;//b=10  先用后加

int a = 10;
int b = ++a;//b=11  先加后用

 

3. 赋值运算符 扩展的赋值运算符隐含了强制类型转换

image

 4.关系运算符/比较运算符 结果都是boolen类型

image

 5.逻辑运算符

image

 6.三元运算符

格式:关系表达式?表达式1:表达式2

int max = a > b ? a : b;
//a>b是真的, max = a;
否则 max = b;

7. 运算符优先级

image

 8. 原码、反码、补码

(1)原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。

最大值:01111111 (+127)最小值:11111111(-127)

(2)反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余为取反。为解决原码不能计算负数为问题而出现

-55反码:11001000

当两个数跨0(即正数和负数的计算问题)使用反码计算存在1的误差(0有00000000/11111111两种表示方式),因此出现补码

(3)补码:正数的补码是其本身,负数的补码是其反码的基础上+1

补码能够多记录一个特殊的值-128,该数据在1个字节下没有原码和反码。

计算机中的存储和计算都是以补码形式进行的。

9.其他运算符

image

 左移一次数值乘2,右移一次数值除2。

 

posted @ 2025-10-10 23:30  chen1chen  阅读(3)  评论(0)    收藏  举报