欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java快速入门

程序员文章站 2024-03-23 14:58:58
...

1 Java简介

Java快速入门

太阳计算机系统(中国)有限公司 1982年成立 2009年被Oracle收购

Java快速入门

甲骨文股份有限公司 1977年成立 2013年成为全球第二大软件公司

Java快速入门

詹姆斯·高斯林 (James Gosling)Java编程语言的共同创始人之一 一般公认他为“Java之父”

1.1 Java发展史

20世纪90年代,出现了单片机。 1991年,Sun公司成立了Green项目小组,专攻家电产品上的嵌入式应用,开发出了一种称为Oak的面向对象语言。 1992年,Oak语言开发成功后,因为缺乏硬件的支持而无法进入市场,最终被搁置了下来。

1995年,互联网的蓬勃发展给了Oak机会。Sun公司推出了可以嵌入网页的Applet小程序,并将Oak更名为Java。 1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。 1997年2月,Sun公司发布了JDK 1.1,在随后的3周时间里,达到了22万次的下载量。

1998年12月,Sun公司发布了第二代Java平台的企业版J2EE。 1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2 Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器; J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;

2000年5月,Sun公司发布了JDK1.3、JDK1.4和J2SE1.3。 2001年9月,Sun公司发布了J2EE1.3。 2002年2月,Sun公司发布了J2SE1.4。 2004年9月,Sun公司发布了J2SE1.5,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0,代号为“Tiger”。 2005年6月,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。 2006年,Sun公司宣布,将Java技术作为免费软件对外发布 。

2009年,Oracle公司宣布收购Sun 。 2010年,Java之父詹姆斯·高斯林从Oracle公司辞职。 2011年,Oracle公司发布了Java7。 2014年,Oracle公司发布了Java8。 2017年,Oracle公司发布了Java9。 2018年,Oracle公司发布了Java10和Java11。 2019年,Oracle公司发布了Java12和Java13。 2020年,Oracle公司发布了Java14。

1.2 Java特点

  • Simple 简单性

Java语言是一种相当简洁的面向对象程序设计语言。Java语言省略了C++语言中所有的难以理解、容易混淆的特性。Java更加严谨、简洁。

  • Object oriented 面向对象

面向对象是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。

  • Distributed 分布式

Java语言具有强大的、易于使用的连网能力,非常适合开发分布式计算的程序。Java应用程序可以象访问本地文件系统那样通过URL访问远程对象。使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。

  • Multithreaded 多线程

线程,是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在Java语言中进行多线程处理很简单。

  • Dynamic 动态性

Java是一种动态的语言,在Java语言中,可以简单、直观地查询运行时信息,也可以将新代码加入到一个正在运行的程序中去。

  • Architecture neutral 架构中立

Java源程序被编译成一种高层次的与机器无关的字节码格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。

  • Robust 健壮性

Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。

  • Secure 安全性

用于网络、分布环境下的 Java必须要防止病毒的入侵。 Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用"特洛伊 "木马等欺骗手段访问对象的私有成员。

1.3 Java是什么?

Java既是编程语言又是平台。

  • Java编程语言

在Java编程语言中,首先将所有源代码编写为以.java扩展名结尾的纯文本文件。然后,这些源文件.class由javac编译器编译为文件。一个.class文件不包含的代码是原产于你的处理器; 相反,它包含字节码 -Java虚拟机(Java VM)的机器语言。然后,java启动器工具将使用Java虚拟机的实例运行您的应用程序。

Java快速入门

因为Java VM在许多不同的操作系统上都可用,所以相同的.class文件能够在Microsoft Windows,Solaris™操作系统(Solaris OS),Linux或Mac OS上运行。一些虚拟机(例如 Java SE HotSpot概览)在运行时执行其他步骤,以提高应用程序的性能。这包括各种任务,例如查找性能瓶颈和重新编译(使用本机代码)经常使用的代码部分。

Java快速入门

  • Java平台

一个平台是在程序运行的硬件或软件环境。我们已经提到了一些最受欢迎的平台,例如Microsoft Windows,Linux,Solaris OS和Mac OS。大多数平台可以描述为操作系统和底层硬件的组合。Java平台与大多数其他平台的不同之处在于,它是一个基于软件的平台,可以在其他基于硬件的平台上运行。

Java平台具有两个组件:

  • 在Java虚拟机
  • 在Java应用程序编程接口(API)

