您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

Java官方笔记之编写运行Java程序

时间:2023-03-08 11:48:33  来源:微信公众号  作者:测试开发刚哥



你可能已经迫不及待想安装JAVA,写个Java程序跑起来了。但是在这之前,有些概念需要提前了解,因为Java跟C、C++和Python/ target=_blank class=infotextkey>Python都有点不一样。

编译和执行​

我们在文本文件中编写英文代码,这些英文计算机是看不懂的,因此需要做一下转换,转换为计算机能识别和运行的格式,这个转换,是由「编译器」来完成的。有些语言没有编译器,但是Java是有的。

编译器转换后的文件,通常叫做二进制文件,或者可执行文件。文件内容从英文变成了字节码。字节码只有计算机能看懂,人是看不懂的,我们也不用关心,只需要保证我们编写的英文代码,能正确通过编译即可。执行的事,就交给计算机来做。

Java代码文件以.java​结尾,Java可执行文件以.class结尾。

创建Java类​

Java文件里面的所有代码,都必须放在「Java Class」里面:

public class MyFirstClass {
}

文件名必须叫做MyFirstClass.java,文件名跟类名必须保持一致。为什么Java要设计得这么严格呢?方便,让你看到文件名,就能知道类名是啥,不用去猜。

安装JDK​

如何编译类文件呢?下载Java。

下载Java,就是下载JDK,Java Development Kit,里面包含了Java编译器,将MyFirstClass.java​ 编译为MyFirstClass.class。

所谓的JRE,Java Runtime Environment,它是JDK的一部分,只能用来运行Java程序,不能用来编译。

下载地址:https://jdk.java.NET/

安装后需要根据操作系统(windowslinuxmacOS)设置环境变量JAVA_HOME和PATH。

验证安装成功:

java -version

编译Class​

使用javac命令编译:

javac MyFirstClass.java

如果代码有问题,会出现报错。如果没问题,就会生成MyFirstClass.class文件。

运行HelloWorld​

添加代码:

public class MyFirstClass {

    public static void main(String... args) {
        System.out.println("Hello, World!");
    }
}

重新编译,确保生成了class文件,使用java命令运行:

java MyFirstClass

运行成功,控制台会打印一句:Hello, World!

常见问题​

问题1:javac HelloWorldApp,报错:

Class names, 'HelloWorldApp', are only accepted if annotation processing is explicitly requested

javac HelloWorldApp.java 编译命令「javac」后面应该跟「文件名」。

问题2:java HelloWorldApp.class,报错:

Could not find or load main class HelloWorldApp.class

java HelloWorldApp 运行命令「java」后面应该跟「类名」。

可以命令Help看到区别:

javac Usage: javac <options> <source files>
 
java Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

在复杂应用开发时,并不会直接使用javac和java命令,而是使用IDE,Integrated Development Environment,集成开发环境,比如Eclipse、NetBeans和IntelliJ IDEA。

参考资料:Getting Started with Java https://dev.java/learn/getting-started



