初识Java:使用cmd编译与运行+jdk环境配置
1. main方法是Java程序的入口方法2. main函数的格式是固定的,必须为3.是Java中标准输出,会将内容输出到控制台4.java中,{ - 左括号必须要在当前行通过上诉的代码,我们可以看到一个完整的java程序结构,java程序的结构由三部分组成:1.源文件(扩展名为):源文件中带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面2.类:类中带有
一、初识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语言提前定义好的,有特殊含义的标识符,或者保留字。 注意:用户不能使用关键字定义标识符。

更多推荐

所有评论(0)