一、初识Java的main方法

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

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

3.System.out.println是Java中标准输出,会将内容输出到控制台

4.java中,{ - 左括号必须要在当前行

示例:

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

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

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

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

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

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

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

二、jdk环境配置

在运行java程序前,必须先安装好 jdk(Java Development Kit,即Java开发工具包),在官网或其他地方下载都可。

下载好jdk后,必须要配置环境,首先找到 此电脑 ,右击鼠标找到 属性,然后选择 高级系统设置 ,选择 环境变量 ,找到 系统变量 ,添加三个变量:JAVA_HOME(变量值:是你下载的jdk的路径),CLASSPATH(变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar),点开Path,添加 %JAVA_HOME%\bin

我下载的是 jdk-17版本,如果是下载的其他的版本,那么 JAVA_HOME的变量值最后要写成对应的版本,如果是下载了多个版本的jdk,想要切换使用时,依然时修改这个变量值,要注意,只要修改了环境变量,就必须重新启动cmd,否则不生效,因此,修改完变量值后,重新启动cmd(快捷键:windows+R)

为什么是在系统变量里面修改,而不在用户变量中修改:

因为一个系统可以有多个用户,用户变量针对当前用户,系统变量针对当前系统的多个用户,例如配置Java环境,所有用户和服务即可直接使用java命令

三、cmd运行Java程序

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

jdk里面就包含了javac和java工具,java程序最终是在JVM(Java虚拟机,运行Java代码)中运行的。

编译与运行

1.使用记事本或者IDEA(集成开发环境)编写Java源程序

2.使用javac.exe编译器编译Java源程序,生成 xxx.class的字节码文件

语法格式:javac xxx.java 

3.使用java运行 xxx.class 字节码文件     语法格式:java xxx

例如,创建一个java源文件:Test.java:

编译为字节码:javac Test.java → 生成 Test.class
由JVM执行:java Test

然后输出结果 hello world

具体流程

(1)先创建 Test.java 文件

(2)然后用记事本或者(例如,我用的 vs code)其他打开此文件进行java代码编写:

(3)在所创建的 Test.java 文件的目录下打开 cmd :

(4)输入 javac Test.java 命令,生成 Test.class文件:

(5)输入 java Test 命令,运行 Test.class文件,输出结果:

JDK、JRE、JVM之间的关系

JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。

JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。

JVM:Java虚拟机,运行Java代码。

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

如果文件名为Test.java,类名并不是Test,而是Test2,即当文件名与类名不同时,会报错:

看以下的代码(记住每次修改Test.java文件中的代码要记得保存后再调用cmd),当我们想要打印出数组内的元素,应该输入 java Test zhang wang zhao 命令(java Test +想要打印出来的数组元素(即运行时的命令行参数<---->原字符串数组参数)):

如果方法没有在类内部中声明也会报错:

四、注释

基本规则

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

单行注释:

// 注释内容    (用的最多)

多行注释:

/* 注释内容 */

文档注释:

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

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

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

看以下的代码:

如果我们将注释中的中文删除掉,发现它可以正常运行:

所以我们得出报错的原因:

中文问题,记事本上的中文是按照 UTF8 编码的,而javac 进行编译的时候,cmd默认是 GBK 编码,即编码不一致导致的问题

解决方法:统一编码,可以执行 javac -encoding utf-8 Test.java 命令来统一中文使用的编码方式

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

-d 创建目录 myHello为目录名(随意取名)

-author 显示作者

-version 显示版本号

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

即我们可以通过以上的命令设置目录名,显示作者、版本号以及统一编码:

javac -d myHello -author -version -encoding UTF-8 -charse UTF-8 Test.java

我们返回Test.java文件的目录,发现生成了一个文件夹:

里面存放的就是那些信息,而我们打开文件夹中的 index.html 网页

是一个以网页形式说明程序的界面:

五、常用的快捷键

public static void main(String[ ] args)   ——————>  main+回车  就会自动补充完整的代码

System.out.println()——————>  sout+回车,然后再在()中补充打印的东西,例如打印变量a

System.out.println(a) ——————>  a.sout,直接一步到位,[要打印的变量 . sout]

for(int i = 0; i < ; i++)    ——————>   fori+回车

for(int i = 0; i < 10; i++)  ——————>   10.fori+回车

/* */ 块注释/取消块注释:Ctrl+shift+/

//  行注释/取消行注释:ctrl+/

/** */  文档注释:/** +回车                              /* */ 块注释:/* +回车

六、标识符

在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字。

【硬性规则】:

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

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

【软性建议】:

类名:每个单词的首字母大写(大驼峰)  例如,Test、MaxNum等

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

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

问:下面那些标识符是合法的?

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

答案是 BCEF

使用main作为变量名发现可以打印出来,不会报错,但是不建议用main作为变量名:

七、关键字

通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。 注意:用户不能使用关键字定义标识符。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