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

这些Java基础知识,你还记得多少呢?(2)

IDEA 项目管理结构

在集成开发环境(IDEA)中,代码是分层管理的,这就像一个层层嵌套的收纳盒。
Project(项目):最高层级,通常代表一个完整的软件。
Module(模块):项目中功能独立的单元。
Package(包):文件夹,用于对类进行分类管理(如:com.user.login)。
Class(类):具体的代码文件。

交互核心:键盘录入(Scanner)

Java 提供了 Scanner 类来实现程序与用户的互动。实现这一功能固定分为三个核心步骤:
导包:告诉程序这个工具在哪。
import java.util.Scanner; (必须写在类定义上方)。
创建对象:给这个工具起个名字。
Scanner sc = new Scanner(System.in); (只有 sc 是变量名,可自定义)。
接收数据:真正开始干活。
int num = sc.nextInt(); (读取整数)。
String str = sc.next(); (读取字符串,遇到空格停止)。

算术运算符与高级技巧

除了基础的加减乘除,Java 的运算还有很多“潜规则”:

1. 除法 (/) 与取模 (%)

除法:整数相除结果仍为整数(丢弃小数部分)。例如 10 / 3 结果是 3。
取模(求余):获取余数。
应用场景:
判断整除:a % b == 0。
判断奇偶:num % 2(0 为偶数,1 为奇数)。
数值拆分:
个位:num % 10
十位:num / 10 % 10
百位:num / 100 % 10

2. 加号 (+) 的多种身份

数字相加:普通的数学运算。
字符串连接:只要有字符串参与,+ 就变成拼接符(如 "1" + 2 结果是 "12")。
四、 类型转换(数据存储规则的延伸)
当不同类型的数据进行运算时,必须转成同一种类型。

3. 隐式转换(自动升级)

规则:取值范围小的类型,自动转为取值范围大的类型。
特殊点:byte, short在运算时都会直接提升为 int。

4. 强制转换

场景:将大范围数据存入小范围变量。
格式:目标类型 变量名 = (目标类型)被转数据;。
风险:可能会导致数据溢出或精度丢失。

📑类型转换:数据类型的“自动升级”与“降级”

1. 隐式转换(自动类型提升)

当不同类型的数据在一起运算时,取值范围小的会自动转为取值范围大的数据。
规则 1: 小变大。byte → short → int → long → float → double。
规则 2: byte, short, char 这三种类型只要参与运算,都会直接先提升为 int,再进行计算。
练习点: byte b1 = 10; byte b2 = 20; result = b1 + b2; —— 此时 result 必须是 int 类型。

2. 强制转换(手动降级)

当你非要将“大容器”里的东西塞进“小容器”时,必须声明你的意图。
格式: 目标数据类型 变量名 = (目标数据类型)被转数据;
范例: double a = 12.3; int b = (int) a; // 结果为 12(小数位直接丢弃)。
警告: 强制转换可能导致精度丢失(如小数变整数)或数据溢出(如数字太大超过了小类型的承载能力)。

算术运算符的特殊操作

1. 字符串的 “+” 拼接

当 + 操作中出现了字符串时,它不再是加法,而是 字符串连接符。
连续操作规则: 从左到右逐个执行。
常见陷阱: 1 + 2 + "abc" + 2 + 1 的结果是 "3abc21"。

2. 字符(char)相加

字符在参与加法运算时,会通过 ASCII 码表 找到对应的数字。
'a' → 97
'A' → 65
'0' → 48
例子: 'a' + 1 的结果是 98。

算术运算符的细节补充:自增自减

这是最容易在考试和面试中出错的细节点。
基本格式:++ (自增), -- (自减)。
单独使用:无论是 ++a 还是 a++,结果都是变量 a 的值加 1。
参与运算使用(关键):
先加后用 (++a):变量先完成自增,再带着新值参与后续运算。
先用后加 (a++):先用变量原本的值参与运算,等整行代码执行完,变量再偷偷加 1。

