Java核心语法:从变量到控制流
一、变量与数据类型(对比Python/C++特性)
1. 变量声明三要素
// Java(强类型语言,需显式声明类型)
int age = 25;
String name = "CSDN"; // Python(动态类型)
age = 25
name = "CSDN" // C++(类似Java,但需分号结尾)
int age = 25;
std::string name = "CSDN";
2. Java八大基本数据类型
| 类型 | 关键字 | 取值范围 | 内存占用 |
|---|---|---|---|
| 整型 | int | -2^31 ~ 2^31-1 | 4字节 |
| 长整型 | long | -2^63 ~ 2^63-1 | 8字节 |
| 双精度浮点 | double | ±4.9e-324 ~ ±1.8e+308 | 8字节 |
| 布尔 | boolean | true/false | 1字节 |
❗ 避坑指南:
- 浮点数比较不要用
==(用差值绝对值< 1e-6) long类型赋值需加L后缀:long num = 10000000000L;
二、运算符与表达式
1. 算术运算符的特殊行为
int a = 10 / 3; // 结果3(整数除法)
double b = 10 / 3.0; // 结果3.333... int c = 10 % 3; // 结果1(取模)
2. 比较运算符 vs 逻辑运算符
| 类型 | 运算符 | 示例 |
|---|---|---|
| 比较 | > < >= <= == | if (age >= 18) |
| 逻辑 | && \|\| ! | if (score > 60 && !cheating) |
❗ 短路特性:
false && ...不会执行右侧true || ...不会执行右侧
三、控制流:条件与循环
1. 条件语句(对比Python缩进 vs Java大括号)
Java写法:
if (score >= 90) { System.out.println("A");
} else if (score >= 60) { System.out.println("B");
} else { System.out.println("C");
}
Python写法:
if score >= 90: print("A")
elif score >= 60: print("B")
else: print("C")
2. switch-case(JDK12+箭头表达式)
String day = "Monday";
switch (day) { case "Monday" -> System.out.println("工作日"); case "Saturday", "Sunday" -> System.out.println("休息日"); default -> System.out.println("无效输入");
}
3. 循环结构
for循环:
// 打印1-10(对比C++的相似性)
for (int i = 1; i <= 10; i++) { System.out.println(i);
}
while循环:
int count = 0;
while (count < 5) { System.out.println("执行第" + (count+1) + "次"); count++; // 必须更新循环变量!
}
增强for循环:
int[] nums = {1, 2, 3};
for (int num : nums) { System.out.println(num);
}
四、综合实战:简易计算器
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("输入第一个数字:"); double num1 = scanner.nextDouble(); System.out.print("输入运算符(+ - * /):"); char operator = scanner.next().charAt(0); System.out.print("输入第二个数字:"); double num2 = scanner.nextDouble(); switch (operator) { case '+' -> System.out.println("结果:" + (num1 + num2)); case '-' -> System.out.println("结果:" + (num1 - num2)); case '*' -> System.out.println("结果:" + (num1 * num2)); case '/' -> { if (num2 == 0) System.out.println("错误:除数不能为0!"); else System.out.println("结果:" + (num1 / num2)); } default -> System.out.println("无效运算符"); } }
}
五、常见错误与调试技巧
-
编译错误:找不到符号
- 检查变量名拼写和作用域(局部变量不能在外部使用)
-
逻辑错误:循环不执行
int i = 10; while (i < 5) { // 条件永远不满足 // 代码不会执行 } -
空指针异常(NPE)预判
String str = null; if (str != null && !str.isEmpty()) { // 利用短路特性避免NPE System.out.println(str.length()); }
相关文章:
Java核心语法:从变量到控制流
一、变量与数据类型(对比Python/C特性) 1. 变量声明三要素 // Java(强类型语言,需显式声明类型) int age 25; String name "CSDN"; // Python(动态类型) age 25 name …...
manus是什么?能干啥?
Manus哪儿来的? Manus是一款由中国团队Monica.im于2025年3月5日发布的通用型AI代理(AI Agent)产品,旨在通过自主思考、系统规划和灵活工具调用,帮助用户完成各种复杂任务,从而解放用户的时间与创…...
大型语言模型训练的三个阶段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)
前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 当前的大型语言模型训练大致可以分为如下三个阶段: Pre-train:根据大量可获得的文本资料&#…...
Elasticsearch 2025/3/7
高性能分布式搜索引擎。 数据库模糊搜索比较慢,但用搜索引擎快多了。 下面是一些搜索引擎排名 Lucene是一个Java语言的搜索引擎类库(一个工具包),apache公司的顶级项目。 优势:易扩展、高性能(基于倒排索引…...
发行基础:热销商品榜单
转载自官方文件 ------------------ 热销商品榜单 Steam 在整个商店范围内有各种热销商品榜单,最醒目的莫过于 Steam 主页上的榜单了。 您也可以在浏览单个标签、主题、类型时找到针对某个游戏类别的热销商品榜单。 主页热销商品榜单 该榜单出现在 Steam 主页上…...
实战案例分享:Android WLAN Hal层移植(MTK+QCA6696)
本文将详细介绍基于MTK平台,适配高通(Qualcomm)QCA6696芯片的Android WLAN HAL层的移植过程,包括HIDL接口定义、Wi-Fi驱动移植以及wpa_supplicant适配过程,涵盖STA与AP模式的常见问题与解决方法。 1. HIDL接口简介 HID…...
物联网系统搭建
实验项目名称 构建物联网系统 实验目的 掌握物联网系统的一般构建方法。 实验要求: 1.构建物联网系统,实现前后端的交互。 实验内容: CS模式MQTT(不带数据分析处理功能) 实现智能设备与应用客户端的交…...
微前端框架 Qiankun 的应用及问题分析
一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈(如 Vue、React、Angular 等),通过 HTML Entry 方式接入子应用,无需深度改造子应用即可实现集成,降低了技术迁移成…...
设计模式-结构型模式-适配器模式
概述 适配器模式 : Adapter Pattern 是一种结构型设计模式. 作用 : 使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 实现思路 : 适配器模式通过将一个类的接口转换成客户希望的另外一个接口来实现这一点。 这里的“接口”指的是类所提供的…...
6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...
多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...
windows 平台如何点击网页上的url ,会打开远程桌面连接服务器
你可以使用自定义协议方案(Protocol Scheme)实现网页上点击URL后自动启动远程桌面连接(mstsc),参考你提供的C代码思路,如下实现: 第一步:注册自定义协议 使用类似openmstsc://协议…...
基于Spark的热门动漫推荐数据分析与可视化系统的设计与实现(采用Python语言Django框架,Hadoop,spider爬虫等技术实现)
基于Hadoop的热门动漫推荐数据分析与可视化系统 基于Django的热门动漫推荐数据分析与可视化系统 1. 开发工具和实现技术 Pycharm, Python3.7,Django框架,Hadoop,Spark,Hive,spider爬虫(爬取动漫之家的动…...
8. 机器人模型训练与评估(具身智能机器人套件)
1. 训练 使用python lerobot/scripts/train.py可以进行机器人控制模型训练,一般需要几个小时,可以在outputs/train/act_lekiwi_test/checkpoints查看锚点数据,下面为一组示例参数: python lerobot/scripts/train.py \--dataset.…...
计算机网络-服务器模型
一.服务器模型 1.支持多客户端访问 //单循环服务器 socket bind listen while(1) { accept while(1) { recv/send } } close 注:该模式remvform为阻塞态,服务器将等待接收数据 2..支持多客户端同时访问 (并发能力) socket…...
DeepSeek大模型 —— 全维度技术解析
DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1…...
OSPF网络类型:NBMA与P2MP
一、NBMA网络 NBMA网络的特点 连接方式: 支持多台设备连接到同一个网络段,但网络本身不支持广播或组播。典型例子:帧中继、ATM。 DR/BDR选举: 由于网络不支持广播,OSPF需要手动配置邻居。 仍然会选举DR(…...
大数定律详解
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 🌟 一、大数定律的…...
2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
一、基因编辑技术的精准化突破 第三代基因编辑工具CRISPR-Cas12f的研发成功,将编辑精度提升至0.1碱基对级别。中国科学院团队利用该技术在灵长类动物模型中修复遗传性视网膜病变基因,治愈率达到92%。对比传统CRISPR-Cas9技术,新型编辑器脱靶…...
百度SEO关键词布局从堆砌到场景化的转型指南
百度SEO关键词布局:从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化(SEO)领域,关键词布局一直是核心策略之一。然而,随着搜索引擎算法的不断升级和用户需求的多样化,传统的“关键词堆砌”策略已经…...
别再只盯着P值了!用Stata做格兰杰检验后,这样解读结果才专业(含VAR模型与脉冲响应分析)
超越P值陷阱:格兰杰检验的深度解读与Stata实战指南 当屏幕上跳出那个熟悉的P值时,大多数研究者会条件反射般地做出二元判断——"显著"或"不显著",然后匆匆写下结论。这种机械式的数据分析方式正在学术界和业界制造大量&q…...
3mux常见问题解决:10个用户最常遇到的错误及其修复方法
3mux常见问题解决:10个用户最常遇到的错误及其修复方法 【免费下载链接】3mux Terminal multiplexer inspired by i3 项目地址: https://gitcode.com/gh_mirrors/3m/3mux 3mux是一款受i3启发的终端复用器,为用户提供高效的终端窗口管理体验。然而…...
WinUtil:Windows系统优化与软件管理的终极免费解决方案
WinUtil:Windows系统优化与软件管理的终极免费解决方案 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 还在为Windows系统优化和软…...
终极免费音频编辑解决方案:告别昂贵软件,用Audacity实现专业级音频处理
终极免费音频编辑解决方案:告别昂贵软件,用Audacity实现专业级音频处理 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为音频编辑软件的高昂费用而烦恼?是否曾因复杂的专业…...
【限时技术白皮书】ElevenLabs希伯来文语音工程手册(v2.3.1):含BERT-Heb分词器适配补丁、ta’amei ha-miqra韵律注入模块及CI/CD集成脚本
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs希伯来文语音工程概览 ElevenLabs 作为前沿的文本转语音(TTS)平台,自2023年起逐步扩展对希伯来语(Hebrew)的支持,涵盖音…...
多模态大模型应用开发利器:xBrain工具箱核心解析与实战
1. 项目概述:一个面向多模态大模型的开源工具箱 最近在折腾大模型应用开发,特别是涉及到图像、文本、音频等多模态任务时,常常感到工具链的割裂。文本生成有成熟的框架,视觉任务又有另一套生态,想把它们高效地整合到一…...
AntiDupl.NET终极指南:快速清理重复图片的免费开源神器
AntiDupl.NET终极指南:快速清理重复图片的免费开源神器 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾为电脑中堆积如山的重复图片而烦恼…...
如何用G-Helper轻松实现华硕笔记本CPU降压:实用调优指南
如何用G-Helper轻松实现华硕笔记本CPU降压:实用调优指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, …...
告别卡顿!用MobaXterm+PyCharm专业版,在实验室服务器上丝滑跑Python的保姆级教程
实验室服务器远程开发终极指南:MobaXterm与PyCharm专业版的高效协作方案 当你的Python脚本在本地笔记本上跑得比蜗牛还慢,而实验室那台128核的服务器却在"闲置"时,这种资源错配简直让人抓狂。作为一名常年与远程服务器打交道的算法…...
基于Web的Ollama客户端:本地大模型交互的图形化解决方案
1. 项目概述:一个与本地大模型交互的现代客户端 如果你最近在本地部署了像 Llama 3、Mistral 或 Qwen 这类开源大语言模型,大概率会接触到 Ollama 这个工具。它让模型的下载、运行和管理变得异常简单,一条 ollama run llama3 命令就能开启对…...
