当前位置: 首页 > news >正文

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。

 

http://www.jsqmd.com/news/11246/

相关文章:

  • HTTP OPTIONS 方法详解:从原理到实践
  • 2025.10.10 - 20243867孙堃2405
  • 计算机系统知识 - 呓语
  • xdown 全能下载
  • Linux开机启动脚本(cron 的 @reboot 特性)
  • c#服务安装和卸载等等
  • 进制表示
  • 在AI技术快速实现创意的时代,挖掘用户真实需求成为关键——某知名电池管理工具需求洞察
  • 企业推行 OKR 的 10 个关键问题
  • (四)React+.Net+Typescript全栈(错误处理) - 指南
  • Jenkins运维之路(共享库集成流水线发布) - 详解
  • 使用命令行删除 Windows 网络映射驱动器
  • ChatTime的一些理解
  • centos网络打流测试 - 指南
  • 一生一芯学习:基础设施(2)
  • 【黑马python】2.Python 字符串
  • FineReport自定义登录系统技术 - 详解
  • 实验报告2(简单实现图书馆管理系统)
  • 实验报告1(switch语句,二维数组)
  • 【实现自己的 kafka!】kafka 的关键概念
  • 12. 对话框
  • 2024ICPC区域赛香港站
  • AI产品经理要了解的算法有哪些?
  • 一位印度小哥逆袭成为谷歌数据科学家的心路历程 - 教程
  • 基于selenium的网页自动搜索
  • MacOS Nginx
  • 缓存的击穿、雪崩、穿透在你项目中的场景是什么
  • [WC2021] 表达式求值
  • Set集合
  • JAVA - LinkedList 与 ArrayList 区别和 LinkedList 的四大接口解析