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

JavaSE 基础语法 - 初始 Java

一、Java是什么Java 是一门面向对象的、跨平台的高级编程语言由 Sun Microsystems 公司后被 Oracle 收购于 1995 年推出设计初衷是 “Write Once, Run Anywhere一次编写到处运行”。语言层面Java 有自己的语法规则、关键字、数据类型和我们日常说的中文 / 英文一样是程序员和计算机沟通的“语言”能让计算机理解并执行我们的指令技术体系层面Java 不只是 “一门语言”更是一套完整的技术生态 —— 包含 JDK开发工具包、JVM虚拟机、大量的库如处理字符串、文件、网络的工具能支撑从简单小程序到大型企业系统的开发。可以把它理解成和电脑沟通的 “语言”—— 你用 Java 写好指令电脑就能按你的要求做事。它最核心的特点就一个写一次能在不同设备 / 系统上跑。比如你用 Java 写了一个小程序既可以在 Windows 电脑上运行也能在 Linux 服务器、手机上运行不用为不同设备重新写代码。二、为什么选择学习 Java2.1 Java 的普及度与使用规模Java 是全球使用最广泛的编程语言之一其普及程度和应用规模远超多数编程语言市场占比据 TIOBE、Stack Overflow 等权威机构统计Java 常年稳居编程语言排行榜前 3在企业级开发领域占比超过 60%开发者规模全球有超过 900 万 Java 开发者是开发者社区最庞大的编程语言之一遇到问题能快速找到解决方案和技术支持企业应用规模全球财富 500 强企业中90% 以上的公司使用 Java 开发核心业务系统如银行的交易系统、电商的订单系统、政务的审批系统存量系统过去多年积累的海量 Java 项目意味着市场对 Java 开发者的需求是 “刚需且稳定”不会轻易被替代。下图数据来自于TIOBE编程语言社区最新的排行榜。TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标每月更新这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎诸如 Google、MSN、Yahoo、Wikipedia、YouTube 以及 Baidu 等进行计算。注意上述排名不能说明哪个语言好哪个语言不好每门编程语言都有适应自己的应用场景。2.2 Java 的核心特性跨平台一次编译到处运行这是 Java 最核心的优势。写好的 Java 代码编译后生成.class 文件能在任何安装了 JVMJava 虚拟机的系统Windows、Mac、Linux上运行无需针对不同系统修改代码。面向对象Java 是纯面向对象的语言符合人类的思维习惯比如把 “学生” 抽象成 “类”把 “张三” 抽象成 “对象”便于开发大型、复杂的项目。安全稳定Java 内置了安全机制如自动内存管理、异常处理能避免内存溢出、非法访问等问题。生态完善经过多年的发展Java 拥有丰富的类库、框架Spring、MyBatis 等和社区支持遇到问题能快速找到解决的办法。2.3 Java 的应用场景后端开发电商、金融、政务系统的服务器端开发占比最高移动开发早期 Android 应用主要基于 Java 开发大数据开发Hadoop、Spark 等大数据框架核心是 Java 编写嵌入式开发智能家居、工业设备等场景。2.4 Java SE/EE/ME 的区别Java SEStandard Edition标准版是 Java 的核心基础包含语法、数据结构、IO、多线程等核心内容是学习 Java EE/ME 的前提Java EEEnterprise Edition企业版基于 SE 扩展用于开发大型企业级应用如 Spring Boot 就属于 EE 生态Java MEMicro Edition微型版用于嵌入式 / 移动设备开发现在使用较少。简单来说就是Java岗位多、需求大、好找工作技术成熟不容易过时学会之后可以拿它做网站、后端和大数据等等。三、开发环境搭建3.1 开发环境简介JDK(Java Development Kit):Java开发工具包提供给Java程序员使用包含了JRE同时还包含了编译器Javac与自带的调试工具Jconsole、jstack等。RE(Java Runtime Environment):Java运行时环境包含了JVMJava基础类库。是使用Java语言编写程序运行的所需环境。JVMJava虚拟机运行Java代码3.2 开发环境安装安装教程可参考Windows版本可能是Widows下最简单的Java环境安装教程Linux版本Linux下的JDK安装教程Mac版本Mac下的JDK安装教程四、第一个 Java 程序Hello World4.1 Java 的main方法的示例// 定义一个公共类类名必须和文件名一致HelloWorld.javapublicclassHelloWorld{// main 方法Java 程序的入口点程序从这里开始运行publicstaticvoidmain(String[]args){// 控制台输出语句打印输出 Hello World 字符串System.out.println(Hello World);}}如上展示的就是最简单的一个Java程序可以说Java的main方法应该是当前主流编程语言中最“长”的。通过上述代码我们可以看到一个完整的Java程序的结构Java程序的结构由如下三个部分组成源文件扩展名为*.java)源文件带有类的定义。类用来表示程序的一个组件小程序或许只会有一个 类。类的内容必须包含在花括号里面。类类中带有一个或多个方法。方法必须在类的内部声明。方法在方法的花括号中编写方法应该执行的语句。简单总结一下类存在于源文件里面方法存在于类中语句存在于方法中。在一个源文件中只能有一个public修饰的类而且源文件名字必须与public修饰的类名字相同。4.2 运行Java程序Java是一门半编译型、半解释型语言。先通过Javac编译程序把源文件进行编译编译后生成的.class文件是由字节码组成的与平台无关、面向JVM的文件。最后启动Java虚拟机来运行.class文件此时JVM会将字节码转换成平台能够理解的形式来运行。使用记事本或者IDEA集成开发环境编写Java源程序使用javac.exe编译器编译Java源程序生成xxx.class字节码文件编译命令javac xxx.java使用java运行xxx.class字节码文件运行命令java xxx注意在运行Java程序前必须先安装好JDK(Java Development Kit即Java开发工具包)JDK里面就包含了javac和java工具Java程序最终是在JVM(Java虚拟机)中运行的。第一步安装好JDK后首先先创建好一个txt文件在此文件中编写好程序后保存退出然后修改文件名和后缀名为HelloWorld.java第二步在命令行窗口中使用javac命令对源程序进行编译编译后生成HelloWorld.class字节码文件第三步在命令行窗口中使用java命令运行程序IDEA的下载、安装和使用教程可参考IDEA下载、安装和使用教程图解非常详细五、基础语法规范注释、标识符、关键字5.1 注释注释是为了让代码更容易被读懂而附加的描述信息不参与编译运行但是却非常重要。要记住! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的。Java中的注释主要分为以下三种单行注释// 注释内容用的最多多行注释/* 注释内容*/不推荐文档注释 /** 文档注释 */常见于方法和类之上描述方法和类的作用)可以被javadoc工具解析生成一套以网页文件形式体现的程序说明文档注意1.多行注释不能嵌套使用2.不论是单行还是多行注释都不参与编译即编译之后生成的.class文件中不包含注释信息。// 1. 单行注释以//开头注释一行内容/* 2. 多行注释以/*开头*/结尾 可以注释多行内容 常用于注释一段代码或功能说明*//** * 3. 文档注释以/**开头*/结尾*可用于生成API文档*常用在类、方法上方说明功能*author作者名*version版本号*/publicclassTest{publicstaticvoidmain(String[]args){inta10;// 单行注释定义变量a值为10System.out.println(a);}}注释规范1.内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论3.使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论4.积极向上: 注释中不要包含负能量(例如骂人的话等)5.2 标识符标识符是程序员自定义的名称用于给类、变量、方法等命名Java 对标识符有严格规则。如上面的Hello World程序中HelloWorld称为类名main成为方法名也可以将其称为标识符。合法规则由字母A-Z/a-z、数字0-9、下划线_、美元符号$组成不能以数字开头不能是 Java 关键字区分大小写如age和Age是两个不同的标识符。命名规则类名每个单词的首字母大写(大驼峰)方法名首字母小写后面每个单词的首字母大写(小驼峰)变量名与方法名规则相同// 合法标识符publicclassTest{publicstaticvoidmain(String[]args){intage18;// 合法字母开头小写int_age220;// 合法下划线开头包含数字int$salary5000;// 合法$开头// int 2age 22; // 非法数字开头// int class 1; // 非法class是关键字}}5.3 关键字通过观察上述程序可以发现public、class以及static等颜色会发生变化将这些具有特殊含义的标识符称为关键字。即关键字是由Java语言提前定义好的有特殊含义的标识符或者保留字。注意用户不能使用关键字定义标识符。在Java中关键字有很多这里给大家列出来比较常用的了解一下。/** * 一、访问权限修饰符 * public公共权限所有类可访问定义公开的类/方法/变量 * private私有权限仅当前类可访问常用于封装数据 * protected受保护权限同包子类可访问用于父子类共享数据 *//** * 二、类/方法/变量修饰符 * static静态修饰符修饰的成员属于类可直接通过类名调用 * final常量修饰符修饰变量为常量、方法不可重写、类不可继承 * abstract抽象修饰符修饰抽象类/抽象方法用于规范子类行为 *//** * 三、类与接口核心关键字 * class定义普通类Java面向对象的基础 * interface定义接口规范类的行为支持多实现 * extends实现类的单继承复用父类代码 * implements类实现接口满足多态设计 * package声明类所属包必须在文件首行 * import导入其他包的类简化代码书写 *//** * 四、对象与实例关键字 * new创建对象实例调用构造方法分配内存 * this指代当前对象区分成员变量和局部变量 * super指代父类对象调用父类构造/方法/变量 * instanceof判断对象所属类型避免类型转换异常 *//** * 五、流程控制关键字 * if单分支条件判断 * elseif条件不满足时执行 * else if多分支条件判断 * switch多值匹配分支结构 * caseswitch内的具体分支项 * defaultswitch的默认分支 * for已知循环次数的循环含增强for * while先判断后执行的循环 * do配合while组成do-while循环先执行后判断 * break跳出当前循环/switch * continue跳过本次循环进入下一次 * return结束方法执行可返回指定值 *//** * 六、异常处理关键字 * try包裹可能抛异常的代码监控异常 * catch捕获指定类型异常并处理 * finally无论是否异常都执行常用于释放资源 * throw手动抛出具体异常对象 * throws声明方法可能抛出的异常交给调用者处理 *//** * 七、基础数据类型关键字 * int整型默认整数类型日常数值计算首选 * double浮点型默认小数类型适用于精度要求不高的计算 * boolean布尔型存储true/false用于条件判断 * char字符型存储单个字符 * void修饰方法标识无返回值 *//** * 八、常用进阶关键字 * enum定义枚举类限定变量只能取固定值 */