Java虚拟机是Java平台的基础,并已移植到各种基于硬件的平台上。 API是大量现成的软件组件的集合,这些组件提供了许多有用的功能。它分为相关类和接口的库。这些库称为软件包。 作为独立于平台的环境,Java平台可能比本地代码慢一些。但是,编译器和虚拟机技术的进步使性能接近本机代码,而不会威胁可移植性。 术语“ Java虚拟机”和“ JVM”是指用于Java平台的虚拟机。

1.4 Java功能

  • 开发工具:

开发工具提供了编译,运行,监视,调试和记录应用程序所需的一切。作为新开发人员,您将使用的主要工具是javac编译器,java启动器和javadoc文档工具。

  • 应用程序编程接口(API):

API提供Java编程语言的核心功能。它提供了许多有用的类,可以在您自己的应用程序中使用。它涵盖了从基本对象到网络和安全性,再到XML生成和数据库访问等等的所有内容。

  • 部署技术:

JDK软件提供了标准的机制,用于将应用程序部署到最终用户。

  • 用户界面工具包:

JavaFX,Swing和Java 2D工具包使创建复杂的图形用户界面(GUI)成为可能。

  • 集成库:

诸如JDBC API,Java接口定义语言(IDL)API,Java命名和目录接口(JNDI)API,Java RMI和通过Internet ORB协议技术进行Java远程方法调用的集成库。

1.5 Java优势

  • 快速入门:

尽管Java编程语言是一种功能强大的面向对象的语言,但它易于学习,特别是对于已经熟悉C或C ++的程序员而言。

  • 编写更少的代码:

通过比较程序指标(类计数,方法计数等),可以看出,用Java编程语言编写的程序可以比使用C ++编写的同一程序小四倍。

  • 编写更好的代码:

Java编程语言鼓励良好的编码习惯,而自动垃圾回收可以帮助您避免内存泄漏。它的面向对象,其JavaBeans™组件体系结构以及范围广泛,易于扩展的API使您可以重用现有的经过测试的代码,并减少错误。

  • 更快地开发程序:

Java编程语言比C ++更简单,因此,用它编写时,您的开发时间可能会快两倍。您的程序还将需要更少的代码行。

  • 避免平台依赖性:

通过避免使用其他语言编写的库,可以使程序可移植。

  • 一次编写,可在任何地方运行:

因为用Java编程语言编写的应用程序被编译为与机器无关的字节码,所以它们可以在任何Java平台上一致地运行。

  • 更轻松地分发软件:

使用Java Web Start软件,用户只需单击一下鼠标即可启动您的应用程序。启动时会自动进行版本检查,以确保用户始终了解最新版本的软件。如果有更新,则Java Web Start软件将自动更新其安装。

2 “Hello World”程序

要编写第一个程序,您需要:

Java SE开发套件8(JDK 8)

您现在可以 下载Windows版本。(请确保您下载的是JDK,而不是 JRE。)请查阅 安装说明。

文字编辑器

在此示例中,我们将使用Windows平台附带的简单编辑器记事本。

集成开发人员环境(IDE)

流行的选择包括Eclipse、IntelliJ IDEA,Spring Tool Suite或Visual Studio Code等等。

2.2 使用记事本创建第一个应用程序

创建一个源文件

首先,启动编辑器。您可以从开始菜单中选择程序>附件>记事本,启动记事本编辑器。在新文档中,键入以下代码:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

将代码保存在名为的文件中HelloWorldApp.java。要在记事本中执行此操作,请首先选择“ 文件”>“另存为”菜单项。然后,在“ 另存为”对话框中: 使用“ 保存在”组合框,指定用于保存文件的文件夹(目录)。在这个例子中,该目录是myapplication在上C驱动器。 在“ 文件名”文本字段中,输入"HelloWorldApp.java",包括引号。 从“ 保存类型”组合框中,选择“ 文本文档(* .txt)”。 在“ 编码”组合框中,将编码保留为ANSI。 完成后,对话框应如下 所示。现在,单击“ 保存”,然后退出记事本。

Java快速入门

将源文件编译成.class文件

调出外壳程序或“命令”窗口。您可以从开始菜单中选择运行...,然后输入来执行此操作cmd。外壳窗口应类似于 下图。

Java快速入门

