基础知识

第1章 初识Java

1.1 Java简介

​ Java是一门高级的面向对象的程序设计语言。使用Java语言编写的程序是跨平台的,从PC机到手机,到处都运行着Java开发的程序和游戏。Java程序可以在任何计算机、操作系统以及支持Java的硬件设备上运行。

1.1.1 什么是Java语言

​ Java是1995由Sun公司推出的一门极富创造力的面向对象的程序设计语言,它是由有“Java之父”之称的Sun研究院院士詹姆斯·戈士林博士亲手设计而成的,正是他完成了Java技术的原始编译器和虚拟机。Java最初的名字是OAK,在1995年被重命名为Java,并正式发布。

​ Java是一种通过解释方式来执行的语言,其语法规则和C++类似。同时,Java也是一种跨平台的程序设计语言。用Java语言编写的程序,可以运行在任何平台和设备上,如跨域IBM个人电脑、MAC苹果计算机,各种微处理器硬件平台,以及Windows、UNIX、OS/2、MAC OS等系统平台,真正实现“一次编写,到处运行”。Java非常适用于企业网络和Internet环境,并且已成为Internet中最具影响力、最受欢迎的编程语言之一。

​ 与目前常用的C++相比,Java语言简洁得多,而且提高了可靠性,除去了最大的程序错误根源,此外它还有较高的安全性,可以说,它是有史以来最为卓越的编程语言。

​ Java语言编写的程序即是编译型的,又是解释型的。程序代码经过编译之后转换为一种称为Java字节码的中间语言,Java虚拟机(JVM)将对字节码进行解释和运行。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM优化过的机器码形式保存,虚拟机将字节码解释为机器码,然后在计算机上运行。Java语言程序代码的编译和运行过程如图。

Java程序的编译和运行过程

Java程序的编译和运行过程.jpg

1.1.2 Java的应用领域

​ 借助Java,程序开发人员可以自由地使用现有的硬件和软件系统平台。这是因为Java是独立于平台的,它还可以应用于计算机之外的领域。Java程序可以在便携式计算机、电视、电话、手机和其他的大量电子设备上运行。Java的用途不胜枚举,它拥有无可比拟的能力,其节省的时间和费用也十分可观。Java的应用领域主要有以下方面:

  • 桌面应用系统开发。

  • 嵌入式系统开发。

  • 电子商务应用。

  • 企业级应用开发。

  • 交互式系统开发。

  • 多媒体系统开发。

  • 分布式系统开发。

  • Web应用系统开发。

​ Java无处不在,它已经拥有几百万个用户,其发展速度要快于在它之前的任何一种计算机语言。Java能够给企业和最终用户带来数不尽的好处。Oracle公司董事长和首席执行官Larru Ellison说过:“Java正在进入企业、家庭和学校。它正在像Internet本身一样,成为一门普遍存在的技术。”

​ 如果仔细观察,会发现Java就在我们身边。我们经常使用的Java开发工具Eclipse、NetBeans、JBuilder等,另外还有RSSOwl、Limewire、Azureus、CyberDuck、OpenOffice等优秀软件,都是使用Java编写的。此外,各手机厂商都为自己的产品提供了Java技术的支持,各平台上的Java程序和游戏多得数不胜数。

1.1.3 Java的版本

​ 自Sun公司推出Java以来,就力图使之无所不能。Java发展至今,按应用范围分为3个版本,即JavaSE、Java EE和Java ME,也就是Sun ONE (Open Net Environment) 体系。本节将对Java的这3个版本分别进行介绍。

  1. Java SE

    ​ Java SE是Java的标准版,主要用于桌面应用程序开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输入/输出)、网络通信、多线程等技术。Java SE的结构如图。

  2. Java EE

    ​ Java EE是Java的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP(企业资源规划)系统,其核心为EJB(企业Java组件模型)。Java EE的结构如图。

  3. Java ME

    ​ Java ME主要应用于嵌入式系统开发,如掌上电脑、手机等移动通信电子设备,现在大部分手机厂商所生产的手机都支持Java技术。Java ME的结构1如图。

Java SE的结构
JavaSE的结构.jpeg

Java EE的结构
Java EE的结构.png

Java ME的结构
Java ME的结构.png

1.1.4 Java API文档

​ API的全程是Application Programming Interface,即应用程序编程接口,主要包括类的继承结构、成员变量、成员方法、构造方法、静态成员的描述信息和详细说明等内容。可以在 https://docs.oracle.com/en/java/javase/ 中找到对于版本的JDK API文档。

1.2 Java语言的特性

​ Java语言的作者们编写了具有广泛影响的Java白皮书,里面详细地介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java的语言特性。下面将对这些特性进行扼要的介绍。

1.2.1 面向对象

​ 面向对象是Java语言的基础,也是Java语言的重要特性,它本身就是一种纯面向对象的程序设计语言。Java提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java语言最外部的数据类型是对象,所有元素都要通过类和对象来访问。

1.2.2 分布性

​ Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(统一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。

1.2.3 可移植性

​ Java程序具有与体系结构无关的特性,可以非常方便地移植到网络上的不同计算机中。同时,Java的类库也实现了针对不同平台的接口,使得这些类库也可以被移植。

1.2.4 解释型

​ 运行Java程序需要解释器。任何移植了Java解释器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时的信息,使得连接过程更加简单,开发过程更加迅速,更具探索性。

1.2.5 安全性

​ Java语言删除了类C语言中的指针和内存释放等语法,有效的避免了用户对内存的非法操作。Java程序代码要经过代码校验、指针校验等很多测试步骤才能够运行,所以未经允许的Java程序不可能出现损害系统平台的行为,而且使用Java可以编写出防病毒和防修改的系统。

1.2.6 健壮性

​ Java语言的设计目标之一,是能编写出多方面的、可靠的应用程序。因此,Java会检查程序在编译和运行时的错误,并消除错误。类型检查能帮助用户检查出许多在开发早期出现的错误,集成开发工具(如 Eclipse、NetBeans、IDEA)的出现也使得编译和运行Java程序更加容易。

1.2.7 多线程

​ 多线程机制能够使应用程序在同一时间并执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。

1.2.8 高性能

​ Java编译后的字节码是在解释器中运行的,所以它的速度较多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。

1.2.9 动态

​ Java在很多方面比C和C++更能够适应开发环境,可以动态调整库中方法和增加变量,而客户端却不需要任何更改。在Java中进行动态调整是非常简单和直接的。

1.3 搭建Java环境

1.3.1 在Windows中搭建环境

1.3.2 在Ubuntu中搭建环境

第2章 熟悉IDEA开发工具

第3章 Java语言基础

第4章 流程控制

第5章 字符串

第6章 数组

第7章 类和对象

第8章 包装类

第9章 数字处理类

核心基础

第10章 接口、继承与多态

第11章 类的高级特性

第12章 异常处理

第13章 Swing程序设计

第14章 集合类

第15章 I/O类

第16章 反射

第17章 枚举类型与泛型

第18章 多线程

第19章 网络通信

第20章 数据库操作

高级应用

第21章 Swing表格组件

第22章 Swing树组件

第23章 Swing其他高级组件

第24章 高级事件处理

第25章 AWT绘图

项目实战

第26章 奔跑吧,小恐龙!

第27章 企业进销存管理系统