相关文章:

JavaSE 基础语法 - 初始 Java

一、Java是什么? Java 是一门面向对象的、跨平台的高级编程语言,由 Sun Microsystems 公司(后被 Oracle 收购)于 1995 年推出,设计初衷是 “Write Once, Run Anywhere(一次编写,到处运行&#x…...

SMUDebugTool:解锁AMD Ryzen处理器硬件调试与性能优化的专业指南

SMUDebugTool:解锁AMD Ryzen处理器硬件调试与性能优化的专业指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...

ROS中使用自定义头文件和源文件的方法--c++版本

自定义RobotCar.h和RobotCar.cpp文件,test.cpp引用RobotCar,对CmakeLists.txt进行配置:1. 存放头文件组织结构如下:首先将头文件RobotCar.h文件存放到功能包文件夹(car_coop_nav)下的include文件夹下的功能包名文件夹内:存放头文件…...

Jimeng AI Studio效果展示:Z-Image-Turbo生成3D渲染风格图像

Jimeng AI Studio效果展示:Z-Image-Turbo生成3D渲染风格图像 1. 惊艳的3D渲染效果展示 Jimeng AI Studio基于Z-Image-Turbo引擎,在3D渲染风格图像生成方面展现出了令人印象深刻的能力。这个轻量级工具不仅生成速度快,更重要的是能够产出具有…...

如何利用数据库特性防注入_使用只读事务模式执行查询

不能。只读事务仅限制写操作,无法防御SQL注入,攻击者仍可执行SELECT、UNION、延时函数等恶意查询;防注入核心是参数化查询与最小权限账户配合。只读事务真能防 SQL 注入吗不能。只读事务 SET TRANSACTION READ ONLY 或 START TRANSACTION REA…...

RMBG-2.0效果对比实测:BiRefNet vs U2Net vs MODNet,边缘精度全解析

RMBG-2.0效果对比实测:BiRefNet vs U2Net vs MODNet,边缘精度全解析 在图片处理领域,抠图一直是个技术活。无论是电商商品图、人像摄影还是创意设计,一张边缘干净、过渡自然的抠图作品,往往能直接决定最终效果的成败。…...

Pixel Couplet Gen 电路设计联动:Proteus仿真中显示AI生成春联

Pixel Couplet Gen 电路设计联动:Proteus仿真中显示AI生成春联 1. 项目背景与创意来源 这个项目的灵感来源于传统春节与现代技术的碰撞。每年春节,家家户户都会贴春联,而作为电子工程师,我们突发奇想:能不能让电路板…...

Stable-Diffusion-v1-5-Archive 赋能Web应用:JavaScript前端实时预览功能开发

Stable-Diffusion-v1-5-Archive 赋能Web应用:JavaScript前端实时预览功能开发 你有没有想过,在一个AI绘画网站上,输入一句话,就能看着画面从模糊到清晰,一点点在你眼前“生长”出来?那种实时看到创作过程的…...

第17篇:TMC2240诊断功能软件实现|故障检测+报警输出(保姆级)

#TMC2240 #故障诊断 #过流保护 #过热报警 #欠压检测 #自恢复机制 #STM32开发 作者:BackCatK Chen 厦门市电子工程中级工程师 (承接第16篇多轴联动,关注我解锁TMC2240稳定运行终极方案,从“故障失控”到“智能诊断”一步到位&#…...

阿里云:调整标准版、专业版用户的API免费额度并支持按量付费

阿里云此次调整DataWorks API免费额度,表面上是取消每日调用限制、简化计费,但深层逻辑是AI算力需求井喷后,“价格战”向“价值战”转向的行业缩影。 如果说“龙虾”AI智能体的爆火点燃了这场变革的导火索,那么阿里云此举&#xf…...

一次看懂 C# TimeSpan:时间差操作的完整指南

在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...

【跨域姿态估计】Cross-Domain Animal Pose Estimation With Skeleton Anomaly-Aware Learning

论文信息 论文题目 Cross-Domain Animal Pose Estimation With Skeleton Anomaly-Aware Learning 作者均来自浙江大学计算机科学与技术学院 论文链接 https://doi.org/10.1109/TCSVT.2025.3557844 Github链接 https://github.com/LeHan-ZJU/UDARP-9.4K动物姿态估计(…...

【Kafka系列·进阶第四篇】云原生收官实战:K8s容器化部署+运维自动化+集群迁移

大家好,在上一篇进阶第三篇中,我们完成了Kafka流处理与数据治理体系搭建,实现了实时数据计算、消息格式强校验、多租户权限隔离,让传统Kafka集群具备了企业级合规管控能力。但随着云原生架构普及,传统物理机/虚拟机部署…...

终极RDP Wrapper完整指南:3步解决Windows远程桌面限制 [特殊字符]

终极RDP Wrapper完整指南:3步解决Windows远程桌面限制 🚀 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap RDP Wrapper Library 是一款革命性的开源工具,它让Windows家庭版也能拥…...

【Kafka系列·进阶第三篇】流处理与数据治理实战:Streams实时计算+Schema校验+多租户管控

大家好,在上一篇进阶第二篇中,我们完成了Kafka全链路性能调优,让集群实现高吞吐低延迟的双达标,彻底解决了高并发场景下的性能瓶颈。但很多同学会发现,普通的生产消费模式,只能实现消息的简单传输&#xff…...

数组arr

一.概念[必须是常量值] 1.概念2.一维数组的创及其初始化(怎么定义数组) 2.1数组创建2.2数组初始化2.2数组类型(去掉数组名)3.一维数组的使用 3.1数组下标(从0开始)3.2如何打印目标数组元素3.3如何打印数组所…...

大模型应用必看:分块策略详解(收藏版),轻松提升RAG系统召回率!

本文深入探讨了在RAG系统中,如何通过分块策略提升大模型的处理效率和召回率。文章详细介绍了固定大小、重叠、递归、文档特定、语义及混合等分块策略,并分析了每种策略的优缺点及适用场景。通过LangChain提供的多种文档分块方法,开发者可以轻…...

Pi0机器人控制初体验:Web界面操作详解,从安装到运行全流程

Pi0机器人控制初体验:Web界面操作详解,从安装到运行全流程 1. 项目概述 Pi0是一个创新的视觉-语言-动作流模型,专为通用机器人控制设计。这个项目提供了一个直观的Web演示界面,让用户能够通过浏览器轻松控制机器人。无论您是机器…...

02阶段:大模型部署机器人项目

一、ollama私有大模型本地部署 1.智聊机器人概述 ① 知道什么是聊天机器人 能够听懂人话,并且说出人话的程序。 1)基本定义:一个用来模拟人类对话或聊天的程序。 2)主要应用:客服支持、智能助手、社交互动、教育学习…...

