第一章 JAVA概述

1.1 JAVA中的JDK

JDK指的是Java Development Kit,是一个由Oracle提供的Java开发工具包,包含了开发Java应用程序所需的各种组件,如Java编译器、Java运行时环境(JRE)、Java API类库、Java文档等等。其中JVM、JRE都是JDK的重要组成部件,初学者通常会混淆JRE和JVM下面我们来说一下这两者的区别。

  1. JVM(Java虚拟机):是Java平台的核心组件之一,用于执行Java字节码。它将Java字节码翻译为操作系统可识别的机器码,使Java程序能够在不同的操作系统和硬件平台上运行。JVM是Java的运行时环境的核心,提供了内存管理、垃圾回收、安全性和线程管理等功能。

    在这里插入图片描述

  2. JRE(Java运行时环境):JRE(Java运行时环境)是一个包含了JVM(Java虚拟机)、Java类库和其他必要组件的软件环境,用于在计算机上运行Java程序。JRE提供了Java程序运行所必需的一切组件,包括Java类库、字节码解释器和JVM等,但不包括Java开发工具包(JDK)中的编译器和其他开发工具。与JDK不同,JRE只提供了运行Java程序所必需的组件,而不包括开发Java程序所必需的工具。如果您只是想运行Java程序而不打算进行Java应用程序的开发工作,那么安装JRE就足够了。

Lightbox

1.2 第一个JAVA程序

现在,让我们开始编写我们的第一个程序。首先启动NetBeans并从顶部菜单栏选择File> New Project …。 您将看到New Project对话框。在类别下选择Java with Maven,并在项目下选择Java Application。单击“下一步”继续。 在下一个屏幕上,将项目命名为mavenproject1并注意存储项目的位置。最后,单击“完成”以创建项目。

在这里插入图片描述

NetBeans会自动为您创建一个默认模板。我们把模板代码替换为以下代码:

/*
This is a simple JAVA program.
Call this file "Mavenproject1.java"
*/
package com.mycompany.mavenproject1;

//Print the words Hello World on the screen
public class Mavenproject1 {

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

Java中运行的每一行代码都必须在一个类(class)中。在上面的示例中,我们将类命名为Mavenproject1,Maven会在之后详细解释,注意类名应始终以大写字母开头

注意:Java区分大小写:“MyClass”和“myclass”的含义不同。

Java文件的名称必须与类名相匹配。保存文件时,请使用类名并在文件名末尾添加“.java”后缀。

1.3 JAVA程序的基本架构

让我们深度刨析一下第一个程序。

1.3.1 注释(Comment)

我们的程序一开始是这样的:

/*
This is a simple JAVA program.
Call this file "Mavenproject1.java"
*/

这是一个Java注释。与大多数其他编程语言一样,Java允许您在程序源文件中输入注释。注释的内容会被编译器忽略。注释描述或解释程序的操作,以便任何阅读源代码的人都能理解。在第一个程序中,注释描述了程序,并提醒您源文件应该被称为Mavenproject1.java。当然,在实际应用程序中,注释通常解释程序的某个部分如何工作或特定功能的作用。

Java支持三种注释样式。第一个示例程序顶部显示的注释被称为多行注释。这种类型的注释必须以"/*“开始,并以”*/"结束。这两个注释符号之间的任何内容都会被编译器忽略。正如其名称所示,多行注释可以有多行。

在之后的代码段中,我们又给出了另一种注释,这种注释叫做单行注释

//Print the words Hello World on the screen

单行注释以 // 开头,并在行末结束。通常,程序员使用多行注释进行较长的备注,而使用单行注释进行简短的逐行描述。第三种注释类型,文档注释,以 “/**” 开始,以 “*/” 结束,可以用来生成API文档。例如:

/**
 * This class represents a person with a name and an age.
 */
public class Person {
    // ...
}

文档注释可以包含一些特殊的标记,用于指示API文档中的特定元素,例如参数、返回值、异常等。例如:

/**
 * Returns the sum of two integers.
 *
 * @param a the first integer
 * @param b the second integer
 * @return the sum of a and b
 * @throws IllegalArgumentException if either a or b is negative
 */
public static int add(int a, int b) {
    if (a < 0 || b < 0) {
        throw new IllegalArgumentException("a and b must be non-negative");
    }
    return a + b;
}

1.3.2 包(Package)

在第一个Java程序中,我们除了注释程序的第一行如下:

package com.mycompany.mavenproject1;

在Java中,package是用来组织和管理类(关于类是什么,我们之后再说,它是很重要的!)的一种机制。它类似于文件系统中的文件夹,可以将相关的类组织在一起,并使它们更易于管理和复用。一个package可以包含多个类,也可以嵌套其他package,形成一个层次结构。

当我们在文件顶部写入package com.mycompany.mavenproject1;,我们要求编译器将此文件包含在com.mycompany.mavenproject1这个包中,在这个包中,com是一个命名空间,用于表示这个包是一个商业或组织域名的一部分。mycompany是公司或组织的名称,mavenproject1是项目的名称。

这样设计的目的是为了避免不同公司或组织之间的类名冲突。通过使用不同的命名空间和包名,即使两个公司或组织使用了相同的类名,它们的完全限定名也不会冲突。

1.3.3 类(Class)

在上面的代码中,public class Mavenproject1这行代码使用关键字class来声明一个新的类。Mavenproject1是类的名称标识符。整个类的定义,包括所有成员,将在开放花括号({)和闭合花括号(})之间。暂时不必过于关注类的细节,只需注意在Java中,所有程序活动都发生在类内。这是所有Java程序至少有一点面向对象的原因之一。

1.3.4 main()方法

main()方法是所有Java应用程序的入口点。每当启动Java应用程序时,main()方法是第一个被调用的方法。注意在我们的main()方法的括号内部的String[] args这几个词,这意味着main()方法可以接受一个字符串数组作为输入。目前不必担心这个问题。我们将在后续章节中介绍数组和输入。

public关键字是一个访问修饰符,允许程序员控制类成员的可见性。当一个类成员被public修饰时,那个成员可以被声明在其它类中的代码访问。(public的相反是private,它防止类外定义的代码使用该成员。)在这种情况下,main()必须被声明为public,因为当程序启动时,它必须被类外的代码调用。关键字static允许main()被调用而无需实例化类的特定实例。这是必要的,因为在创建任何对象之前,main()被Java虚拟机调用。关键字void只是告诉编译器,main()不返回任何值。正如你将看到的,方法也可以返回值。如果所有这些看起来有点混乱,不要担心。所有这些概念都将在后续章节中详细讨论。

如上所述,main()是Java应用程序启动时调用的方法。请记住Java区分大小写。因此,Main和main是不同的。重要的是要了解Java编译器将编译不包含main()方法的类。但是,Java无法运行这些类。因此,如果你打错了,将Main写成main,编译器仍然会编译你的程序。但是,Java会报告错误,因为它无法找到main()方法。

让我们把目光转向main方法里面:

System.out.println("Hello World!");

这行程序在输出窗口(位于屏幕底部)显示“Hello World”(不带引号)的行。在这个例子中,println()显示传递给它的字符串。println()也可用于显示其他类型的信息。该行以System.out开头。简要来说,System是一个预定义类,提供对系统的访问权限,而out是连接到控制台的输出流。这到之后详细解释。注意,此语句以分号结束。Java中的所有语句都必须以分号(;)结束。这类似于大多数其他编程语言,如C和C ++。 在System.out.println(“Hello World”);语句之后,我们用两个闭合大括号结束先前打开的大括号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值