【Java入门】初识Java

news2024/11/26 17:32:17

在这里插入图片描述
前言

📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型与变量、运算符、程序的逻辑控制、方法的使用、数组的定义与使、类和对象、继承和多态、抽象类和接口、认识String类、认识异常等……持续更新,请大家拭目以待恒川的专栏!
📘相关专栏C语言初阶、C语言进阶、恒川的日常汇报、系列等,大家有兴趣的可以看一看
📙Python零基础入门系列,正在发展中,喜欢Python的朋友们可以关注一下哦!


初识Java

  • 1. 初识Java的main方法
    • 1.1 main方法示例
    • 1.2 运行Java程序
  • 2. 注释
    • 2.1 基本规则
    • 2.2 注释规范
  • 3. 标识符
  • 4. 关键字

1. 初识Java的main方法

1.1 main方法示例

    public class HelloWorld{
        public static void main(String[] args){
            System.out.println("Hello,world");
        }
    }

如上展示的就是最简单的一个Java程序,可能同学们看到后一头雾水,可以说,Java的main方法应该是当前主流编
程语言中最“长”的

通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:

  1. 源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。

  2. 类:类中带有一个或多个方法。方法必须在类的内部声明。

  3. 方法:在方法的花括号中编写方法应该执行的语句。

总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。
注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。
好了,代码编写完了,如何让它“运行”起来呢?

1.2 运行Java程序

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够
理解的形式来运行。
在这里插入图片描述
注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。
【面试题】JDK、JRE、JVM之间的关系?

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

在这里插入图片描述
编写和运行第一个Java程序时,可能会遇到的一些错误:

  1. 源文件名后缀不是.java

  2. 类名与文件名不一致

  3. main方法名字写错:mian

  4. 类没有使用public修饰

  5. 方法中语句没有以分号结尾

  6. 中文格式的分号

  7. JDK环境没有配置好,操作系统不能识别javac或者java命令

main方法示例:
在这里插入图片描述

在这里插入图片描述

详细结构:
在这里插入图片描述

2. 注释

注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要.

2.1 基本规则

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

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

注意:

  1. 多行注释不能嵌套使用

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

/**

     文档注释:

     @version v1.0.0

     @author will


     作用HelloWorld类,入门第一个程序练习

     */
     多行注释:

            1. main方法是Java程序的入口方法

 2. main函数的格式是固定的,必须为public static void main(String[] args)

 */


         /**

          main方法是程序的入口函数

          @param args 命令行参数。

          */

            public static void main(String[] args){
    // 单行注释:System.out.println是Java中标准输出,会将内容输出到控制台

    System.out.println("Hello World");
    }
}
 

------------------------------------------------------------------------------------

// 在cmd中,使用javadoc工具从Java源码中抽离出注释

// -d 创建目录 myHello为目录名

// -author 显示作者

// -version 显示版本号

// -encoding UTF-8 -charset UTF-8 字符集修改为UTF-8

        javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java

2.2 注释规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).

3. 标识符

在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或
者变量所取的名字。
【硬性规则】
标识符中可以包含:字母、数字以及 下划线和 $ 符号等等(:不行)。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
【软性建议】

  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
  • 变量名:与方法名规则相同

一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名,比如:person、PERSON、Person、_person,将会使程序非常混乱。如果大家在取名时能够遵守一定的约束(即规范),那多人写除的代码仿佛一个人写的。
在这里插入图片描述

恒川提问大家一下:
下面那些标识符是合法的?

A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim

答案是BEF!!

4. 关键字

通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键
字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
注意:用户不能使用关键字定义标识符。
在Java中关键字有很多,这里给大家列出来一部分,先了解下后序在逐一详细解释。
在这里插入图片描述


如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

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

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

相关文章

MATLAB|004|MATLAB M-Files|MATLAB数据类型

MATLAB M-Files 我们一直强调MATLAB是一个功能强大的编程语言及交互式计算环境,之前学习的内容中,我们学会了在 MATLAB 命令提示符下输入命令,而且我们主要是把MATLAB环境作为一个计算器使用。其实,MATLAB 还允许写入到一个文件中…

5分钟掌握利用pycharm插件BitoAI 实现chatgpt自动编写代码

一、BitoAI 简介 最近出现了一款新型编程助手BitoAI。今天的主要内容就是给大家介绍它,号称 IDE 的“瑞士军刀”,可以提升开发 10 倍的效率。 简言之它的强大之处就是可以通过类似于ChatGPT对话的方式来编写代码,分析代码,生成代…

Flutter控件之Tab选项卡封装

Tab选项卡,这是一个非常常见且权重很高的一个组件,随便打开一个App,比如CSDN,如下图,首页顶部就是一个Tab选项卡,这个功能可以说,几乎每个App都会存在。 在Android中,我们可以使用Ta…

“Shell“iptales防火墙设置

文章目录 一.Linux防火墙基础1.1Linux包过滤防火墙概述1.2四表五链1.3规则链之间的匹配顺序1.4规则链内的匹配顺序1.5总结 二.编写防火墙规则2.1iptables防火墙的配置方法2.2规则的匹配2.3命令使用 一.Linux防火墙基础 1.1Linux包过滤防火墙概述 Linux 系统的防火墙: IP信息包…

