第一个Java程序

编写第一个Java程序通常从经典的"Hello,World!"程序开始。下面是一个简单的Java程序示例,它将打印出"Hello, World!"到控制台:

1.编写代码:

打开文本编辑器(如记事本、Notepad++、Visual StudioCode等)

1.快捷键Windows+R,输入Notepad打开记事本。

2.输入以下代码

java 复制代码
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

2.保存文件

1.快捷键Ctrl+S保存文件,文件保存为HelloWorld.java。文件名必须与public类名相同,并且文件扩展名必须是.java。

在一个Java程序中,都会有一个类似下面:

java 复制代码
public class HelloWorld {
    ...
}

的定义,这个定义被称为class(类),类名是HelloWorld,大小写敏感,

class用来定义一个类

public表示这个类是公开的

public、class都是Java的关键字,必须小写,HelloWorld是类的名字,按照习惯,首字母H要大写。花括号{}中间是类的定义。

注意:类的定义中,定义了一个main方法:

方法是可执行的代码块,一个方法除了方法名main,还有()括起来的方法参数,main方法有一个参数。

参数类型是String\[\]

参数名是args

public、static用来修饰方法,表示公开的静态方法

void是方法的返回类型

花括号{}中间的就是方法的代码。

方法的代码每一行用 ; 结束,这里只有一行代码,就是:

用来打印一个字符串到屏幕上。

Java规定,某个类定义的public static void main(String\[\] args)是Java程序的固定入口方法,因此,Java程序总是从main方法开始执行。

注意:Java源码的缩进不是必须的,用缩进格式好看,容易看出代码块的开始和结束。缩进为4个空格或一个tab。

保存文件时,文件名必须与public类名相同HelloWorld.java,需要注意大小写。

3.编译Java程序:

1.打开命令提示符(cmd),快捷window+R,输入cmd

切换到保存HelloWor1d.java文件的目录,使用命令javacHelloWorld.java来编译Java程序。

编译成功,不会显示任何信息

编译前目录

编译后,会生成一个名为HelloWorld.class的字节码文件。

4.运行Java程序

如何运行Java程序

Java源码本质上是一个文本文件,需要用Javac把HelloWorld.java编译成字节码文件HelloWorld.class,用java命令java执行字节码文件:

可执行文件javac是编译器,可执行文件java就是虚拟机

java编译器与虚拟机的关系:

javac将Java源码(.java文件)编译成Java字节码(.class文件)。字节码是一种中间形式的代码。不是硬件上执行的机器码,是为JVM设计的,可在任何安装JVM的平台上运行。

1.编译完之后,在命令提示符中,确保在包含.class文件目录中

2.输入命令 java HelloWorld 来运行程序。这将执行.class文件,并在控制台打印出"Hello,World!"。

注意:虚拟机传递参数 HelloWorld 是自己定义的类名,虚拟机自动查找对应的class文件并执行。
可以直接运行java HelloWorld.java
java HelloWorld.java

Hello, world!
Java11新增功能,直接运行单个文件源码!

注意:实际项目,绝大多数情况,无法直接运行一个Java源码文件,原因是它需要依赖其他的库。

小结

一个Java源码只能定义一个public类型class,class名称和文件名完全一致

使用javac可以将java源码编译成.class字节码

使用java可以运行一个已编译的Java程序,参数是类名。

相关推荐
程序猿编码4 分钟前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
bkspiderx2 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
代码什么用2 小时前
Spring基础使用
java·后端·spring
程序员老陆2 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光2 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
Su米苏2 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园2 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁2 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网3 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西3 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis