[笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境

简介: [笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境

概述

Java语言历史简介,Java开发环境的配置及第一个Hello,world程序。

第1章 java语言概述与开发环境

1.1 Java语言的发展简史

1990年sun公司在嵌入式开发中发现C++太复杂难用,团队领导Gosling决定创造一种新的语言:Oak。

1995,Sun公司发布Java语言;1996年,发布JDK1.0.

1998年,Sun公司发布JDK 1.2,并将Java分成三个版本(EE,SE,ME),将Java API分成三大类(核心,可选,特殊)

2002年,Sun公司发布JDK1.4;2004,JDK1.5

2009年,Oracle收购Sun,

2014年,Java SE 8,Java 8 新增大量新特性。

1.2 Java的竞争对手及各自优势

1.2.1 C#

“Microsoft对Java的反击”

1.2.2 Ruby

简洁的解释型语言,纯粹的面向对象编程

1.2.3 Python

Guido于1989年开发。面向对象的解释型语言。

1.3 Java程序运行机制

Java是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为Java程序要经过先编译,后解释两个步骤。

1.3.1 高级语言的运行机制

高级语言按程序的执行方式可以分为编译型和解释型两种。

编译型:使用编译器,针对特定平台,将源码[一次性"翻译]{.underline}"成该平台硬件可执行的机器码。

解释型:使用专门的解释器对源程序[逐行解释]{.underline}成特定平台的机器码并立即执行。

1.3.2 Java程序的运行机制和JVM

Java程序的执行要经过两步:编译;解释执行

Java语言中负责解释执行字节码文件的是Java虚拟机(Java Virtual Machine,JVM)。

JVM是可运行Java字节码文件的虚拟计算机,所有平台上的JVM向编译器提供相同的编程接口,编译器只需要面向虚拟机。

1.4 开发Java的准备

1.4.1 下载和安装Java 8 的JDK

JKD的全称是Java SE Development Kit,即Java标准版开发包,是sun提供的一套用于开发Java应用程序的开发包,提供了编译、运行Java程序所需的各种工具和资源。

JRE:Java运行环境(Java Runtime Environment),Java运行的基本条件。

如果要开发Java程序,应该下载安装JDK(包含JRE),如果只运行Java程序。安装JRE即可。

具体的下载 去Java官网上下载Java8的对应平台的较新版本。

Windows下安装:打开安装包,根据提示安装,尽量选择没有中文、空格的目录下安装。

1.4.2 设置PATH环境变量

下载JDK之后,将JAVA\jdk xxxx\bin加入PATH环境变量。

使用命令编译,执行。

javac -d . HelloWorld.java

java Java类名

1.5 第一个Java程序 HelloWorld

1.5.1 编辑Java源代码

使用记事本创建一个文本文件后缀名改为.java,输入如下代码

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

1.5.2 编译

javac -d destdir srcFile

编译成功后出现HelloWorld.class文件

1.5.3 运行

java Java类名

输出 Hello,World!

1.5.4 根据CLASSPATH环境变量定位类

JDK1.5以上无须设置。CLASSPATH的作用是搜索Java类, 默认在当前路径下搜索。

1.6 java程序的基本规则

1.6.1 Java程序的组织形式

Java是一种纯面向对象的程序设计语言,Java程序必须以类(class)的形式存在,类是Java程序的最小程序单位。

1.6.2 Java源文件的命名规则

1、源文件后缀是.java

2、源文件的文件名和public类(如果有)相同。

1.6.3 初学者容易犯的错误

1.CLASSPATH环境变量的问题

jdk1.5以后可以不设置。

2.大小写问题

Java严格区分大小写

3.路径空格问题

不要使用带空格的路径

4.main()方法问题

直接运行java类,这个Java类必须包含main方法,且格式固定:

public static void main(String[] args)

如果不是这个格式,运行时会提示找不到main方法。

1.7 垃圾回收机制

Java语言不需要不需要程序员直接控制内存回收,Java程序的内存分配和回收都是由JRE在后台自动进行的。

JRE回收那些不再使用的内存,称为垃圾回收(GarbageCollocation,GC)

通常,垃圾回收具有以下特点:

  1. 垃圾回收机制的目标是回收无用对象的内存空间,对于其他物理资源,如数据库连接,磁盘I/O等无能为力。
  2. 为了更快使用垃圾回收机制回收无用对象,可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。
  3. 垃圾回收机制发生的不可预知性。

1.8 何时开始使用IDE工具

对于Java语言的初学者而言,这里给出一个忠告:不要使用任何IDE工具来学习Java编程。

建议直接使用记事本写程序。

当你熟悉后,才开始使用IDE。

附录 本章练习

1.搭建自己的Java开发环境

2.编写Java语言的HelloWorld

public class HelloWorld

public class HelloWorld
{
  public static void main(String[] args)
  {
  System.out.println("Hello,World!");
  }
}
相关文章
|
3天前
|
Java 大数据 API
|
3天前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
17 3
|
7天前
|
Java 索引
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
|
7天前
|
Java 程序员 API
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
|
7天前
|
数据可视化 Java 测试技术
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
|
7天前
|
存储 设计模式 前端开发
[笔记] 疯狂JAVA讲义(第3版)第12章 Swing编程
[笔记] 疯狂JAVA讲义(第3版)第12章 Swing编程
|
7天前
|
前端开发 Java 图形学
[笔记] 疯狂JAVA讲义(第3版)第11章 AWT编程
[笔记] 疯狂JAVA讲义(第3版)第11章 AWT编程
|
7天前
|
Java 编译器
[笔记] 疯狂JAVA讲义(第3版)第10章 异常处理
[笔记] 疯狂JAVA讲义(第3版)第10章 异常处理
|
7天前
|
Java 编译器
[笔记] 疯狂JAVA讲义(第3版)第9章 泛型
[笔记] 疯狂JAVA讲义(第3版)第9章 泛型
|
7天前
|
存储 算法 安全
[笔记] 疯狂JAVA讲义(第3版)第8章 Java集合(二)
[笔记] 疯狂JAVA讲义(第3版)第8章 Java集合(二)