惯性导航论文详解:神经惯性定位

来源:投稿 作者:小灰灰 编辑:学姐 论文标题:Neural Inertial Localization 论文链接: https://arxiv.org/pdf/2203.15851v1.pdf 图1.从IMU测量到位置估计。给定惯性传感器数据(左),我们的方法…

C#,生信软件实践(04)——DNA数据库EMBL格式文件的解释器之完整源代码

EMBL文件的格式详解请阅读前面的文章: C#,生信软件实践(02)——DNA数据库EMBL格式详解及转为FASTA格式文件的源代码https://blog.csdn.net/beijinghorn/article/details/130462070 本文的代码用于: (1&a…

Linux---文件操作命令(cp、mv、rm)

1. cp命令 cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy。 语法:cp [选项] 参数1 参数2 参数1:Linux路径,表示被复制的文件或文件夹 参数2:Linux路径,表示要复制去的地方 选…

《Java 核心技术面试》课程笔记(十一)

Java 提供了哪些 IO 方式? 典型回答 Java IO 基于不同的 IO 抽象模型和交互方式,可以分为: BIO,传统的 java.io 包,它基于流模型实现。 提供了我们最熟知的⼀些 IO 功能,比如 File 抽象、输入输出流等。交…

安装编译PostgreSql15.3.0

一、下载源码 方式一 官网手动下载 https://www.postgresql.org/download/. 解压 tar -zxvf postgresql-14.2.tar.gz方式二 git clone git clone https://github.com/postgres/postgres.git解压或下载后计入postgres目录 cd postgres-15.3二、创建目录 用root账户创建 创建…

[iOS开发]<多线程-NSOperation操作队列NSOperationQueue>

前言 寒假期间学习过GCD。今天学习NSOperation。同样都是多线程封装,NSOperation和NSOperationQueue是基于GCD的更高一层的封装,完全的面向对象,相比于GCD复杂的各种API方法,它的优势就是更加的简单实用,代码的可读性…

电力电子课设—数控产生PWM波——使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)控制速成教程

我们学校电气专业开始做电力电子的课设了,小组选了一项制作硬件电路的任务,里面有要求采用数控方式实现DC-DC电压变换的输出电压调节,数控在电路中的体现就是用单片机输出可调占空比的PWM作用于产生PWM波控制IGBT的芯片。考虑到可能有同学没接…

金领冠520解密母乳源代码,助推婴配粉中国式现代化高速发展

又是一年520,又是一个“全国母乳喂养宣传日”。 1990年5月10日,为保护、促进和支持母乳喂养,更好地实行优生优育,原中华人民共和国国家卫生部召开新闻发布会,确立每年5月20日为“全国母乳喂养宣传日”。 那时&#x…

[GXYCTF2019]BabySQli1

拿到题目一看就是sql注入,所以还是老样子账号admin密码随便输入,回显但是密码错误 当用户名随便输入时,回显用户名错误,说明是先检测用户名,再检测密码 应该是存在过滤 通过burp爆破大致找出过滤字符,还有就…

css flex布局

css flex布局 flex是flexible Box的缩写,意为“弹性布局”,任何一个容器都可以指定为flex布局。 当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效 总结flex布局原理: 就是通过给父盒子添加fl…

Java - AQS(一)

Java - AQS(一) 在Java中,AQS代表AbstractQueuedSynchronizer(抽象队列同步器)。AQS是Java并发包中用于构建同步器的基础框架。它提供了一种实现同步状态管理、线程等待和通知的机制。 AQS主要通过一个int类型的状态…

轻松玩转开源大语言模型bloom(四)

前言 前几篇都围绕着语言模型的decoding strategy来讲述,今天将进入进阶篇,在解码策略效果有限和提示词修改也无法满意的情况下如何提升模型的效果呢?这时我们需要对大语言模型进行fine-tune,即微调。一般我们用的大语言模型都是…

chatgpt赋能Python-python5个数从小到大排序

Python中的5个数从小到大排序 在Python中,排序是一个常见的操作。我们经常需要对一组数据进行排序,以便更方便地对数据进行分析和处理。在本文中,我们将探讨Python中如何排序5个数,具体来说,是从小到大排序。 介绍 …

chatgpt赋能Python-python5__3

Python5%-3: 介绍和结论 什么是Python5%-3 Python5%-3是在Python 3语言版本中增加的一个新特性,它是Python语言中对移动开发的支持扩展,这个特性被称为Python5%-3。 具体来说,Python5%-3允许开发者能够更方便地创建移动应用程序&#xff0…

大脑MRI去噪技术研究进展

导读 磁共振(MR)图像诊断的准确性取决于图像的质量,而图像质量下降的主要原因是由于噪声和伪影。噪声是由成像环境错误或传输系统失真所引起的。因此,去噪方法对提高图像质量起着重要作用。然而,在去噪和保留结构细节之间需要权衡。现有的大…

【Linux】Linux 下的权限(初)

d1 目录下有目录dir,和一个普通文件 test.c 重点看到文件的各种权限,拆分清晰地理解(重) 观察到权限和文件类型一坨除了第一列的文件类型其他的都是文件相关的权限,而且是三个三个分开 为什么分开呢?是因为…