没历史数据怎么建基站?NetSpatial:教你用AI看“卫星图”推演全城流量!

文章目录没历史数据怎么建基站?NetSpatial:教你用AI看“卫星图”推演全城流量!一、城市通信的“薛定谔状态”:从玄学选址到算力崩溃二、NetSpatial的破局本质:从“被动算命”到“主动沙盘推演”💡 深度拆解…...

Adobe-GenP 3.0:终极Adobe CC全系列激活指南

Adobe-GenP 3.0:终极Adobe CC全系列激活指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP 3.0是一款功能强大的通用补丁工具,专…...

像素史诗效果展示:研报生成过程中的‘能量值’反馈与推理稳定性监测

像素史诗效果展示:研报生成过程中的能量值反馈与推理稳定性监测 1. 像素史诗智识终端概览 Pixel Epic Wisdom Terminal是一款基于AgentCPM-Report大模型构建的研究报告辅助系统,它将枯燥的科研工作转化为一场视觉化的像素冒险。系统采用16-bit复古游戏…...

立知-lychee-rerank-mm详细步骤:日志排查、重启、调试全流程

立知-lychee-rerank-mm详细步骤:日志排查、重启、调试全流程 1. 引言:当重排序模型“罢工”时 想象一下这个场景:你正在搭建一个智能问答系统,用户上传了一张“金毛犬在草地上奔跑”的图片,并问“这是什么品种的狗&a…...