Tags:Java   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
你可能已经迫不及待想安装Java,写个Java程序跑起来了。但是在这之前,有些概念需要提前了解,因为Java跟C、C++和Python都有点不一样。编译和执行​我们在文本文件中编写英文代...【详细内容】
2023-03-08  Tags: Java  点击:(0)  评论:(0)  加入收藏
1992年Oak相关操作系统、类库等完成,11月,“Green计划”被转化成“FirstPerson有限公司”(致力高度互动的设备),关于机顶盒的交易屡败,Green项目几乎接近夭折。一、Java的发展简史...【详细内容】
2023-03-06  Tags: Java  点击:(6)  评论:(0)  加入收藏
出品 | OSC开源社区(ID:oschina2013)在线学习平台 O&#39;Reilly 最新发布了 2023 年度技术趋势报告,基于该平台 280 万的用户数据,以了解开发人员的兴趣所在。调查结果表明,开发...【详细内容】
2023-03-05  Tags: Java  点击:(6)  评论:(0)  加入收藏
在介绍Java如何一步步被执行起来之前,我们需要先弄明白为什么Java可以实现跨平台运行,因为搞清楚了这个问题之后,对于我们理解Java程序如何被CPU执行起来非常有帮助。无论是刚...【详细内容】
2023-03-05  Tags: Java  点击:(0)  评论:(0)  加入收藏
前言泛型机制在项目中一直都在使用,比如在集合中ArrayList<String, String>​, Map<String,String>等,不仅如此,很多源码中都用到了泛型机制,所以深入学习了解泛型相关机制对于...【详细内容】
2023-03-04  Tags: Java  点击:(0)  评论:(0)  加入收藏
本篇带给大家Arthas的一些常用命令,可以帮助开发者快速定位和解决Java应用中的问题。当然,Arthas还有许多其他的功能和命令,这里只是介绍了一部分。Arthas是阿里开源的一款Java...【详细内容】
2023-03-03  Tags: Java  点击:(9)  评论:(0)  加入收藏
本文对 Java I/O 流进行了详细的介绍,包括流的类型和分类、流的使用方法以及常见问题和解决方法。掌握 Java I/O 流的使用方法和技巧,可以帮助我们更好地处理文件读写、网络通...【详细内容】
2023-03-03  Tags: Java  点击:(8)  评论:(0)  加入收藏
我们平时在写代码的时候经常会遇到这样的一种情况 提示说没有处理xxx异常然后解决办法可以在外面加上try-catch,就像这样 所以我之前经常这样处理//重新抛出 RuntimeExceptio...【详细内容】
2023-03-02  Tags: Java  点击:(13)  评论:(0)  加入收藏
加密在平时开发中也会经常用到,涉及登录、支付、接口设计等方面,可能都需要考虑到加密算法,加密算法分对称加密和非对称加密,对称加密使用的密钥只有一个,发送和接收双方都使用这...【详细内容】
2023-02-28  Tags: Java  点击:(10)  评论:(0)  加入收藏
Java是世界上最流行的编程语言之一,它被广泛用于从Web开发到移动应用的各种应用程序。大部分Java工程师主要是用IDEA、Eclipse为主,这两个开发工具由于有强大的能力,所以复杂度...【详细内容】
2023-02-27  Tags: Java  点击:(9)  评论:(0)  加入收藏
▌简易百科推荐
你可能已经迫不及待想安装Java,写个Java程序跑起来了。但是在这之前,有些概念需要提前了解,因为Java跟C、C++和Python都有点不一样。编译和执行​我们在文本文件中编写英文代...【详细内容】
2023-03-08  测试开发刚哥  微信公众号  Tags:Java   点击:(0)  评论:(0)  加入收藏
1992年Oak相关操作系统、类库等完成,11月,“Green计划”被转化成“FirstPerson有限公司”(致力高度互动的设备),关于机顶盒的交易屡败,Green项目几乎接近夭折。一、Java的发展简史...【详细内容】
2023-03-06    Java进阶学习交流  Tags:Java   点击:(6)  评论:(0)  加入收藏
在介绍Java如何一步步被执行起来之前,我们需要先弄明白为什么Java可以实现跨平台运行,因为搞清楚了这个问题之后,对于我们理解Java程序如何被CPU执行起来非常有帮助。无论是刚...【详细内容】
2023-03-05  慕枫技术笔记  微信公众号  Tags:Java   点击:(0)  评论:(0)  加入收藏
前言泛型机制在项目中一直都在使用,比如在集合中ArrayList<String, String>​, Map<String,String>等,不仅如此,很多源码中都用到了泛型机制,所以深入学习了解泛型相关机制对于...【详细内容】
2023-03-04  JAVA旭阳  微信公众号  Tags:Java   点击:(0)  评论:(0)  加入收藏
本篇带给大家Arthas的一些常用命令,可以帮助开发者快速定位和解决Java应用中的问题。当然,Arthas还有许多其他的功能和命令,这里只是介绍了一部分。Arthas是阿里开源的一款Java...【详细内容】
2023-03-03  摆脱格子衫  今日头条  Tags:Arthas   点击:(9)  评论:(0)  加入收藏
JVM是Java虚拟机的缩写,是Java程序的运行环境。Java程序在运行时会通过JVM将字节码翻译成机器码并运行,JVM会管理Java程序的内存、线程等资源。在Java开发中,内存溢出和内存泄...【详细内容】
2023-03-03  Java编程世界  今日头条  Tags:JVM   点击:(7)  评论:(0)  加入收藏
本文对 Java I/O 流进行了详细的介绍,包括流的类型和分类、流的使用方法以及常见问题和解决方法。掌握 Java I/O 流的使用方法和技巧,可以帮助我们更好地处理文件读写、网络通...【详细内容】
2023-03-03  Java编程世界  今日头条  Tags:Jav   点击:(8)  评论:(0)  加入收藏
我们平时在写代码的时候经常会遇到这样的一种情况 提示说没有处理xxx异常然后解决办法可以在外面加上try-catch,就像这样 所以我之前经常这样处理//重新抛出 RuntimeExceptio...【详细内容】
2023-03-02  是啊超ya  今日头条  Tags:Java   点击:(13)  评论:(0)  加入收藏
前言冗余代码向来是代码的一种坏味道,也是我们程序员要极力避免的。今天我通过一个示例和大家分享下解决冗余代码的3个手段,看看哪个最好。问题描述为了描述这个问题,我将使用...【详细内容】
2023-02-28  JAVA旭阳  51CTO  Tags:代码   点击:(16)  评论:(0)  加入收藏
大家在用jvm诊断工具,比如Eclipse MAT或者 Jprofiler分析堆内存的时候,都会看到一些概念或者关键词,如Shallow Heap, Retained Heap, Dominator Tree等,你们知道他们是干嘛的吗?...【详细内容】
2023-02-27  JAVA旭阳  今日头条  Tags:JVM   点击:(10)  评论:(0)  加入收藏
站内最新
站内热门
站内头条