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

javaOCA备考(运算和逻辑语句)

一.必须掌握的优先级

1.最高优先级

  1. ( )​ - 括号

  2. .​ - 成员访问

  3. [ ]​ - 数组访问

2.单目运算符

  1. + +- -​ - 前置自增自减

  2. +-​ - 正负号

  3. !​ - 逻辑非

  4. + +- -​ - 后置自增自减

3.创建与转换

  1. new​ - 创建对象

  2. (type)​ - 类型转换

4.乘除模

  1. */%

5.加减

  1. +-

6.关系

  1. <<=>>=

  2. instanceof

7.相等

  1. ==!=

8.逻辑运算(重点难点)

  1. &​ - 按位与/布尔与

  2. ^​ - 按位异或/布尔异或

  3. |​ - 按位或/布尔或

  4. &&​ - 逻辑与(短路)

  5. ||​ - 逻辑或(短路)

9.三元和赋值

  1. ? :​ - 三元运算符

  2. =+=-=​ - 赋值运算符

二、OCA 特别关注点

1.自增/自减优先级陷阱:

int x = 5; int y = x++ + ++x; // 考试常考:结果是 12 (5 + 7)

2.逻辑运算符短路特性

  • &&:左边 false 则右边不计算

  • ||:左边 true 则右边不计算

  • &|:两边都计算(不短路)

3.关系运算符

  • < <= > >=优先级相同

  • 优先级高于== !=

  • 不能链式比较:a < b < c❌ 是语法错误

4.赋值运算最后计算

int a = 1, b = 2, c = 3; a = b = c; // 从右向左:a = (b = c)

三、考试常见题型优先级顺序

记住这个顺序就够了:

括号 → 点号/[] → ++--(前缀) → 正负! → ++--(后缀) → 强转/new → */% → +- → 移位 → 比较 → instanceof → ==!= → & → ^ → | → && → || → ?: → 赋值

化记忆(考试够用):

括号点号自增减,正负非后新建型 乘除取余再加减,比较相等位运算 逻辑与或三目尾,赋值总是最后算

四、必考题类型

  1. 混合自增运算x++ + ++x * 2

  2. 逻辑短路判断false && (x++ > 0)的 x 值

  3. 三元运算嵌套a > b ? c : d > e ? f : g

  4. 赋值表达式a += b *= c的计算顺序

  5. 类型转换混合(int) 5.6 + 3.2的结果类型

五、考试答题技巧

  1. 括号是王道:不确定就按括号重写表达式

  2. 注意短路&&||可能不计算右边

  3. 自增位置x++(先用后加)和++x(先加后用)

  4. 赋值方向:所有赋值从右向左计算

  5. 类型提升:混合运算注意类型自动提升

六.一句话应付 OCA

括号点号 > 自增减 > 乘除 > 加减 > 比较 > 相等 > & > ^ > | > && > || > 三元 > 赋值,重点是短路和自增。

七.基本数据类型类型的一些原则:

1.性质

特性

Primitive 类型

引用类型(如 String)

是什么

基础数据类型(8种)

对象

存储

栈内存,直接存值

堆内存,栈存引用地址

传递

传值(副本)

传引用(地址)

默认值

0 / false 等

null

能否为 null

❌ 不能

✅ 能

比较用

==比数值

==比地址,.equals()比内容

有无方法

❌ 没有

✅ 有

2.8 种类型速记

  1. 4 种整数byte(最小) →shortint(最常用) →long(最大)

  2. 2 种小数float(单精度) →double(双精度,最常用)

  3. 1 种字符char(单个字符)

  4. 1 种布尔boolean(true/false):

3.三大黄金原则

1.值传递原则:

int a = 5; int b = a; // 复制 5 给 b a = 10; // b 还是 5,不受影响

2.默认值原则

  • 成员变量:自动给 0/false

  • 局部变量:必须手动赋值

3.运算原则

  • 整数除法会截断小数:5 / 2 = 2

  • 浮点数不精确:0.1 + 0.2 ≠ 0.3

  • 类型自动提升:byte + short = int

4.一个易错点:

int a = 5; int b = 2; double r = a / b; // 结果是 2.0,不是 2.5! double 正确 = (double) a / b; // 这才是 2.5

基本数据类型是轻量级数值,引用类型是对象盒子,记住 8 种类型和值传递,就能应对 90% 场景。

先到这里

http://www.cnnetsun.cn/news/68968.html

相关文章:

  • 基于微信小程序的动漫社区交流小程序的设计与实现(源码+lw+部署文档+讲解等)
  • 响应格式化踩坑实录:Symfony 8开发者必须避开的5个陷阱
  • PHP 8.6性能监控面板实战(专家级配置全公开)
  • 性能监控在DevOps中的角色
  • RN Hooks 设计规范与反模式清单
  • 《Advanced Science》最新研究:多自由度折纸模块构建可编程机械超材料网络
  • 用梯形图+SCL玩转FactoryIO码垛控制
  • 7、Nagios 安装与功能拓展全解析
  • 读懂 NVIDIA Jetson OP-TEE 官方源码:从目录结构到 JetPack / Yocto 构建与运行的完整指南
  • LobeChat能否实现邀请码注册机制?控制用户增长节奏
  • Angular AOT编译失败?这份官方文档解读帮你10分钟定位问题
  • PHP环境下医疗数据备份怎么做?5种高可用方案对比分析
  • 【Python库选型避坑手册】:5年踩坑经验总结出的7条黄金法则
  • PHP 8.6 JIT编译器重大升级(指令优化黑科技曝光)
  • Keil串口通信全教程:UART初始化、数据收发(中断/查询模式)+串口调试助手验证
  • 揭秘WebSocket频繁断线之谜:3种常见错误码分析与修复方案
  • LPDDR6 JEDEC 原文解读学习—2.4 Data Packet Format(3)(~持续更新)
  • 【PHP性能优化关键一步】:深入PHP 8.6内存泄漏监控与自动预警方案
  • PHP 8.6兼容性测试实战(资深架构师亲授迁移经验)
  • 从入门到精通:用R Shiny打造可交互的多维度数据仪表盘
  • 光伏阵列遇到局部阴影就像吃火锅被隔壁桌抢肉——憋屈得很。今天咱们用Python整活,搞个3×3电池板的阴影仿真模型,重点观察串联结构在阴影下的输出曲线怎么抽风
  • 你还不知道HTTP/3的这5个性能秘密?:资深架构师20年经验倾囊相授
  • 如何将EF Core响应时间降低80%?一线大厂都在用的4种策略
  • BGP综合实验
  • 大数据采集与处理技术实训室
  • 基于MATLAB 火灾检测系统,可以实现图片的火苗检测。 推荐matlab2019A及以后。
  • Harmony学习之本地数据存储
  • 【PHP扩展性能优化秘籍】:基于Rust的函数调试与内存泄漏排查指南
  • Flutter 状态管理终极指南(一):从 setState 到 Riverpod 2.0
  • Symfony 8路由缓存机制揭秘:如何让应用加载快如闪电