javaSE---初识java

目录

java源文件运行

1.创建java代码

2.编译java代码

3.运行java代码

java代码格式

java的运行机制

java代码的运行过程

JDK,JRE,JVM

java的错误分析

三种输出函数

java注释


搭建好了java的环境之后,我们就可以来学习Java了。

java源文件运行

1.创建java代码

在D盘新建一个text文件夹,在文件夹里面新建文本文档,文档名称HelloWorld,后缀改为.java

javaSE---初识java_第1张图片

注意:打开查看,打开文件扩展名和隐藏项目,否则文件后缀不会出现。

 可能造成文件后缀仍然是.txt---错误

打开创建好的后缀是java的文本文件,在里面敲入代码:

javaSE---初识java_第2张图片

2.编译java代码

 保存代码之后,使用win+r键打开命令窗口,输入cmd

如果代码在D盘:输入D: 进入D盘,后输入cd 文件位置,进入D盘的子目录中,输入javac 文件名.java编译代码。例如: 

​ 打开方式:

javaSE---初识java_第3张图片

  编译代码成功,生成了.class文件

如果代码在c盘:因为cmd默认打开c盘,所以直接输入cd 文件位置,进入c盘的子目录中,输入javac 文件名.java编译代码。例如: 

javaSE---初识java_第4张图片

   编译代码成功,生成了.class文件

3.运行java代码

生成了.class文件代表编译结束,输入 java 文件名 运行代码

 javaSE---初识java_第5张图片

   javaSE---初识java_第6张图片

java代码格式

javaSE---初识java_第7张图片

  • public class HelloWorld{}

修饰符 class 类名{

程序代码

}

public---class的修饰符,如果说使用public修饰class,那么类名和文件名需要一致

 class---一个关键字,用于定义一个类。类是java中程序的基本单元,java的所有代码都在类中书写。

HelloWorld---类的名称,简称为类名,类名后的{},定义了当前这个类的管辖范围。

  • public static void main(String[] args){}

定义了一个main()方法,是java程序的入口,程序从main后的{}开始执行。

args:数组---运行时的命令行参数,输入内容会进入数组中

public class HI{
	public static void main(String[] args){
for(int i=0;i

 这时,args.length==0,不打印javaSE---初识java_第8张图片

 java 文件名 时输入数据,产生结果如下:javaSE---初识java_第9张图片

 数据经java虚拟机的类加载器加载入内存,保存在了args数组中,数组长度增加,后经java解析器对加载后的类解析,产生机器码文件,被电脑识别打印。

  • System.out.println("HelloWorld");

打印出HelloWorld

java的运行机制

java代码的运行过程

java程序运行时,必须经过编译,运行两个步骤

将扩展名为.java的文件进行编译,生成了.class文件,.class文件经过java虚拟机运行。

例如:

 1.写java文件:文件名称:HelloWorld

2.使用javac HelloWorld.java 开始进行编译,编译结束后生成了HelloWorld.class的字节码文件(二进制文件,包含了类的信息,磁盘中)

3.使用java HelloWorld打开了java虚拟机运行程序,java虚拟机里的类加载器先将HelloWorld.class的字节码文件加载进入内存,这个过程称之为类加载。然后java虚拟机里的java解析器对加载进入内存的java类进行解析。

4.解析完成后产生计算机能够识别的机器码文件

5.机器码文件在计算机运行产生结果。

使用Sublime Text打开字节码文件:

cafe babe---每一个Java Class文件都是以0x CAFEBABE开头的。Java这么做的原因就是为了快速判断一个文件是不是有可能为class文件,以及这个class文件有没有受损(文件受损,文件开头受损的可能性最大)。

javaSE---初识java_第10张图片

JDK,JRE,JVM

JDK---java开发者工具

包括了java运行环境(JRE),一堆Java工具(javac/java/jdb等)和Java基础的类库

JRE---java运行环境

包含JVM标准实现及Java核心类库

JVM---java虚拟机

运行java代码

 javaSE---初识java_第11张图片

  一次编译,到处运行:java依靠java虚拟机解释执行,只要拿到了.class文件,JVM就可以运行这个程序。

java的错误分析

javaSE---初识java_第12张图片

1. 每个类对应一个.class文件,不是一个文件对应一个字节码文件

好处:需要哪一个类,那么会加载哪一个类,而不是全部加载

2.含有中文出错

在命令行窗口对含有中文的java代码编译时,要保证源文件的编码格式和命令行窗口的编码格式一致。命令行窗口的编码格式是GBK,而一些文本编译器的默认格式是UFT-8,要保持一致,否则报错。

Notepad++的格式如下:

public class HI{
	public static void main(String[] args){

System.out.println("这是一个java代码");
}
}

javaSE---初识java_第13张图片

三种输出函数

  • System.out.println()

将括号里面的内容转化为字符串并输出到屏幕,并换行,当输出的是一个基本数据类型时,会自动转换成字符串。

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

javaSE---初识java_第14张图片

  •  System.out.print()
public class HI{
	public static void main(String[] args){
System.out.print("hi");
System.out.print("hello");
}
}

和上面使用情况相似,但是不会换行

javaSE---初识java_第15张图片

  • System.out.printf(),沿用c语言格式打印
public class HI{
	public static void main(String[] args){
System.out.printf("%s\n","hi");
System.out.printf("%s\n","hello");
System.out.printf("%d\n",10);
}
}

 

java注释

 1.单行注释://

//    System.out.printf("%s\n","hi");
//System.out.printf("%s\n","hello");
//System.out.printf("%d\n",10);

 2.多行注释: /* -----*/

/*System.out.printf("%s\n","hi");
System.out.printf("%s\n","hello");
System.out.printf("%d\n",10);*/

 3.文档注释:/** ----*/

文档注释通常是对程序中的某个类或类的方法进行的系统阐述.

 

你可能感兴趣的:(java)