Java程序编写和运行的基本知识
java开发环境的安装
- JDK(Java Development Kit):Java开发者工具
- JRE(Java Runtime Environment):Java运行环境
- JVM(Java Virtual Machine):Java虚拟机
安装链接:
Windows下的Java环境安装
Linux下的Java环境安装
Mac下的Java环境安装
JDK、JRE、JVM三者之间有什么关系?
- JDK(Java Development Kit):java开发工具包,提供给java程序员使用,包含了JRE,同时还包含了Java编译器javac和自带的调试工具Jconsole、jstack等。
- JRE(Java Runtime Environment):java运行时环境,包含了JVM、java基础类库。是使用java语言编写程序运行时所需的环境。
- JVM(Java Virtual Machine):Java虚拟机,运行java代码
初识main方法
public class Test{
public static void main(String[] args){
System.out.println("hello world");
}
}
上述代码,我们可以看到Java程序的结构
- 源文件(拓展名为:*.java):源文件带有类的定义,类用来表示程序的一个小组件,程序可以有多个类,通常一个java文件一个类,类的内容必须包括在括号内。
- 类中带有一个或多个方法,方法必须在类的内部声明。
- 在方法的花括号中编写方法应该执行的语句。
总结:类存在于源文件里面,方法存在于类中,语句存在于方法中。
注意:在一个源文件中只能有一个public修饰的类,而且源文件的名字必须于public修饰的类名字相同
运行java程序
java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的与平台无关,面向JVM的文件。最后启动Java虚拟机来运行.class文件,此时JVN会将字节码转换成平台能够理解的形式来运行。
- 使用记事本或IDEA(集成开发环境)来编写java程序。
- 使用Javac.exe编译器编写Java源程序,生成xxx.class的字节码文件
语法格式:javac xxx.java- 使用java运行xxx.class字节码文件 语法格式: java xxx
编译和运行第一个java程序可能遇到的错误
文件后缀名不是.java
类名与文件名不一致
main方法名写错:mian
类没有使用public修饰
方法中的语句没有使用分号结尾
中文格式的分号
JDK环境没有配置好,操作系统不能识别javac或java命令
main()括号中没有写命令行参数main(String[] args)
这时我们会有一个疑问括号中的命令行是啥?
其实这是一个数组,类型是String类型的数组,在C语言中数组的 [] 是在名字之后,其实这样是不够严谨的,我们通常都是类型加名字,java中对其进行改善,类型是String[],名字为args,当然也保留C语言的风格String args[]也不会报错。接下来通过代码来理解。
public class Test{
public static void main(String[] args){
for(int i = 0; i < args.length; i++){
System.out.println(args[i]);
}
}
注释
java的注释分为以下三种:
- 单行注释:// 注释内容
- 多行注释:/* 注释内容 */
- 文档注释:/** 文档注释 */,可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
注意:
- 多行注释不能嵌套使用
- 不论是单行注释还是多行注释,都不参与编译,及编译之后生成的.class文件中不包含注释信息
/**
文档注释:
@version v1.0.0
@author will
作用Test类,入门第一个程序练习
*/
public class Test{
/*
多行注释:
1. main方法是Java程序的入口方法
2. main函数的格式是固定的,必须为public static void main(String[] args)
@param args 命令行参数。
*/
public static void main(String[] args){
//单行注释:System.out.println是Java中标准输出,会将内容输出到控制台
for(int i = 0; i < args.length; i++){
System.out.println(args[i]);
}
}
}
此时出现了报错中文出现问题,为什么?
记事本上的中文按照 utf-8 编码的
javac 进行编译的时候,cmd默认是GBK编码
我们需要对其统一编码
在cmd我们还可以使用javadoc工具从java源码中抽离出注释
- -d 创建目录 myHello为目录名
-author 显示作者
-version 显示版本号
-encoding UTF-8 -charset UTF-8 字符集修改为UTF-8
标识符
标识符:在程序中由用户给类名、方法名或变量所取的名字
硬性要求:
标识符中可以包含数字、字母、下划线和$符号等等
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
软性建议:
类名:每个单词的首字母大写(大驼峰)
方法名:首个单词的首字母是小写,后面的单词首字母是大写(小驼峰)
变量名:与方法命名规则相同
关键字
关键字:由Java语言提前定义好的,有特殊含义的标识符,或者保留字
注意:用户不能使用关键字定义标识符
—————————————————————————————————————
初识java语法,这篇文章仅仅只是一个开始,后续我们会对我们再学习中的困惑和疑问继续深入探究。