编写第一个Java程序

  打开文本编辑器,输入以下代码

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

  在一个Java程序中,你总能找到一个类似

public class Hello {
...
}

  的定义,这个定义被称为class(类),这里的类名是Hello,大小写敏感,class用来定义一个类public表示这个类是公开的,public,class都是Java的关键字,必须小写,Hello是类的名字,按照习惯首字母大写,而{}中间则是类的定义

  注意到类的定义中,我们定义了一个名为main的方法

public static void main(String[] args) {
...
}

  方法是可执行的代码块,一个方法除了方法名main,还有用()括起来的方法参数,这里的main方法有一个参数,参数类型是String[],参数名是argspublicstatic用来修饰方法,这里表示它是一个公开的静态方法,void是方法的返回类型,而花括号{}中间的就是方法的代码。

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

System.out.println("Hello, world!");

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

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

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

  最后,当我们把代码保存为文件时,文件名必须是Hello.java,而且文件名也要注意大小写,因为要和我们定义的类名Hello完全保持一致。

  如何运行Java程序

  Java源码本质上是一个文本文件,我们首先用javac把Hello.java编译成字节码文件Hello.class然后用java命令执行这个字节码文件

│    Hello.java    │<─── source code
└──────────────────┘
│ compile

┌──────────────────┐
│ Hello.class │<─── byte code
└──────────────────┘
│ execute

┌──────────────────┐
│ Run on JVM │
  因此,可执行文件javac是编译器,而可执行文件java就行虚拟机
  
  第一步,在保存Hello.java的目录下执行命令javac Hello.java
javac Hello.java

  如果代表无误,上述命令不会输出,而当前目录下会产生一个Hello.class文件

# ls
Hello.class Hello.java

  第二步,执行Hello.class使用命令java Hello

# java Hello
Hello, world!

  直接运行java Hello.java也是可以的

# java Hello.java
Hello, world!

  这是Java 11新增的一个功能,它可以直接运行一个单文件源码!

  需要注意的是,在实际项目中,单个不依赖第三方库的Java源码是非常罕见的,所以,绝大多数情况下,我们无法直接运行一个Java源码文件,原因是它需要依赖其他的库。  

  小结:

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

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

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

  

 

Java之第一个Java程序的更多相关文章

  1. Java编程-第一个Java程序

    Java编程用到的IDE是Eclipse. 关于第一个Java程序实现的简单流程: (1)    下载eclipse (2)    File-New-Java Project 命名工程名字:Hello ...

  2. [刘阳Java]_第一个Java程序_第7讲

    1. 其实第一个Java程序是很简单,但是当自己编写第一个Java程序时候需要注意如下几个内容: 理解Java程序的运行环境 校验你的Java环境变量是否能够运行你所写的第一个Java程序 理解Jav ...

  3. java.lang.instrument: 一个Java对象占用多少字节?

    一.对象头包括两部分信息:Mark Word(标记字段)和 Klass Pointer(类型指针)   1. Mark Word 用于存储对象自身的运行时数据,如哈希码(HashCode).GC分代年 ...

  4. java入门——第一个java程序

    来源:https://course.tianmaying.com/java-basic%2Bjava-hello-world# java的基础特征 1 Java是一种大小写敏感的语言 2 程序的文件名 ...

  5. java web第一个Servlet程序

    Servlet 简介 . Java Servlet是和平台无关的服务器端组件,它运行在Serlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和 ...

  6. JAVA (1)–第一个GUI程序 添加标题 关闭窗口 屏幕位置 导入图标

      import java.awt.*; // 可以改成 import javax.swing.*; public class FirstFrame { public static void main ...

  7. 下载eclipse 配置eclipse 新建Java项目 写一个小程序 运行

    为了更好的学习java,我打算下载个eclipse 地址:https://www.eclipse.org/downloads/packages/ 我们需要下载的版本是Eclipse IDE for J ...

  8. [Java] 编写第一个java程序

    1)先不用myEclipse编写,用txt编写,新建Test.txt:修改扩展名变为Test.java; 2)编辑,手写输入代码,保存(以保存在E盘下为例): public class Test{ p ...

  9. Java笔记:编写第一个Java程序

    2017.6.17 1.编写第一个Java程序 创建text文本,命名第一个Java程序.txt 在里面编写Java代码 public class Demo1{ public static void ...

随机推荐

  1. P2602 [ZJOI2010]数字计数(递推)

    P2602 [ZJOI2010]数字计数 思路: 首先考虑含有前导0的情况,可以发现在相同的\(i\)位数中,每个数的出现次数都是相等的.所以我们可以设\(f(i)\)为\(i\)位数每个数的出现次数 ...

  2. myslq数据库用union all查询出现 #1271 - Illegal mix of collations for operation 'UNION'

    出现 #1271 - Illegal mix of collations for operation 'UNION' 的原因是两个字符编码不匹配造成的. 我遇到的是  utf8_general_ci ...

  3. [转载]Linux进程调度原理

    [转载]Linux进程调度原理 Linux进程调度原理 Linux进程调度的目标 1.高效性:高效意味着在相同的时间下要完成更多的任务.调度程序会被频繁的执行,所以调度程序要尽可能的高效: 2.加强交 ...

  4. BZOJ1113 海报PLA1(单调栈入门题)

    一,自己思考下 1,先自己思考下 N个矩形,排成一排,现在希望用尽量少的海报去cover住它们. 2,不懂. 着实不懂. 3,分析下,最优性问题对吧,然后就每什么想法了.. 虽然肯定和单调栈和单调队列 ...

  5. JavaScript基础06——Math对象和日期对象

    内置对象-Math:  Math对象用于执行 数学任务,Math 不像 Date 和 String 那样是对象的类,因此没有构造函数Math().无需创建,直接把Math当成对象使用,就可以调用其所有 ...

  6. lombok常用注解@Data@AllArgsConstructor@NoArgsConstructor@Builder@Accessors

    原贴:https://blog.csdn.net/ChenXvYuan_001/article/details/84961992 https://blog.csdn.net/weixin_382293 ...

  7. win7虚拟机安装

    https://blog.csdn.net/qq_16503045/article/details/81904986 iso下载地址 https://msdn.itellyou.cn/

  8. rbenv mac&&linux 安装简单说明

    mac 可以通过brew linux 官方提供了运行脚本 # with curl curl -fsSL https://github.com/rbenv/rbenv-installer/raw/mas ...

  9. win服务器 文件上传下载出现“未指定的错误” 解决方法汇总

    环境 WIN平台IIS服务器   经常出现于ASPX页面 汇总 1.权限问题 出现场景 : 基于ACCESS数据库   原因解析 : 1.首先需要排除自身问题,例如建表使用关键字,格式错误,插入数据与 ...

  10. js无限轮播算法中干掉if判断

    无限轮播在网页应用中经常见到,这其中算法各有千秋,在学习算法分析一书中发现自增取余方法可以干掉一些不必要的if判断,具体代码如下: var arr= [1,2,3,4,5,6,7,8]; var in ...