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

相关推荐
艾莉丝努力练剑18 分钟前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
武子康1 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员4 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
倔强青铜34 小时前
苦练Python第18天:Python异常处理锦囊
开发语言·python
u_topian5 小时前
【个人笔记】Qt使用的一些易错问题
开发语言·笔记·qt
没有羊的王K5 小时前
SSM框架学习——day1
java·学习
珊瑚里的鱼5 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
又菜又爱coding5 小时前
安装Keycloak并启动服务(macOS)
java·keycloak