提示符显示您的当前目录。出现提示时,当前目录通常是Windows的主目录(如上图所示)。 要编译源文件,请将当前目录更改为文件所在的目录。例如,如果你的源目录myapplication中的C驱动器,在提示符后键入以下命令输入: cd C:\ myapplication 现在,提示应更改为C:\myapplication>。

现在您可以编译了。在提示符下,键入以下命令,然后按Enter。 javac HelloWorldApp.java 编译器已生成一个字节码文件HelloWorldApp.class。在提示符下,键入dir以查看生成的新文件,如下所示: C:\ myapplication> javac HelloWorldApp.java C:\ myapplication> dir 有了.class文件后,就可以运行程序了。

运行程序

在同一目录中,在提示符下输入以下命令: java -cp. HelloWorldApp 您应该在屏幕上看到以下内容: C:\ myapplication> java -cp. HelloWorldApp Hello World!

2.3 使用Eclipse创建第一个应用程序

创建一个IDE项目

启动Eclipse IDE。

Java快速入门

在Eclipse IDE中,选择“ File” |“ New”|“ Project”|“ Java Project”。新项目...。

Java快速入门

Java快速入门

在“ New Java Project”向导中,输入“ Project Name”,如下图所示:

Java快速入门

单击”Finish”完成。

在IDE中创建并打开该项目。您应该看到以下组件: “ Project Explorer”窗口,其中包含项目组件的树形视图,包括源文件,代码所依赖的库等。 在导航窗口中,你可以用它来快速浏览所选类的各元素之间。

在源文件中添加代码

在src文件夹上单击鼠标右键,选择“ New”|“ Class”。创建新类。

Java快速入门

在“Package”字段中,键入helloworldapp, 在“Name”字段中,键入HelloWorldApp, 选中“public static void main(String[] args) ”多选框。

Java快速入门

补充完成以下代码:

/**
 * The HelloWorldApp class implements an application that
 * simply prints "Hello World!" to standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

运行程序 从IDE的菜单栏中,选择“运行 | 运行主项目。 下图显示了您现在应该看到的内容。

Java快速入门

3 “Hello World”讲解

3.1 源代码注释

以下粗体字定义了“ Hello World!” 的注释:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

注释被编译器忽略,但对其他程序员有用。Java编程语言支持三种注释:

/* text */

编译器会忽略从/*到的所有内容*/。

/** documentation */

这表示文档注释。在准备自动生成的文档时,该工具使用文档注释。

// text

编译器将忽略从//行尾到行尾的所有内容。

3.2 HelloWorldApp类定义

以下粗体字开始“ Hello World!”的类定义块。应用:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

如上所示,类定义的最基本形式是:

class name {     
    。。。 
} 

关键字class开始于一个名为的类的类定义name,并且每个类的代码出现在上面用粗体标记的大括号之间。

3.3 main方法

以下粗体文本开始main方法的定义:
/**
 * HelloWorldApp类实现了一个应用程序
 * 打印“Hello World!”标准输出
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // 打印字符串
    }
}

在Java编程语言中,每个应用程序都必须包含main方法: public static void main(String[] args) 修饰符public和static可以按任何顺序编写,但约定俗成如上所述使用。 您可以为参数指定任意名称,但是大多数程序员都选择“ args”。 该main方法类似于mainC和C ++中的功能。它是应用程序的入口点,随后将调用程序所需的所有其他方法。

最后一行: System.out.println(“ H​​ello World!”); 使用System核心库中的类打印“ Hello World!”。

4 常见问题

4.1 编译器问题

错误:'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

原因:如果收到此错误,表示Windows找不到编译器(javac)。

 

错误:仅当显式请求注释处理时才接受类名称 'HelloWorldApp'

原因:如果收到此错误,表示在编译程序时忘记了添加.java后缀。

 

4.2 语法错误

错误:HelloWorldApp.java:7:

错误: 需要';'         System.out.println("Hello World!") // 打印字符串                                           ^ 1 个错误 原因:这是由于;在语句末尾省略分号()导致的错误。

4.3 运行时问题

错误:找不到或无法加载主类 HelloWorldApp

原因:如果收到此错误,java则找不到字节码文件HelloWorldApp.class。

 

错误:找不到或无法加载主类 HelloWorldApp.class

原因:这是由于尝试在由编译器java创建的.class文件上运行启动器导致的错误。

 

错误:在类 HelloWorldApp 中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

原因:Java VM要求您与之一起执行的类具有一个main开始执行应用程序的方法。

 

 

 

相关标签: Java