基础简介
一、发展历史
1991年。James Gosling在SUN公司的工程师小组想要设计这样一种小型计算机语言。
该语言主要用于像电视盒这样的消费类电子产品。
另外,由于不同的厂商选择不同的CPU和操作系统,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。
所以,将这个语言命名为"Green" , 类似于绿色软件的意思。后来,改名为Oak ,橡树的意思。改名后发现已经有一种语言叫这个名字了,再改名叫Java。
- Java语言发展到今天经历了一系列的过程
1991年, SUN公司的Green项目, Oak
1995年,推出Java测试版
1996年, JDK1.0
1997年, JDK1.1
1998年,DK1.2大大改进了早期版本缺陷,是一个革命性的版本,更名为Java2。
2004年, J2SE 5.0 (1.5.0) Tiger老虎
2006年, J2SE 6.0 (1.6.0) Mustang野马
2011年, JavaSE7.0 Dolphin海豚
2014年, JavaSE8.0
二、版本
版本
-
JavaSE
(Java Standard Edition) 标准版,定位在个人计算机上的应用。(短板) -
JavaEE
(Java Enterprise Edition) :企业版,定位在服务器端的应用。 -
JavaME
(Java Micro Edition) :微型版,定位在消费性电子产品的应用。(不是主流)
三、特性与优势
Java的核心优势是 跨平台/可移植性
-
跨平台/可移植性
Java的核心优势。比如: Java的int永远都是32位。不像C+ +可能是16, 32 ,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。 -
安全性
Java适合于网络/分布式环境,Java可以很容易构建防病毒,防篡改的系统。 -
面向对象
面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C ,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性! Java则是完全的面向对象语言。 -
简单性
Java就是C + +语法的简化版,我们也可以将Java称之为"C+±" 。指的就是将C++的一些内容去掉, 比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时语法基于C语言。 -
高性能
客观上,高级语言运行效率总是低于低级语言的,这个无法避免。但Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(UST IN TIME)即时编译技术提高运行效率。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,某些代码甚至接待C++的效率。 -
分布式
Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。 Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。 -
多线程
多线程的使用可以带来更好的交互响应和实时行为。Java多线程的简单性 是Java成为主流服务器端开发语言的主要原因之一。 -
健壮性
Java是一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。即使Java程序也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。
四、运行机制
计算机高级语言的类型主要有编译型和解释型两种而Java语言是两种类型的结合。
Java首先利用文本编辑器编写Java源程序,源文件的后缀名为java ;
再利用编译器( javac )将源程序编译成字节码文件,字节码文件的后缀名为.class ;最后利用虚拟机(解释器, java )解释执行。(Java通过JVM/JRE来和系统平台打交道)
- 例
- 名词解释
-
JVM
(Java Virtual Machine)就是一个虚拟的用于执行bytecode字节码的”虚拟计算机“。 -
JRE
Java Runtime Environment 包文件。含: Java虚拟机、库函数、运行Java应用程序所必须的文件。 -
JDK
Java Development Kit 包含JRE ,以及增加编译器和调试路等用于程序开发的文件。 -
例
-
五、编译运行
-
编译:javac 源文件名 .java
打开命令行窗口,进入Java文件所在目录,执行命令,生成class文件
-
运行:java 类名
注意:文件名和类名(不是公共类)可以是不一样的
六、常见DOS命令
- 常用Java开发工具
七、一个简单的Java程序
一个 Java 程序可以认为是一系列对象的集合,这些对象通过调用彼此的方法来协同工作。
- 例
- 注意
- 大小写敏感:Java 大小写敏感。
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
- 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
- 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
八、Java成员组
- Java 标识符
类名、变量名以及方法名都被称为标识符。- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- Java修饰符
Java可以使用修饰符来修饰类中方法和属性。- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, static, synchronized
- Java 变量
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
- Java 数组
数组是储存在堆上的对象,可以保存多个同类型变量。 - Java 关键字
- Java 注释
/** * 程序前的注释 * @author DSTBP * */ /*多行注释*/ // 单行注释