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

相关推荐
丘山一郎13 小时前
Spring 中的IOC控制反转 和DI依赖注入
java·后端·spring
码视野13 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
MetaLite14 小时前
Spring-AOP自调用为什么失效-AopContext真能解决吗
java·后端·spring
大模型码小白14 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
m0_5474866614 小时前
《JavaScript核心原理 》全套PPT课件2026
开发语言·javascript·ecmascript
许彰午14 小时前
14-字段级SM4加密与SM2签名
java·低代码·架构
MC皮蛋侠客14 小时前
Tauri 2.x 系列(五):调用系统 API——官方插件、Rust crate 与原生能力
开发语言·后端·rust
布莱克60515 小时前
软中断和硬中断的区别
开发语言·操作系统
whcyhhh15 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
许彰午16 小时前
13-describe元数据输出
java·低代码·架构·状态模式