本章主要内容:

  • 常用DOS命令

  • Java语言的三大特点和两种机制

  • Java语言环境搭建

  • Java中文档注释的主要格式

1.1 基本常识

  软件,即一系列按照特定顺序组织的计算机数据和指令的集合,有系统软件和应用软件之分。

  人机交互方式(使用计算机语言):

  图形化界面(Graphical User Interface GUI):简单直观,使用者易于接受,容易上手操作,其最早是由苹果公司开创的。

  命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住常用命令。

  常用的DOS命令:

  (1) dir:列出当前目录下的文件以及文件夹

  (2) md:创建目录

  (3) rd:删除目录

  (4) cd:进入指定目录

  (5) cd..:退回到上一级目录

  (6) cd\:退回到根目录

  (7) echo name:bingchen sex:male >1.txt或echo >1.txt,其中1.txt为创建的文件

  (8) del:删除文件

  (9) exit:退出 dos 命令行

  注意:利用del 目录命令可以删除非空目录中的所有文件。

  计算机语言:

  计算机语言即人与计算机交流的方式,其有很多种,如C、C++、Java、PHP等。其中,第一代语言为纯机器语言,第二代语言为汇编语言,而第三代语言分为面向过程的C、Pascal和Fortran语言,面向过程和对象的C++,跨平台的纯面向对象的语言Java以及跨语言的平台.NET语言等。


1.2 Java语言概述

  本节主要包括Java语言的主要特征,Java技术体系平台以及其在各个领域中的应用三方面的内容。

  Java语言的主要特性:

  面向对象、健壮性、跨平台性(write once,run anywhere)---JVM

  Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。

  Java语言是强制面向对象的。Java语言提供类、接口和继承等元素,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

  Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。

  Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的***。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。

  Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

  Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。

  Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

  Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

  Java技术体系平台:

  Java语言是SUN(斯坦福大学网络公司)1995年推出的一门高级编程语言,其是一种面向Internet的编程语言。随着Java技术在Web方面的不断成熟,其已经成为Web应用程序的首选开发语言。

  • Java SE(Java Standard Edition)标准版,支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE;

  • Java EE(Java Enterprise Edition)企业版,是为开发企业环境下的应用程序提供的一套解决方案;该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发,版本以前称为J2EE;

  • Java ME(Java Micro Edition)小型版,支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME;

  • Java Card,支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。

  Java在各领域中的应用:

  从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:

  (1) 企业级应用,主要指复杂的大型企业软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。

  (2) Android平台应用,Android应用程序使用Java语言编写,Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。

  (3) 移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。


1.3 Java语言运行机制及运行过程

  Java语言的特点:


    • 面向对象,包括类和对象两个基本概念,以及封装性、继承性和多态性三大特性;

    • 健壮性,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制;

    • 跨平台性,即通过Java语言编写的应用程序在不同的系统平台上都可以运行,实现"Write once, Run anywhere"的效果;其原理在于,需要在Java应用程序的操作系统上安装Java虚拟机,由JVM来负责Java程序在该系统中的运行。

  注意:不同的操作系统有不同的JVM,因为有了JVM,同一个Java程序在不同的操作系统(Windows、Linux或Mac)中均可以执行,即实现Java程序的跨平台性。

  Java的两种核心机制:

  (1) Java虚拟机(Java Virtual Machine)

  JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域;主要负责执行指令,管理数据、内存和寄存器。对于不同的平台具有不同的虚拟机,其中Java虚拟机机制屏蔽了底层运行平台的差别,实现"一次编译,到处运行"的效果。

  (2)垃圾收集机制(Garbage Collection)

  在C/C++等语言中,由程序员负责回收无用内存;而Java 语言消除了程序员回收无用内存空间的责任,其提供一种系统级线程跟踪存储空间的分配情况,并在JVM空闲时,检查并释放那些可被释放的存储空间。

  垃圾回收机制的原理:当创建对象时,垃圾回收机制即开始监控该对象的地址、大小及使用情况;通常情况下,垃圾回收机制采用有向图的方式记录和管理栈(heap)中的所有对象,通过该方式确定哪些对象是"可达的",哪些是"不可达的",进而回收"不可达"对象所占用的内存空间。同时,程序员也可手动执行System.gc()通知垃圾回收机制运行,但Java规范并不保证GC一定会执行。  

  注意:垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。


