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

相关推荐
2301_780789669 分钟前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
第九序言T25 分钟前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设1 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn2 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川2 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵2 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
程序喵大人2 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David2 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1002 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin3 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php