Chp1Java语言概述

1.人机交互方式

图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。

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


2.常用的DOS命令

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

md :   创建目录

rd :     删除目录

cd :    进入指定目录

cd.. :  退回到上一级目录

cd\:    退回到根目录

del :    删除文件

exit :   退出 dos 命令行


3.概述

第一代语言

打孔机——纯机器语言

第二代语言

汇编

第三代语言

CPascalFortran面向过程的语言

C++面向过程/面向对象

Java跨平台的纯面向对象的语言

.NET跨语言的平台


4.诞生与特性

java之父Jgosling团队在开发”Green”项目时,发现C缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。

SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。

Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言、C++语言完全相同。但同时,Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。

JDK1.5又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱。


5.特性

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

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

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

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

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

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

6.Java技术体系平台

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)运行在小内存设备(如智能卡)上的平台。

7.特点

特点一:面向对象

两个基本概念:类、对象

三大特性封装、继承、多态

特点二:健壮性

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

特点三:跨平台性

跨平台性:

通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”。

因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。

★原理:

只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。

8.Java两种核心机制

Java虚拟机(Java Virtal Machine

JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。

对于不同的平台,有不同的虚拟机。

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

spacer.gif


User-->字节码文件-->JVM-->OS-->HardWare


垃圾收集机制(Garbage Collection

不再使用的内存空间应回收—— 垃圾回收。

C/C++等语言中,由程序员负责回收无用内存。

Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储

空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

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

9.环境搭建

下载 JDK

安装 JDK

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

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)

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

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

简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

配置环境变量

配置方法:

我的电脑--属性--高级系统设置--环境变量

编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。

打开DOS命令行,任意目录下敲入javac如果出现javac 的参数信息,配置成功。

临时配置方式

通过dos命令中set命令完成

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

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

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

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


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

首先,通过%变量名%操作符获取到原有环境变量的值。

然后加上新值后再定义给该变量名即可

举例:给path环境变量加入新值

 set  path=新值;%path%

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


path

windows系统执行命令时要搜寻的路径。

classpath

java 在编译和运行时要找的 class 所在的路径。

验证是否成功:

Javac   java

版本查看:

Javac -version

选择合适的文本编辑器或 IDE 开发


10.JVMJREJDK 关系


11.注释

用于注解说明解释程序的文字就是注释。

提高了代码的阅读性;调试程序的重要方法。

Java中的注释类型:

2 单行注释

格式: //注释文字

2 多行注释

格式: /*  注释文字 */

对于单行和多行注释,被注释的文字,不会被JVMjava虚拟机)解释执行。

多行注释里面不允许有多行注释嵌套。

2 文档注释(java特有)

格式:/**

* @author  指定java程序的作者

*@version  指定源文件的版本

   *@param   方法的参数说明信息

   */

注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

注释是一个程序员必须要具有的良好编程习惯。

12.Java API文档

API Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。

13.Java开发工具

u 文本编辑工具:

    记事本                          UltraEdit

    EditPlus                         TextPad

u Java集成开发环境(IDE)

     IntelliJ IDEA                    Eclipse

     Jbuilder                        NetBean


14.Tips

Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本类中的HelloWorld类。

一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须按该类名命名。

Java语言严格区分大小写。