简单记录,Java 核心技术卷I 基础知识(原书第10 版)

一个简单的Java应用程序"Hello, World!"

Hello, World!

Goodbye,World!

一个最简单的Java应用程序,Hello,Java

public class FirstSample
{
public static void main(String[] args)
{
System.out.println("We will not use 'Hello, World! '");
}
}

它只发送一条消息"We will not use 'Hello, World! '"到控制台窗口中:

这个程序虽然很简单, 但所有的Java 应用程序都具有这种结构,值得研究一波。

C:\Users\x1c\Desktop\Learning_Java\CoreJava\corejava\v1ch03\FirstSample>javac FirstSample.java

C:\Users\x1c\Desktop\Learning_Java\CoreJava\corejava\v1ch03\FirstSample>java FirstSample
We will not use 'Hello, World!'

首先,

  • Java 区分大小写。如果出现了大小写拼写错误(例如, 将main 拼写成Main),程序将无法运行。

下面逐行地查看一下这段源代码。

  • 关键字public 称为访问修饰符( access modifier ), 这些修饰符用于控制程序的其他部分对这段代码的访问级別。

  • 关键字class 表明Java 程序中的全部内容都包含在类中。这里, 只需要将类作为一个加载程序逻辑的容器, 程序逻辑定义了应用程序的行为。类是构建所有Java 应用程序的构建块。Java 应用程序中的全部内容都必须放置在类中。

  • 关键字class 后面紧跟类名。Java 中定义类名的规则很宽松。名字必须以字母开头,后面可以跟字母和数字的任意组合。长度基本上没有限制。但是不能使用Java 保留字(例如,public 或class ) 作为类名(保留字列表请参看附录A)。java 关键字

  • 标准的命名规范为(类名FirstSample 就遵循了这个规范):类名是以大写字母开头的名词。如果名字由多个单词组成, 每个单词的第一个字母都应该大写(这种在一个单词中间使用大写字母的方式称为骆驼命名法。以其自身为例, 应该写成CamelCase)。

  • 源代码的文件名必须与公共类的名字相同,并用.java 作为扩展名。因此,存储这段源代码的文件名必须为FirstSample.java ( 注意,大小写是非常重要的, 千万不能写成firstsample.java)

如果已经正确地命名了这个文件, 并且源代码中没有任何录入错误, 在编译这段源代码之后就会得到一个包含这个类字节码的文件。Java 编译器将字节码文件自动地命名为FirstSample. class, 并与源文件存储在同一个目录下。最后, 使用下面这行命令运行这个程序:java FirstSample(请记住,不要添加.class 扩展名)。程序执行之后, 控制台上将会显示“ We will not use ‘ Hello,World,!”。

javac FirstSample.java
java FirstSample

当使用 java ClassName运行已编译的程序时,Java 虚拟机将从指定类中的main 方法开始执行(这里的“ 方法”就是Java 中所说的“ 函数”), 因此为了代码能够执行, 在类的源文件中必须包含一个main方法。当然,也可以将用户自定义的方法添加到类中,并且在main 方法中调用它们。

