目录
1、以文本编辑器为例开发一个简单的Java应用程序
2、Java的运行机制
(1)Java的运行过程
(2)Java的跨平台特性
3、Java的基本语法
(1)Java的基本语法格式
(2)Java的注释
(3)Java关键字
1、以文本编辑器为例开发一个简单的Java应用程序
(1)在合适的位置创建一个记事本文件,并输入下列代码:
public class HelloJava{
public static void main(String [] args){
System.out.println("It's nice to meet you at CSDN");
}
}
(2)保存该文件,并将文件名保存为HelloJava.java:
(3)打开控制台,使用控制台指令将当前位置切换到HelloJava.java文件所在位置:
(4)输入:javac HelloJava.java 将源程序编译为后缀为.class的字节码文件:
(5)输入: java HelloJava 执行编译后的.class文件:
拓展:如果需要对程序进行修改,例如更改上述程序的输出,那么在更改源代码文件后,还需要重新执行步骤(4),把原来编译的字节码文件替换掉,步骤(5)才能输出新的内容。
2、Java的运行机制
(1)Java的运行过程
两个主要步骤:编译+运行
编译:.java源文件 —> .class字节码文件;
运行:Java虚拟机(JVM)解释执行.class字节码文件,并显示结果;
拓展:运行过程可进一步细化为如下:
类加载:JVM(Java虚拟机)将编译好的字节码文件加载到内存,由类加载器完成;
解释执行:JVM针对加载到内存中的Java类进行解释执行,并显示结果;
(2)Java的跨平台特性
通过上述操作易知Java源程序实际上由JVM解释执行,而非操作系统;
这样设计的目的:更好的跨平台能力;
同样的Java源程序,可以快速部署到不同的操作系统上执行,只需要安装对应系统版本的JVM即可;
拓展:
a)Java的特点:一次编写,到处运行;
好处:
1)解决了程序设计语言在不同操作系统编译时产生不同的机器代码问题;
2)降低了程序开发和维护成本;
b)Java程序借助于JVM的帮助达到强跨平台特性,但是JVM本身并不跨平台,不同操作系统的Java虚拟机无法通用;
3、Java的基本语法
(1)Java的基本语法格式
a)基础Java程序代码语法如下:
[修饰符] class 类名 {
业务代码
}
修饰符:修饰符用来定义类、方法或者变量,通常放在语句的最前端;
class:class是一个类,存在于java.lang包中,它的构造函数是私有的,由JVM(类加载器)创建Class对象,我们可以通过getClass()方法获取到Class对象;
类名:开发者自定义的类名称,有一定的命名规则;
业务代码:具体业务功能的实现代码;
b)Java语句可划分为:结构定义语句+功能执行语句;
结构定义语句:声明类或者方法;
功能执行语句:实现具体的功能;
注意:每条功能执行语句结尾必须使用英文分号(;)结束,中文分号编译器会报“Invalid Character(无效字符)”的错误信息;
c)Java语言严格区分大小写,相同英文但大小写不同说明两者代表的符号完全不同;
d)编写Java代码时,尤其是在公司进行业务开发时,需要按照规定的格式要求进行排版;基本要求为使自己编写的代码整齐美观、层次清晰;
比较随意的排版
public class HelloWorld (public static void
main(String [
] args) { System.out.println("这是第一个 Java 程序!");}}
符合一定规范的排版
public class HelloWorld {
public static void main (string[] args){
System.out.println("这是第一个 Java 程序!");
}
}
e)Java代码中一个连续的字符串不能分开在两行中书写,否则编译将出错:
错误示范
System.out.println("这是第一个
Java 程序!");
针对过长的字符串,可以将其拆分成多个子字符串,并使用加号(+)将各子字符串连接起来;在加号(+)处即可断行;
正确示范
System.out,println("这是第一个"+"Java 程序!");
(2)Java的注释
基本概念:对程序的某个功能或者某行代码的解释说明;
目的:增强代码易读性;
拓展:注释只在源文件有效,编译过程中编译器会忽略注释信息,即字节码文件中并不包含注释信息;
Java的注释分为三种类型,具体如下:
a)单行注释:主要用于单行代码注解;
格式:符号”//“+注解
int a=1; //定义一个值为1的整型变量a
b)多行注释:同时注解多行内容;
格式:”“
int b; x=2;
c)文档注释:通常是对程序中某个类或类中的方法进行的系统性的解释说明,开发者可以使用 JDK 提供的 javadoc 工具将文档注释提取出来生成一份 API 帮助文档;
格式:“”
public class Helloworld {
public static void main(String[] args){
System.out .printitln("这是第一个 Java程序!");
}
}
拓展:
1)Java中部分注释可以嵌套使用,部分则不行:
多行注释""中可以嵌套使用单行注释"//";
多行注释""中不能嵌套多行注释"";
待补充...
2)在使用文档注释时,javadoc 工具软件可识别以下标签:
| 标签 | 描述 | 示例 |
|---|---|---|
| @author | 标识一个类的作者 | @author description |
| @deprecated | 指名一个过期的类或成员 | @deprecated description |
| {@docRoot} | 指明当前文档根目录的路径 | Directory Path |
| @exception | 标志一个类抛出的异常 | @exception exception-name explanation |
| {@inheritDoc} | 从直接父类继承的注释 | Inherits a comment from the immediate surperclass. |
| {@link} | 插入一个到另一个主题的链接 | {@link name text} |
| {@linkplain} | 插入一个到另一个主题的链接,但是该链接显示纯文本字体 | Inserts an in-line link to another topic. |
| @param | 说明一个方法的参数 | @param parameter-name explanation |
| @return | 说明返回值类型 | @return explanation |
| @see | 指定一个到另一个主题的链接 | @see anchor |
| @serial | 说明一个序列化属性 | @serial description |
| @serialData | 说明通过writeObject( ) 和 writeExternal( )方法写的数据 | @serialData description |
| @serialField | 说明一个ObjectStreamField组件 | @serialField name type description |
| @since | 标记当引入一个特定的变化时 | @since release |
| @throws | 和 @exception标签一样. | The @throws tag has the same meaning as the @exception tag. |
| {@value} | 显示常量的值,该常量必须是static属性。 | Displays the value of a constant, which must be a static field. |
| @version | 指定类的版本 | @version info |
3)javadoc 工具会将开发者的 Java 程序的源代码作为输入,输出一些包含程序注释的HTML文件;每一个类的信息都在存放在独自的HTML文件里;
4)javadoc 可以输出继承的树形结构和索引;
5)javadoc 的实现不同,工作也可能不同,开发者在使用前需要检查 Java 开发系统的版本等细节,再选择合适的 Javadoc 版本。
(3)Java关键字
基本概念:关键字(keyword)是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。
(1)abstract
a)修饰类:
作用:将该类变为抽象类;
特点:
1)抽象类可以有非抽象变量、成员变量、普通方法和构造方法;
2)抽象类不能被实例化,只能被子类继承;
3)如果子类不是抽象类,则必须重写父类的抽象方法;
b)修饰方法:
作用:将该方法变为抽象方法;
特点:
1)抽象方法必须存在于抽象类中;
2)抽象方法不能有具体实现;
(2)assert
基本概念:表示“断言”,有两种用法:
a)assert 表达式;
若表达式为真,程序继续往下执行;
若表达式为假,则抛出一个AssertionError异常;
b)assert 表达式:错误信息;
执行方式与用法a相同,区别在于抛出异常时会带有错误信息;
拓展:
assert只能做判断,正常发布的代码都是断言无效,所以其后的表达式不能完成任何程序实际所需的行为;
未完待补充...



