本章主要内容:
常用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
开发步骤:编写à编译à运行
编写
将Java代码编写到扩展名为.java的文件(源文件)中,如HelloWorld.java。
编译
在源文件所在的目录下,执行javac.exe 源文件名.java命令对源文件进行编译,即生成若干个JVM可以识别的以.class结尾的字节码文件。
运行
通过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为文件目录名