【Java入门】初识Java

简介: 【Java入门】初识Java

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程序的结构由如下三个部分组成:


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


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


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


总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。

注意:在一个源文件中只能有一个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程序时,可能会遇到的一些错误:


源文件名后缀不是.java


类名与文件名不一致


main方法名字写错:mian


类没有使用public修饰


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


中文格式的分号


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


main方法示例:


详细结构:


2. 注释


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


2.1 基本规则

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


单行注释:// 注释内容(用的最多)

多行注释:/* 注释内容*/(不推荐)

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


注意:


多行注释不能嵌套使用


不论是单行还是多行注释,都不参与编译,即编译之后生成的.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 注释规范

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

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

使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.

积极向上: 注释中不要包含负能量(例如 领导 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中关键字有很多,这里给大家列出来一部分,先了解下后序在逐一详细解释。


如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下⭐,谢谢大家!!!

制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

目录
打赏
0
0
0
0
180
分享
相关文章
|
13天前
|
【Java并发】【原子类】适合初学体质的原子类入门
什么是CAS? 说到原子类,首先就要说到CAS: CAS(Compare and Swap) 是一种无锁的原子操作,用于实现多线程环境下的安全数据更新。 CAS(Compare and Swap) 的
45 15
【Java并发】【原子类】适合初学体质的原子类入门
|
9天前
|
【Java并发】【ConcurrentHashMap】适合初学体质的ConcurrentHashMap入门
ConcurrentHashMap是Java中线程安全的哈希表实现,支持高并发读写操作。相比Hashtable,它通过分段锁(JDK1.7)或CAS+synchronized(JDK1.8)实现更细粒度锁控制,提升性能与安全性。本文详细介绍其构造方法、添加/获取/删除元素等常用操作,并对比JDK1.7和1.8的区别,帮助开发者深入理解与使用ConcurrentHashMap。欢迎关注,了解更多!
42 3
【Java并发】【ConcurrentHashMap】适合初学体质的ConcurrentHashMap入门
|
13天前
|
【源码】【Java并发】【LinkedBlockingQueue】适合中学体质的LinkedBlockingQueue入门
前言 有了前文对简单实用的学习 【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门 聪明的你,一定会想知道更多。哈哈哈哈哈,下面主播就...
45 6
【源码】【Java并发】【LinkedBlockingQueue】适合中学体质的LinkedBlockingQueue入门
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
213 60
【Java并发】【线程池】带你从0-1入门线程池
|
14天前
|
【Java并发】【ArrayBlockingQueue】适合初学体质的ArrayBlockingQueue入门
什么是ArrayBlockingQueue ArrayBlockingQueue是 Java 并发编程中一个基于数组实现的有界阻塞队列,属于 java.util.concurrent 包,实现了 Bl...
50 6
【Java并发】【ArrayBlockingQueue】适合初学体质的ArrayBlockingQueue入门
|
20天前
|
【Java并发】【ReentrantLock】适合初学体质的ReentrantLock入门
前言 什么是ReentrantLock? ReentrantLock 是 Java 并发包 (java.util.concurrent.locks) 中的一个类,它实现了 Lock 接口,提供了与
62 10
【Java并发】【ReentrantLock】适合初学体质的ReentrantLock入门
|
13天前
|
【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门
前言 你是否在线程池工具类里看到过它的身影? 你是否会好奇LinkedBlockingQueue是啥呢? 没有关系,小手手点上关注,跟上主播的节奏。 什么是LinkedBlockingQueue? ...
41 1
【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门
【Java并发】【AQS】适合初学者体质的AQS入门
AQS这是灰常重要的哈,很多JUC下的框架的核心,那都是我们的AQS,所以这里,我们直接开始先研究AQS。 那说到研究AQS,那我们应该,使用开始说起🤓 入门 什么是AQS? AQS(Abst
70 8
【Java并发】【AQS】适合初学者体质的AQS入门
|
1月前
|
【Java并发】【synchronized】适合初学者体质入门的synchronized
欢迎来到我的Java线程同步入门指南!我不是外包员工,梦想是写高端CRUD。2025年我正在沉淀中,博客更新速度加快,欢迎点赞、收藏、关注。 本文介绍Java中的`synchronized`关键字,适合初学者。`synchronized`用于确保多个线程访问共享资源时不会发生冲突,避免竞态条件、保证内存可见性、防止原子性破坏及协调多线程有序访问。
68 8
【Java并发】【synchronized】适合初学者体质入门的synchronized
|
1月前
|
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
70 23
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等