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

第三章 运算符

3.1 算术运算符

Java中的算术运算符包括+-*/%++--以及字符串拼接+

除法运算符示例

System.out.println(10/4);// 输出 2(整数除法)System.out.println(10.0/4);// 输出 2.5(浮点数除法)doubled=10/4;System.out.println(d);// 输出 2.0(整数除法结果转为浮点数)

取模运算符原理
取模运算的本质公式为:
a%b=a−(int)(a/b)×b a \% b = a - (int)(a / b) \times ba%b=a(int)(a/b)×b

取模运算示例

System.out.println(10%3);// 输出 1System.out.println(-10%3);// 输出 -1System.out.println(10%-3);// 输出 1System.out.println(-10%-3);// 输出 -1

自增运算符示例

intj=8;intk=j++;// 先赋值后自增(k=8, j=9)intl=++j;// 先自增后赋值(j=10, l=10)

3.2 赋值运算符

赋值运算符(如+=)会自动进行类型转换,无需手动强制转换(与C语言不同)。

示例

bytea=10;a+=5;// 等价于 a = (byte)(a + 5);a++;// 等价于 a = (byte)(a + 1);

3.3 关系运算符

关系运算符包括==!=<><=>=instanceof,结果均为布尔值(truefalse)。


3.4 逻辑运算符

  • 短路与&&:左值为false时跳过右值计算。
  • 逻辑与&:无论左值如何都会计算右值。
  • 短路或||:左值为true时跳过右值计算。
  • 逻辑或|:始终计算左右值。
  • 异或^:左右值不同时结果为true

3.5 位运算符

位移运算<<(左移)、>>(算术右移)、>>>(逻辑右移)。
按位运算~(取反)、&(与)、|(或)、^(异或)。

示例

System.out.println(~2);// 按位取反System.out.println(2&3);// 输出 2(按位与)System.out.println(2|3);// 输出 3(按位或)System.out.println(-3^3);// 输出 -2(按位异或)

3.6 三元运算符

语法条件表达式 ? 表达式1 : 表达式2
条件为true时执行表达式1,否则执行表达式2。

示例

inta=10,b=99;intresult=a>b?a++:b--;System.out.println(result);// 输出 99

3.7 运算符优先级

优先级从高到低:

  1. 括号
  2. 单目运算符
  3. 双目运算符(算术 > 关系 >&&>||> 赋值)

注意:单目运算符和赋值运算符从右向左结合。


3.8 标识符命名规则与规范

规则

  • 组成:字母、数字、$,数字不能开头。
  • 禁用关键字和保留字(如gotoconst)。
  • 区分大小写,长度无限制。
  • 不能包含空格。

规范

  • 包名:全小写,点分隔(如com.example.util)。
  • 类名/接口名:大驼峰(如UserService)。
  • 变量名/方法名:小驼峰(如userName)。
  • 常量名:全大写加下划线(如MAX_SIZE)。

3.9 键盘输入语句

使用Scanner类接收用户输入:

importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.print("请输入姓名:");Stringname=scanner.next();System.out.print("请输入年龄:");intage=scanner.nextInt();System.out.println("姓名:"+name+",年龄:"+age);}}

3.10 进制表示

Java支持四种整数进制:

  • 二进制:前缀0b(如0b1010)。
  • 十进制:默认(如1010)。
  • 八进制:前缀0(如01010)。
  • 十六进制:前缀0x(如0x10101)。

示例

System.out.println(0b1010);// 输出 10(二进制)System.out.println(01010);// 输出 520(八进制)System.out.println(0x10101);// 输出 65793(十六进制)

3.11 十进制转二进制方法

整数部分:除2取余法
将十进制数不断除以2,记录每次的余数,直到商为0。余数按从下往上的顺序排列即为二进制结果。

示例
25 → 11001
25 ÷ 2 = 12 余 1
12 ÷ 2 = 6 余 0
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1

小数部分:乘2取整法
将小数部分不断乘以2,记录每次的整数部分,直到小数部分为0。整数部分按从上往下的顺序排列即为二进制小数。

示例
0.625 → 0.101
0.625 × 2 = 1.25 → 取1
0.25 × 2 = 0.5 → 取0
0.5 × 2 = 1.0 → 取1

