Hello World启示录:Java编程的起点

在这里插入图片描述

  • 👑专栏内容:Java
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录

  • 一、Java基本结构
    • 1、一个简单的Java程序
    • 2、运行Java程序
    • 3、JDK | JRE | JVM之间的关系
  • 二、代码注释标准
    • 1、注释规则
    • 2、注释规范


嗨!让我们以一段简单到爆炸的Java代码开始吧,它的效果是输出:Hello World!当然,这段代码简单得让你可能会想说:“这就是Java?我还以为要写个小说呢!”但请你别担心,我们将通过分析这段世界上最简单的Java代码,慢慢带你揭开Java语言的神秘面纱。

图片描述

一、Java基本结构

1、一个简单的Java程序

public class HelloWorld {  public static void main(String[] args) { 	System.out.println("Hello World!");		}
}
//这就是一段最简单的Java代码

下面让我们来逐行学习这段Java代码。

第一行是public class HelloWorld,这是一个类的开始声明,表示这个类名为HelloWorld,其中public是访问修饰符,表示这个类是公共的,可以被其他类访问。

接下来是public static void main(String[] args) 这是一个特殊的方法,被称为main方法,它是一个Java程序的入口,它是程序开始执行的地方。

最后是System.out.println("Hello World !")。这行代码的作用就是输出HelloWorld!
System:这是 Java 编程语言提供的一个类。这个类包含了对Java 应用程序环境的访问,以及标准输入、输出和错误输出流等功能。out表示 System 类中的标准输出流。可以使用 System.out 来访问这个输出流对象。println表示将输出的内容打印到输出流上,并且在结尾处自动添加一个换行符。这是 println 两个方法的组合。

图片描述

差点忘记解释这个了,这个在后面的类和对象中我们会详细的说明。先简单的说一下,class是Java中的关键字,它的作用是告诉Java,我们要现在要定义一个新的类。例如public class HelloWorld 就说在告诉Java,我现在要定义一个名叫HelloWorld的类了。

2、运行Java程序

相信看了上面的解释,你已经弄明白了一段Java代码长什么样。下面让我们一起了解一下,Java代码是如何运行起来的吧!
注意:在运行Java程序前,请必须先安装好JDK,后面再解释什么是JDK。
首先,Java代码需要被编译器(Javac)翻译成字节码。这个过程称为编译。编译器会检查代码的语法和语义,确保它们符合Java语言规范。一旦代码被成功编译,将生成一个字节码文件(.class文件)。接下来,Java虚拟机(JVM)将负责执行这些字节码。

在这里插入图片描述

JVM是Java的核心组件之一,它是一个运行时环境,负责加载字节码并执行相应的操作。JVM提供了内存管理、垃圾回收、线程管理等功能,使得Java程序可以在不同的操作系统上运行。当Java程序运行时,JVM会加载并解释字节码指令。它会按照指令的顺序执行代码,从而实现程序的逻辑。

在这里插入图片描述

图片描述

3、JDK | JRE | JVM之间的关系

  • JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsolejstack等。
  • JRE(Java Runtime Environment):Java运行时环境,包含了JVMJava基础类库。是使用Java语言编写程序运行的所需环境。
  • JVM:Java虚拟机,运行Java代码。
    在这里插入图片描述

图片描述

二、代码注释标准

在Java中,// 是用来表示单行注释的符号。当你在代码中使用//时,它之后的所有内容都会被视为注释,直到这一行结束。这样,你可以在代码中添加一些有用的注释,解释代码的功能、实现细节,或者提醒自己或其他程序员一些重要的事项。注释是为了让代码更容易被读懂而附加的描述信息,不参与编译运行,但是却非常重要时刻牢记

1、注释规则

Java中的注释主要分为以下三种:

  • 单行注释://注释内容
  • 多行注释:/* 注释内容*/
  • 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档。

注意:

  • 多行注释不能嵌套使用。
  • 不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。

2、注释规范

  • 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新。

  • 篇幅合理: 注释既不应该太精简,也不应该长篇大论。

  • 积极向上: 注释中不要包含负能量。

Java入门第一篇就讲到这里了,希望通过这篇文章,能让你对Java有了更清晰的认识,并对如何编写简单的Java程序有了初步的了解。后续会持续更新其他Java内容,请保持关注哦。

图片描述

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

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

相关文章

如何取消显示Notepad++每行显示的CRLF符号

新电脑中重新安装了Nodepad,打开记事本后发现出现了许多黑底的CR|LF标记,特别碍眼。 如何取消呢? 视图 -> 显示符号 -> 取消勾选 显示行尾符操作步骤 预期效果

010_第一代软件开发(二)

第一代软件开发(二) 文章目录 第一代软件开发(二)项目介绍界面布局功能完善快照功能获取可用串口播放按键提示音 关键字: Qt、 Qml、 QSerialPort、 QPixmap、 QSoundEffect 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML&#xff…

法线贴图的视线原理

在上一篇文章中详细介绍了位移贴图的相关知识,在本章中我们继续讲述法线贴图的相关概念,文章后面继续用GLTF 编辑器 来演示下法线贴图的模型渲染效果。 1、什么是法线贴图 法线贴图(Normal Map)是一种纹理映射技术,用…

【kohya】训练自己的LoRA模型

