JavaSE 基础语法 - 初始 Java

news2026/4/15 7:02:53
一、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定义枚举类限定变量只能取固定值 */

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2519055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…