快速转换:1-2-4-8法
利用二进制位权值(1,2,4,8…)逐位累加匹配十进制数。

示例
123 → 01111011
64 + 32 + 16 + 8 + 2 + 1 = 123


3.12 原码、反码、补码规则

正数表示

  • 原码:符号位0 + 绝对值二进制
  • 反码:与原码相同
  • 补码:与原码相同

负数表示

  • 原码:符号位1 + 绝对值二进制
  • 反码:符号位不变,其余位取反
  • 补码:反码 + 1

特殊说明

  • 补码统一了+0和-0的表示(均为0)。
  • 计算机运算默认使用补码形式。
  • Java等语言不支持无符号整数类型。

3.13 进制扩展应用

二进制转八进制/十六进制

  • 八进制:每3位二进制对应1位八进制(不足补零)。
    示例:1101011 → 001 101 011 → 153
  • 十六进制:每4位二进制对应1位十六进制。
    示例:1101011 → 0110 1011 → 0x6B

逆向转换

  • 八进制→二进制:每位展开为3位。
    示例:0237 → 010 011 111
  • 十六进制→二进制:每位展开为4位。
    示例:0x7AB → 0111 1010 1011
http://www.jsqmd.com/news/557532/

相关文章:

  • 3分钟从想法到3D模型:Hunyuan3D-2如何帮你实现创作自由
  • 大学生黑客松完全指南:从零开始到获奖的完整路径
  • 正规不锈钢全屋定制橱柜品牌推荐榜:本地不锈钢定制家居、浴室不锈钢定制家居、衣柜不锈钢全屋定制、304不锈钢定制家居选择指南 - 优质品牌商家
  • 2026年,揭秘好用的中心传动刮泥机背后的顶尖机构究竟啥样!
  • 大麦抢票自动化工具:3分钟提升10倍成功率的技术秘籍
  • 一维卷积与RNN的融合策略:高效处理长序列数据的实战指南
  • 虚拟机自动化新范式:CUA Computer SDK十分钟入门指南
  • Fluent并行UDF避坑指南:手把手教你用DEFINE_GRID_MOTION实现机翼模态插值
  • 从零搭建一个ROS小车:手把手教你用话题、服务和动作实现完整控制
  • ollama命令
  • AI 模型推理 GPU 内存利用率分析
  • 2026可靠蓄电池TOP5品牌推荐含维谛:艾晨数能ups电源/闽华蓄电池/雄韬三瑞蓄电池/雷士顿蓄电池/风帆ups电源/选择指南 - 优质品牌商家
  • 从LED驱动到充电桩:拆解PFC双环控制在5个真实产品里的不同玩法
  • 企业海外独立站如何逆袭网站排名
  • 2026SA8000认证咨询高评价机构推荐榜:BSCI验厂咨询、COSTCO验厂咨询、Disney验厂咨询、FSC认证咨询选择指南 - 优质品牌商家
  • DanKoe 视频笔记:一人企业构建指南:从零到百万美元的教育业务(每日工作2-4小时)
  • 告别DLSS版本困扰:DLSS Swapper智能管理工具的一站式解决方案
  • LeetCode知识点总结 - 524
  • Path of Building:三步打造你的流放之路角色构建蓝图
  • 保姆级教程:用Project AirSim的Python脚本,5分钟复现无人机深度图避障Demo
  • Java字符串三剑客:String、StringBuffer与StringBuilder的深度对决
  • 零代码构建企业级AI语音交互系统:从技术原理到场景落地全指南
  • 图片和超链接标签
  • 周红伟:OpenClaw 企业级智能体架构与全栈实战
  • 2026年各高校论文AI率新规汇总:双一流和普通院校标准差异
  • 猫抓:资源嗅探工具的全方位媒体解决方案
  • OpenClaw 到底牛在哪?这 5 套“连招”才是精髓
  • 探索基于Cruise与Simulink的前后双电机纯电动汽车联合仿真
  • Matlab Simulink代码生成全流程解析
  • 如何用GPT-SoVITS在5分钟内实现专业级语音克隆:完整实战指南