文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题: 序言 在把玩stable diffusion的webUI和comfyUI后,思考着自己也微调一个个性化风格的checkpoint、LyCO…

2023 “华为杯” 中国研究生数学建模竞赛(D题)深度剖析|数学建模完整代码+建模过程全解全析

问题一:区域碳排放量以及经济、人口、能源消费量的现状分析 思路: 定义碳排放量 Prediction 模型: CO2 P * (GDP/P) * (E/GDP) * (CO2/E) 其中: CO2:碳排放量 P:人口数量 GDP/P:人均GDP E/GDP:单位GDP能耗 CO2/E:单位能耗碳排放量 2.收集并统计相关…

8应用服务与领域服务

本系列包含以下文章: DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务(本文)领域事件CQRS 案例项目介绍 # 既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术&…

ElasticSearch - 索引库和文档相关命令操作

目录 一、ElasticSearch 索引库操作 1.1、mapping 属性 1.2、索引库相关操作 1.2.1、创建索引库 1.2.2、增加和删除索引库 1.2.3、修改索引库 1.3、文档操作 1.3.1、添加文档 1.3.2、文档的查询和删除 1.3.3、修改文档 1.全量修改:会先删除旧文档&#xf…

基于springboot消防员招录系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

vue-cli创建项目、vue项目目录结(运行vue项目)、ES6导入导出语法、vue项目编写规范

vue-cli创建项目、vue项目目录结构、 ES6导入导出语法、vue项目编写规范 1 vue-cli创建项目 1.1 vue-cli 命令行创建项目 1.2 使用vue-cli-ui创建 2 vue项目目录结构 2.1 运行vue项目 2.2 vue项目的目录结构 3 es6导入导出语法 4 vue项目编写规范 4.1 修改项目 4.2 以后…

【深度学习推荐系统 工程篇】三、浅析FastTransFormer看 GPU推理优化 思路

前言 在搜索/推荐场景中(一般是CTR/CVR预估)Serving的模型一般是稀疏参数占比比较大,工程落地方面会遇到两方面的困难: 稀疏参数的存储/IO网络结构的优化 对于稀疏参数的存储/IO,在上一篇【深度学习推荐系统 工程篇…

电子信息工程专业课复习知识点总结:(五)通信原理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 第一章通信系统概述——通信系统的构成、各部分性质、性能指标1.通信系统的组成?2.通信系统的分类?3.调制、解调是什么?有什么用…

详解MySQL存储引擎

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、MySQL存…

【CNN-FPGA开源项目解析】卷积层01--floatMult16模块

文章目录 (基础)半精度浮点数的表示和乘运算16位半精度浮点数浮点数的乘运算 floatMult16完整代码floatMult16代码逐步解析符号位sign判断指数exponent计算尾数fraction计算尾数fraction的标准化和舍位整合为最后的16位浮点数结果[sign,exponent,fraction] 其他变量宽度表alway…

Aspose转pdf乱码问题

一、问题描述 ​ 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码(如图),但是在win服务器上使用可以正常转换 二、问题原因 由于linux服务器缺少对应的字库导致文件转换出现乱码的 三、解决方式 1.将window中字体(c:\windows\fonts)放到linux…

leetcode刷题 二维数组 八方向

题目描述 输入:board [[0,1,0],[0,0,1],[1,1,1],[0,0,0]] 输出:[[0,0,0],[1,0,1],[0,1,1],[0,1,0]] 题目分析:就是以二维数组某个元素为中心,寻找周围八个方向的元素,按照题目要求修改二维数组元素返回; 拷贝一份二…

ElementUI实现登录注册+axios全局配置+CORS跨域

一、搭建项目 1.1 安装 Element-UI 先确保是否安装了vue-cli脚手架工具 !!! 安装vue脚手架可以看看我的上一篇博客 构建好项目后通过npm安装element-ui cd 项目根路径 #进入新建项目的根目录 npm install element-ui -S #安装…

AUTOSAR 面试知识回顾

如果答不上来,就讲当时做了什么 1. Ethernet基础: 硬件接口: ECU到PHY: data 是MII总线, 寄存器控制是SMI总线【MDCMDIO两根线, half duplex】PHY输出(100BASE-T1): MDI总线,2 wire 【T1: twisted 1 pair …

C#__简单使用TCP/UDP发送消息

Socket(套接字、插口) TCP和UCP的区别: 1、基于连接和无连接 2、对系统资源的要求(TCP较多,UCP少) 3、UDP程序结构简单 4、流模式和数据报模式 5、TCP保证数据正确性和数据先后顺…

关于地址存放的例题

unsigned int a 0x1234; unsigned char b *(unsigned char*)&a; 上面代码大端存储和小端存储的值分别是多少? 大端存储的是把高位地址存放在低位地址处,低位存放到高位。小端是高位存放在高位,低位在低位。因为a是整型,所…

GraphQL基础知识与Spring for GraphQL使用教程

文章目录 1、数据类型1.1、标量类型1.2. 高级数据类型 基本操作2、Spring for GraphQL实例2.1、项目目录2.2、数据库表2.3、GraphQL的schema.graphql2.4、Java代码 3、运行效果3.1、添加用户3.2、添加日志3.3、查询所有日志3.4、查询指定用户日志3.5、数据订阅 4、总结 GraphQL…