1.4 Java语言的环境搭建

  什么是JDK和JRE?

  (1) JDK(Java Development Kit  Java开发工具包)

  JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了;其中的开发工具包括编译工具(javac.exe)和打包工具(jar.exe)等。

  (2) JRE(Java Runtime Environment  Java运行环境)

  包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

  下载、安装JDK:

  官方下载网址:www.oracle.com;傻瓜式安装,下一步即可;安装路径不要有中文或者特殊符号如空格等;当提示安装JRE时,可以选择不安装。

  配置Path环境变量:

  Path环境变量即Windows操作系统在执行命令时所要搜寻的路径。

  在dos命令行中敲入javac,出现如下错误提示:

  

  错误原因:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为Path的环境变量指定的目录中查找;如果仍未找到,会出现以上的错误提示。所以进入到jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。

  

  每次执行java的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目录下都可以执行java的工具呢?

  根据windows系统查找可执行程序的原理,可以将java工具所在路径定义到Path环境变量中,让系统帮我们去找运行执行的程序。

  配置方法:

  计算机--属性--高级系统设置--环境变量--系统变量,编辑Path环境变量,在变量值开始处加上java工具所在目录,即jdk的bin目录,后面用";"和其他值分隔开即可。注意:也可新建JAVA_HOME系统变量,其值为D:\Program Files\Java\jdk1.7.0_07(末尾不能加分号),而在Path变量中添加%JAVA_HOME%\bin;动态获取即可。

  测试:在命令行窗口,任意文件目录下,执行javac.exe 或者java.exe都可以调用成功。

  补充说明:

  临时配置方式:通过dos命令中set命令完成


    • set :用于查看本机的所有环境变量的信息;

    • set 变量名 :查看具体一个环境变量的值;

    • set 变量名=:清空一个环境变量的值;

    • set 变量名=具体值 :给指定变量定义具体值。

  想要在原有环境变量值基础上添加新值呢?

  首先,通过%变量名%操作符获取到原有环境变量的值;然后加上新值后再定义给该变量名即可。

  举例:给path环境变量加入新值set path=新值;%path%

  注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。


1.5 开发体验之HelloWorld

  开发步骤:编写à编译à运行


    1. 编写

      将Java代码编写到扩展名为.java的文件(源文件)中,如HelloWorld.java。

    2. 编译

      在源文件所在的目录下,执行javac.exe 源文件名.java命令对源文件进行编译,即生成若干个JVM可以识别的以.class结尾的字节码文件。

    3. 运行

      通过java.exe命令对生成的class文件(字节码文件)进行解释执行,如java HelloWorld。


1.6 小结第一个程序

  • Java源文件以.java结尾;

  • 源文件的基本组成部分是类(class),如本例中的HelloWorld类;

  • 源文件中可以有多个class声明的类,但一个源文件中最多只能有一个声明为public 的类,同时要求此类的类名与源文件名一致;

  • 类中可以有主方法(即main()方法),其格式是固定的:public static void main(String[] args){}或public static void main(String args[]){};

  • main()方法是程序的入口,方法内是程序的执行部分,其是由一条条语句构成,每个语句以";"结束;

  • 执行程序:①编译:javac.exe  编译完,生成诸多个.class字节码文件。②运行:java.exe

  • Java语言严格区分大小写,且大括号都是成对出现的,缺一不可。

  注意:Java语言严格区分大小写,且一个源文件中最多只能有一个声明为public的类,同时要求此类的类名与源文件名是一致的!


1.7 注释

单行注释(格式://注释文字)

多行注释(格式:/* 注释文字 */),注意多行注释中不允许有多行注释嵌套。

文档注释(Java特有):

格式:/**

@author指定java程序的作者

@version指定源文件的版本

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,操作方式为:javadoc -d mydoc -author -version HelloWorld.java,其中mydoc为文件目录名