Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言和Java平台的总称。
Java平台由Java虚拟机(JVM)和Java 应用编程接口(Java API)构成。
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节。
Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
JDK的最重要命令行工具:
java: 启动JVM执行class
javac: Java编译器
jar: Java打包工具
javadoc: Java文档生成器
二、 Java API
Java API是应用编程接口,是一种规范。
Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。
运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。
三、 Java 关键字
所有的关键字都是小写的。
1.基本类型值(3):true,false,null.
2.基本数据类型(8):byte,boolean,short,char,int,long,float,double.
3.控制语句(11):
循环(5):for,do,while,break,continue.
条件(6):if,else,switch,case,default,return.
4.访问控制(3):private,protected,public.
5.类,方法和变量修饰符(12):abstract,class,extends,final,implements,
interface,native,new,static,synchronized,transient,volatile.
6.错误处理(5):catch,finally,throw,throws,try.
7.包相关(2):import,package.
8.变量引用(3):super,this,void.
9.其他(1):instanceof
四、 Java基本数据类型
Java语言提供了八种基本类型。基本类型存储在栈中,因此它们的存取速度要快于存储在堆中的对应包装类的实例对象。
1、整数:包括int,short,byte,long
2、浮点型:float,double
3、字符:char
4、布尔:boolean
五、 Java基本概念
封装:就是把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程。
抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。
final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。
包:Java中的包是相关类和接口的集合,创建包须使用关键字package。
多态类:在java中,对象变量是多态的。而java中不支持多重继承。
接口:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
Java中的每一个类都是从Object类扩展而来的。
object类中的equal和toString方法。
equal用于测试一个对象是否同另一个对象相等。
toString返回一个代表该对象的字符串,每一个类都会从Object类继承该方法,有些类重写了该方法,以便返回当前状态的正确表示。
(toString 方法是一个很重要的方法)
通用编程:任何类类型的所有值都可以同object类型的变量来代替。
重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须挑选出调用哪个方法进行编译。
重写:也可称为方法的“覆盖。”在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。值得注意的是,子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明。
数组列表:ArrayList动态数组列表,是一个类库,定义在java.util包中,可自动调节数组的大小。
class类 object类中的getclass方法返回class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。
(1) Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变.而C语言通过malloc()和free()这两个库函数来分别实现分配内在和释放内存空间的,C++语言中则通过运算符new和delete来分配和释放内存.
(2) Java不支持头文件,而C和C++语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂.
(3) Java对每种数据类型都分配固定长度,不会随着机器硬件环境或者操作系统的改变而改变。比如,在Java中,int类型总是32位的,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即16位,而在VAX-11中,则为32位.这使得C语言造成不可移植性,而Java则具有跨平台性(平台无关性).
原文地址:https://www.cnblogs.com/techome16/p/11638456.html