赋值与关系运算符

它们决定了数据的“去向”和“状态比较”。
赋值运算符:
基本:=。
扩展:+=, -=, *=, /=, %=。
隐藏特性:扩展赋值运算符底层蕴含了强制类型转换。
例如:short s = 1; s += 1; 等同于 s = (short)(s + 1);。
关系运算符:
,!=, >, >=, <, <=。
结果:关系运算符的结果一定是 boolean 类型(true 或 false)。

逻辑运算符:逻辑判断的灵魂

基础逻辑:

& (与):有 false 则 false。
| (或):有 true 则 true。
! (非):取反,真变假,假变真。
^ (异或):相同为 false,不同为 true。
短路逻辑运算符(开发最常用):
&& (短路与):如果左边为 false,右边不再执行(结果必为 false)。
|| (短路或):如果左边为 true,右边不再执行(结果必为 true)。
作用:提高程序运行效率,防止右边代码报错。

今天的学习就暂时告一段落。各位看官老爷,期待下次与你相见!

如果觉得内容对您有帮助,还请留下一个免费的点赞吧。

技术无止境,我们一起慢慢肝!

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

相关文章:

  • 关于power bi计算列使用 符号“>“出现报错的问题
  • html标签如何兼容旧浏览器_HTML5新标签降级方案【方法】
  • MCU架构解密:从核心模块到实战选型,嵌入式开发者的进阶手册
  • golang如何实现时间格式化_golang时间格式化方法详解
  • 2026年4月市面上水路挖掘机品牌,船挖/水陆两用挖掘机/水挖机/水上挖掘机/水路挖掘机,水路挖掘机厂家有哪些 - 品牌推荐师
  • Vite代理配置实战:如何通过响应头追踪真实接口地址
  • 用DSP28377外部中断实现旋转编码器精准计数:附C2000™Ware库函数调用与性能对比
  • 5步掌握Hypermesh与Abaqus联合批量处理铆钉连接的实战技巧
  • DigitalInOut2:嵌入式数字I/O的双态缓存与惰性配置方案
  • 解锁零样本预测:TimesFM在能源/物流/电商时序数据中的实战应用
  • 宏碁Swift 16AI 2026款评测:超大OLED屏震撼人心,触控板差强人意
  • % 的人都用错了!Playwright vs Chrome DevTools MCP到底该怎么选?净
  • Vue 插槽(Slot)完全指南
  • 距离矢量路由算法实战:如何用Python模拟网络路由更新过程(附代码)
  • 嵌入式IMU类型契约库:统一欧拉角、四元数与惯性消息定义
  • SAP ABAP开发小技巧:用SE38里的Text Elements和图标库,5分钟打造高颜值选择屏幕
  • 西门子200PLC与显控触摸屏智能污水处理控制系统
  • 从Excel到智能化,一文讲透背后的逻辑与选型思路:企业管理绩效考核系统
  • 2-4有关项目‘基于音乐喜好的智能选型平台’中间层建立
  • 如何利用SQL视图实现模块化报表_逻辑分层实现
  • 当AI学会编程,我们还能做什么蔽
  • 如何睡眠等待_DBMS_LOCK.SLEEP与DBMS_SESSION暂停当前会话
  • 泛微OA与企业微信集成:打造高效通知公告提醒系统
  • 电商客服+导购智能体的设计与开发晒
  • iOS插件化
  • 腾讯地图自定义瓦片地图开发实战:从坐标定位到图层融合
  • Kali Linux实战:如何用MSFconsole实现Windows屏幕监控(附详细命令清单)
  • 木卫二(欧罗巴)的潜在生命迹象与探测计划
  • 推特怎么快速涨粉?2026最新实战技巧全解析(附自动化工具推荐)
  • 2026年靠谱的粉体计量秤/流量计量秤品牌厂家推荐 - 品牌宣传支持者