注释: 根据Java 语言规范, main 方法必须声明为public ( Java 语言规范是描述Java 语言的官方文档。可以从网站http://docs.oracle.com/javase/specs 上阅读或下载)„

The Java Language Specification, Java SE 13 Edition

The Java Virtual Machine Specification, Java SE 13 Edition

不过, 当main 方法不是public 时, 有些版本的Java 解释器也可以执行Java 应用程序。有个程序员报告了这个bug。如果感兴趣的话, 可以在网站http://bugsjava.com/bugdatabase/index.jsp 上输入bug 号码4252539 查看。这个bug 被标明“ 关闭, 不予修复。” Sun 公司的工程师解释说: Java 虚拟机规范(在http://docs.orade.com/javase/specs/jvms/se8/html ) 并没有要求main 方法一定是public, 并且“ 修复这个bug 有可能带来其他的隐患”。好在, 这个问题最终得到了解决。在Java SE 1.4 及以后的版本中强制main

方法是public 的。

从上面这段话可以发现一个问题的两个方面。一方面让质量保证工程师判断在bug报告中是否存在问题是一件很头痛的事情, 这是因为其工作量很大, 并且工程师对Java的所有细节也未必了解得很清楚。

另一方面, Sun 公司在Java 开源很久以前就把bug 报告及其解决方案放到网站上让所有人监督检查, 这是一种非常了不起的举动,某些情况下, Sun 甚至允许程序员为他们最厌恶的bug 投票, 并用投票结果来决定发布的下一个

JDK 版本将修复哪些bug

  • 需要注意源代码中的括号{ }。在Java 中,像在C/C++ 中一样,用大括号划分程序的各个部分(通常称为块)。Java 中任何方法的代码都用“ {” 开始,用"}"结束。

大括号的使用风格曾经引发过许多无意义的争论。我们的习惯是把匹配的大括号上下对齐。不过,由于空白符会被Java 编译器忽略, 所以可以选用自己喜欢的大括号风格。在下面讲述各种循环语句时, 我们还会详细地介绍大括号的使用。我们暂且不去理睬关键字static void, 而仅把它们当作编译Java 应用程序必要的部分就行了。现在需要记住:每个Java 应用程序都必须有一个main 方法,其声明格式如下所示:

public class ClassName{

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

C++ 注释: 作为一名C++ 程序员, 一定知道类的概念。Java 的类与C++ 的类很相似,但还是有些差异会使人感到困惑。例如, Java 中的所有函数都属于某个类的方法(标准术语将其称为方法, 而不是成员函数)。因此,Java 中的main 方法必须有一个外壳类。读者有可能对C++ 中的静态成员函数( static member functions ) 十分熟悉。这些成员函数定义在类的内部, 并且不对对象进行操作。

  • Java 中的main 方法必须是静态的。最后,与C/C++—样, 关键字void 表示这个方法没有返回值, 所不同的是main 方法没有为操

    作系统返回“ 退出代码” ,如果main 方法正常退出, 那么Java 应用程序的退出代码为0,表示成功地运行了程序。如果希望在终止程序时返回其他的代码, 那就需要调用System.exit 方法。

    接下来,研究一下这段代码:
{
System.out.println("We will not use 'Hello, World! '");
}
  • 一对大括号表示方法体的开始与结束, 在这个方法中只包含一条语句。与大多数程序设计语言一样, 可以将Java 语句看成是这种语言的句子。在Java 中, 每个句子必须用分号结束。

特别需要说明,回车不是语句的结束标志,因此, 如果需要可以将一条语句写在多行上。在上面这个main 方法体中只包含了一条语句,其功能是:将一个文本行输出到控制台上。在这里, 使用了System.out 对象并调用了它的println 方法。注意,

  • 点号( . )用于调用方法。Java 使用的通用语法是object.method(parameters),这等价于函数调用。

在这个示例中, 调用了println 方法并传递给它一个字符串参数。这个方法将传递给它的字符串参数显示在控制台上。然后,终止这个输出行, 使得每次调用println 都会在新的一行上显示输出。需要注意一点,

  • Java 与C/C++—样, 都采用双引号分隔字符串。与其他程序设计语言中的函数一样,在Java 的方法中,可以没有参数, 也可以有一个或多个参数(有的程序员把参数叫做实参)。

对于一个方法, 即使没有参数也需要使用空括号。例如, 不带参数的println 方法只打印一个空行。使用下面的语句来调用System,out.println();

注释: System.out 还有一个print 方法, 它在输出之后不换行。例如, System.out.print(“ Hello”)打印“ Hello” 之后不换行, 后面的输出紧跟在字母“o”后。

【Java】一个简单的Java应用程序的更多相关文章

  1. Java入门篇(一)——如何编写一个简单的Java程序

    最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...

  2. 使用eclipse创建一个简单的Java Web应用程序

    关于Java JDK/JRE.Tomcat的配置等等都没什么好说的,主要记录一下使用Eclipse创建web工程时的一些点以及说一说自己用IDEA的创建失败的过程(IDEA没运行成功...暂时不想弄了 ...

  3. 一个简单的Java应用程序

    目录 一个简单的Java应用程序 首次运行结果 程序示例 运行结果 修改大小写之后的运行结果 程序示例 运行结果 关键字public 关键字class 类名及其命名规则 类名必须以字母开头 不能使用J ...

  4. 一个简单的Java web服务器实现

    前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...

  5. 一个简单的Java死锁示例(转)

    在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子,程序说明都写着类的注释里了,有点罗嗦,但是应该也还是表述清楚了 ...

  6. Java学习笔记 11/15:一个简单的JAVA例子

    首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java   // TestJava.java,java 的简单范例  public ...

  7. java编写简单的语法分析预测程序

    编译原理课程中,编了一个简单的语法分析预测程序,这个程序时根据固定的文法得到预测分析表,然后编写程序来判断表达式是否会正确推到出来. 前提是程序没有左递归符合LL(1)文法: 文法如下: E→TE' ...

  8. 利用 Docker 构建一个简单的 java 开发编译环境

    目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...

  9. Ant—使用Ant构建一个简单的Java工程(两)

    博客<Ant-使用Ant构建一个简单的Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant: 上面样例须要运行多条ant命令才干运行Test类中的 ...

随机推荐

  1. echarts饼图默认状态高亮显示

    需求:饼状图默认状态下高亮显示指定内容. 最常见的两种: 一.饼图中间始终默认展示数据总数和统计事项的名字(如下图),这种实现方式比较简单,就不多介绍 二.饼图中间默认展示某一图例的具体数据,鼠标放在 ...

  2. Typora+图床详解(小白都能学得会)

    Typora+图床详解(小白都能学得会) 1 了解工作 博客中用的笔记软件--Typora(Markdown语法) 博客中用的图床--阿里云对象存储(Object Storage Service,简称 ...

  3. Java 8 Lambda表达式-接口实现

    Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...

  4. jenkins 配置任务

    新建筑任务 ""imuke 建一个自由风格的 要执行python .py程序,我们需要把.py所在的目录设置进去 如果保存的是在svn,需要把他的地址放进去 如图: 设置自动构建时 ...

  5. 顶会两篇论文连发,华为云医疗AI低调中崭露头角

    摘要:2020年国际医学图像计算和计算机辅助干预会议(MICCAI 2020),论文接收结果已经公布.华为云医疗AI团队和华中科技大学合作的2篇研究成果入选. 同时两篇研究成果被行业顶会收录,华为云医 ...

  6. 根据数据库反向生成PD

    原博文 http://www.360doc.com/content/14/0820/20/12385684_403420399.shtml 步骤 File___Reverse Engineer___D ...

  7. Python--批量修改文件名称

    Dr. he 最近忙着毕业论文的事情,需要将一千多张超声切面图的文件名后缀名去掉,例如:剔除文件名"1802014223FAMFIBAI.jpg"的第11个字符至第18个字符&qu ...

  8. Java学习_异常处理

    Java的异常 计算机程序运行的过程中,总是会出现各种各样的错误.有一些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc.程序想要读写某个文件的内容,但是用户已经把它删 ...

  9. 手摸手带你用Hexo撸博客(二)之配置主题

    在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢 ...

  10. ipython快捷键

    IPython Notebook有两种不同的键盘输入模式(编辑模式和命令模式). 编辑模式:允许你输入代码或者文本到一个单元格(cell这里我译作单元格)内,并且单元格外面有灰色的选中框(注:Jupy ...