从“普惠”到“全能”:全志T153工业芯如何以HZ-T153_MiniEVM重塑工控开发体验

1. 为什么工业控制需要"普惠型"芯片? 在工业自动化领域,设备制造商常常面临一个两难选择:要么采用性能强大但价格昂贵的外国芯片方案,要么选择价格低廉但功能受限的入门级控制器。全志T153的出现打破了这种局面&#xf…...

数字化电价执行错误识别新模式:原理、模型与工程实现

目录 一、研究背景与业务痛点(为什么要做数字化识别) 1.1 电价执行合规的核心意义 1.2 传统电价核查模式的核心痛点(附业务具象化) 1.3 数字化识别模式的核心价值 二、总体模型设计思路(核心逻辑拆解) 三、行业细分与用电行为定性分析(高风险场景聚焦) 3.1 高风险…...

IntelliJ IDEA 2026.1 安装配置与高效开发环境搭建 (保姆级图文教程)

IDEA 2026.1 部署工具包下载 0. 前言 在 2026 年,IntelliJ IDEA 2026.1 不仅仅是一个编辑器,它已经进化为深度集成 DeepSeek/GPT-4o、支持云原生架构的开发者大脑。对于 Java 程序员来说,环境搭建不仅仅是“装上软件”,更是性能…...

