一个完整的Java程序示例
(1) 第一个程序HelloWorld:
package mypack; //相当于一个目录
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
注:
1、文件名必须和public修饰的类名一致,以.java作为文件后缀,如果定义的类不是public的,则文件名与类名可以不同。
2、一个.java文件中可以有多个class,但是只有一个public修饰的类。
3、java源代码文件编译后,一个类对应生成一个.class文件。
4、一个java应用程序应该包含一个main()方法,而且其签名是固定的,它是应用程序的入口方法,可以定义在任意一个类中,不一定是public修饰的类。
编译:javac -d . HelloWorld.java
含有包的类,在编译的时候最好用上面的格式,-d指的是让该类生成的时候按照包结构去生成,“.”指的是在当前路径下生成。
如果不用上面的格式,也可以用javac HelloWorld.java,但是需要注意的是包结构就要由自己去建立,然后将生成的.class文件放到该目录下。
执行:java mypack.HelloWorld
将字节码文件交给Java虚拟机去解释执行。
需要注意的事,必须使用包名.类名去解释执行。
(2) Java的运行过程
编译:生成可执行文件,如C++中利用g++生成a.out,效率高,但不跨平台。
解释:解释器把源文件逐行解释,跨平台但效率不高。
在java中,先编译后解释,把.java文件编译成.class字节码文件:
Java源代码文件(.java文件)
Java编译器(javac)
Java字节码文件(.class文件,平台无关的)
Java解释器(java),执行Java字节码
Java是跨平台的语言,真正执行的不是二进制代码,而是字节码。
Java程序的执行实际上是在JVM(Java Virtual Machine,Java虚拟机)上解释执行的,Java是跨平台的,而JVM不是跨平台的(JVM是由C语言编写的),Java之所以能够做到跨平台,本质原因在于JVM不是跨平台的。
一个完整的Java程序示例的更多相关文章
- 搭建一个完整的Java开发环境
搭建一个完整的Java开发环境 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,ecl ...
- 一个简单的JSP程序示例
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- Java入门篇(一)——如何编写一个简单的Java程序
最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...
- Go笔记之二:一个完整的播放器示例
Go笔记之二:一个完整的播放器示例 该示例从命令行运行一个播放器示例,可进行添加.删除.浏览和模拟播放,其内容是对 Go 语言接口使用的良好展示 源码及可执行文件 参考书籍<Go语言编程> ...
- 第一个Java程序示例——Hello World!【转】
本文转载自: 跟随世界潮流,第一个Java程序输出“Hell World!”. 通过Eclipse运行程序 启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹 ...
- 一个10年Java程序员的年终总结,献给还在迷茫中的你
我越来越担心我作为一个Java程序员的未来. 恍然间,发现自己在这个行业里已经摸爬滚打将近10年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作 ...
- 一个简单的Java程序例子以及其几种注释
在说道主题前,先来啰嗦两句,o()︿︶)o 唉,不说两句心里就有个疙瘩,也许这就是所谓的强迫症吧,好了说说我想啰嗦的,其实也就是这样子的,关于Java开发工具箱的下载以及环境的配置.Java开发工具箱 ...
- 菜鸟从零学编程(七)——搭建一个完整的Java开发环境
作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...
随机推荐
- openmp
https://blog.csdn.net/fuwenyan/article/details/79500765a https://www.cnblogs.com/yangyangcv/archive/ ...
- CentOS 7 部署 Spring Boot
Spring Boot 内嵌了tomcat .我们可以将Boot打成 jar 包丢到服务器上运行才行. Spring Boot已经帮我们打理好了这一切,如果项目是继承自 spring-boot-sta ...
- 1010:Tempter of the Bone
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 Problem Description The doggie found a bone in a ...
- PDF编辑方法,PDF如何去除数字签名
有些人会在PDF文件中添加数字签名,但当PDF文件有数字签名的时候就无法对PDF文件进行编辑.添加等操作.这个时候就需要去除PDF文件中的数字签名了,要怎么做呢,就由我来跟大家分享一下小编我的去除数字 ...
- 饮冰三年-人工智能-linux-07 硬盘分区、格式化及文件系统的管理
先给虚拟机添加一个硬盘 通过fdisk -l sdb,查看磁盘内容 通过fdisk /sdb 来操作分区 创建一个新分区 创建第二个分区 创建第三个分区 创建扩展分区 再次创建分区,其实使用的是扩展分 ...
- zabbix 3.2.4 使用详解
一:zabbix简介及原理 二:zabbix添加主机: /usr/share/zabbix/include/locales.inc.php #这里为zabbix语言包路径‘zh_CN’ 为true ...
- @ResponseBody 和 @RequestBody 的作用
先提一嘴 @RequestMapping(“url”),这里的 url写的是请求路径的一部分,一般作用在 Controller的方法上,作为请求的映射地址. 代码: @RequestMapping(v ...
- ubuntu下使用matplotlib绘图无法显示中文label
原因是字体导致的.大家的做法基本都是搞一个windows上的字体文件(simhei.ttf, 点我fq下载)然后刷新一下缓存文件. 只不过百度搜到第一篇CSDN的博客,写的很不靠谱(不是所有的CSDN ...
- zeromq的安装,部署(号称最快的消息队列,消息中间件)
1:Storm作为一个实时处理的框架,产生的消息需要快速的进行处理,比如存在消息队列ZeroMQ里面. 由于消息队列ZeroMQ是C++写的,而我们的程序是运行在JVM虚拟机里面的.所以需要jzmq这 ...
- EF Core Migration
//添加migrations dotnet ef migrations add [名称] //根据model更新sql表结构 dotnet ef database update //删除最新的migr ...