一只脚踏进Java的大门

简介: 一只脚踏进Java的大门

一、认识Java从Hello world开始

编写java的源文件是非常简单的,我们可以创建一个test文本文件,并将后缀改为.java,这样我们就得到了java的一个源文件,然后使用文本编辑器就可以开始编码了(笔者这里使用的是notepad++)。

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

下面我们简单分析一下这段Java程序:

  1. class HelloWorld: 代表着定义个“类”, 类名叫做:“HelloWorld”,Java是个面向对象的语言。而类是面向对象的定义规则, 一个类就是一个对象。
  1. main: 并且指定了一个 main 方法, 这个是 Java 的默认主函数。固定格式为:public static void main(String[] args)
  2. System.out:是系统的输出文件。输出一串内容到控制台。

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

  1. 源文件(扩展名为.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
  1. 类:类中带有一个或多个方法。方法必须在类的内部声明。
  2. 方法:在方法的花括号中编写方法应该执行的语句。

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

注意: 在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。


二、运行Java程序

1、编译运行原理

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的,与平台无关、面向JVM的文件。最后启动java虚拟机(JVM)来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。如图:

也许看到这里你还是一头雾水,什么是JDKJREJVM?他们之间又有怎样的联系?别急,我们往下看:

2、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程序前,必须先安装好JDK,JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。

3、运行步骤展示

安装配置好Java环境后,想要编译运行Java程序就会变得容易的多,下面展示在cmd中使用命令编译运行Java程序:

1.使用cd命令转到.java目录下

2.javac命令编译java源程序

3.java命令运行.class字节码文件

你有没有成功运行起来你的第一个Java程序呢?如果没有,快来看看是不是下面的问题👇

编写运行第一个Java时可能出现的错误:

  1. 源文件名后缀不是.java
  2. 类名与文件名不一致
  3. main方法名字写错:mian
  1. 类没有使用public修饰
  2. 方法中语句没有以分号结尾
  3. 中文格式的分号
  4. JDK环境没有配置好,操作系统不能识别javac或者java命令

三、注释

类似于其它开发语言,Java中也有注释的使用,注释风格主要有如下3种:

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

注意:

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

当我们写出上述代码,在cmd编译时可能会出现如下错误:

这是因为windows下的默认文件编码格式为UTF-8javac执行的时候是以GBK编码的。想要解决这一问题,可以在javac后面加上-encoding UTF-8(cmd不区分大小写,除了文件名要区分大小写,其他都不用)

如果源代码中有 文档注释,在cmd中,使用javadoc工具从Java源码中抽离出注释,命令如下:

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

-d 创建目录 myname为目录名

-author 显示作者

-version 显示版本号

-encoding UTF-8 (-charset UTF-8)可省略 字符集修改为UTF-8

然后我们就可以在创建.java的源文件的目录下找到index.html网页文件,这就是根据我们的文档注释生成的:


四、标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关于 Java 标识符,有以下几点需要注意:

1.硬性规则

标识符中可以包含: 字母数字以及下划线$ 符号等等。

注意: 标识符不能以数字开头,也不能是关键字,更不能有空格,且严格区分大小写。

2.软性建议

类名: 每个单词的首字母大写(大驼峰)

方法名: 首字母小写,后面每个单词的首字母大写(小驼峰)

变量名: 与方法名规则相同

合法标识符举例:age$salary_value__1_valueHelloWorld

非法标识符举例:123abc-salaryclass


本章完

本章是Java的入门级介绍,从Hello world开始,熟悉Java程序的编写和运行,了解Java的注释风格,学会规范的标识符命名。笔者重在整理,浅浅介绍,如有不足,敬请斧正!

写在最后:当然了,学习Java也不要忘记 Keep coding!

相关文章
|
3月前
|
Java 开发者
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
46 5
|
5月前
|
SQL Java 数据库连接
惊!Java界的“金钥匙”:揭秘JDBC如何轻松开启数据库大门!
【6月更文挑战第24天】JDBC是Java连接数据库的关键,简化了数据操作。在Java项目中添加MySQL驱动后,通过`DriverManager.getConnection()`建立连接。示例代码展示了如何执行查询、处理`ResultSet`。JDBC提供了一致的接口,让开发者能轻松进行数据库交互,无论是新手还是专家,都能快速掌握,开启数据库开发之旅。
28 2
脚踏Java知识点(二)
脚踏Java知识点(二·)
|
消息中间件 NoSQL Dubbo
手拿阿里「Java面试神技」,“脚踢”头条大门,不好意思我进来了
前言 随着金九银十的到来,许多家人们都在为工作而努力准备着,小轩也是为大家带来了一份大礼哦。
脚踏Java知识点(三)
脚踏Java知识点(三)
脚踏Java知识点(一)
脚踏Java知识点(一)
|
11天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
88 38
|
8天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
2天前
|
存储 设计模式 分布式计算
Java中的多线程编程:并发与并行的深度解析####
在当今软件开发领域,多线程编程已成为提升应用性能、响应速度及资源利用率的关键手段之一。本文将深入探讨Java平台上的多线程机制,从基础概念到高级应用,全面解析并发与并行编程的核心理念、实现方式及其在实际项目中的应用策略。不同于常规摘要的简洁概述,本文旨在通过详尽的技术剖析,为读者构建一个系统化的多线程知识框架,辅以生动实例,让抽象概念具体化,复杂问题简单化。 ####
|
3天前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
19 4