第一个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程序,参数是类名。

相关推荐
teeeeeeemo5 分钟前
http和https的区别
开发语言·网络·笔记·网络协议·http·https
wuxuanok11 分钟前
Web后端开发-Mybatis
java·开发语言·笔记·学习·mybatis
带刺的坐椅30 分钟前
Java MCP 实战:构建跨进程与远程的工具服务
java·ai·solon·mcp
yt948321 小时前
C#实现CAN通讯接口
java·linux·前端
卷到起飞的数分1 小时前
Java零基础笔记07(Java编程核心:面向对象编程 {类,static关键字})
java·开发语言·笔记
舌尖上的五香1 小时前
ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal
java
okok__TXF1 小时前
Sentinel入门篇【流量治理】
java·sentinel
谁他个天昏地暗1 小时前
Java 实现 Excel 文件对比与数据填充
java·开发语言·excel
kaikaile19951 小时前
使用Python进行数据可视化的初学者指南
开发语言·python·信息可视化
大P哥阿豪1 小时前
Go defer(二):从汇编的角度理解延迟调用的实现
开发语言·汇编·后端·golang