资源优化攻略:如何在消费级显卡上高效运行lora-scripts训练

资源优化攻略:如何在消费级显卡上高效运行lora-scripts训练 1. 理解LoRA训练的资源挑战 LoRA(Low-Rank Adaptation)技术已经成为微调大型模型的主流方法,它通过冻结预训练模型的权重,只训练少量低秩矩阵来实现高效适…...

Agent深度问题

一. skills和sub agent的区别 在 AI Agent 架构体系中,Skills(技能) 和 Sub Agent(子智能体) 是两种核心的能力扩展方案,二者的核心差异在于是否具备独立推理规划能力、是否拥有独立上下文生命周期,可通俗理解为「工具箱里的专用工具」与「可独立干活的专项专家」的区别…...

GTE-Pro与PyTorch Lightning整合:分布式训练优化

GTE-Pro与PyTorch Lightning整合:分布式训练优化 1. 为什么GTE-Pro需要PyTorch Lightning来加速训练 GTE-Pro作为一款企业级语义智能引擎,它的核心能力在于将文本转化为高维意义向量。但这种能力不是凭空而来的——它需要在海量文本数据上进行充分训练…...

系统部署自动化

系统部署自动化:提升效率的关键利器 在数字化转型的浪潮中,系统部署自动化已成为企业提升运维效率、降低人为错误的核心技术。传统的手动部署方式不仅耗时耗力,还容易因操作失误导致系统故障。而自动化部署通过脚本和工具实现一键式操作&…...