Java发展史
Ø 上世纪90年代,创始人gosling,oak
Ø 96年,JDK1.0诞生
Ø 79年,JDK1.1发布
Ø 98年,Java2 企业版平台J2EE发布
Ø 99年,标准版J2SE,企业版J2EE,微型版J2ME
Ø 2004年,JavaSE5.0发布
Ø 2006年,JavaSE6.0发布
Ø 2009年,JavaEE6发布
Ø 2011年,JavaSE7发布
Ø 2014年,JavaSE8发布
编译型与解释型
高级语言执行方式分为两种:一种是编译型,一种是解释型。
编译型:将高级语言一次性翻译成机器代码,可以脱离开发运行环境运行,通常运行效率比较高。但是难以移植,C/C++、Pascal属于编译型语言。
解释型:用特定的解释器对源代码逐行解释成机器代码并立即执行,不会进行整体的编译和链接处理。效率低,但是跨平台比较容易。Ruby、Python都属于解释型语言。
JavaSE概念图
Java基本数据类型
Java是一种强制类型语言(stronglytyped language),这就意味着必须为每一个变量声明一种类型。在Java中共有8种基本类型(primitive type),其4个整形、2个浮点类型、一个用于表示Unicode编码的字符单元的字符类型char、一个布尔(boolean)型。
Java中还有一种表示任意精度的算术包,通常称为大数值。
整数
Java语言整数常量(字面量)的表示形式:
u 十进制整数,如:12,-23,0。
u 八进制整数,要求以O开头,如012;容易混淆,建议最好不要使用。
u 十六进制数,要求Ox或OX开头,如:Ox12=0001_0010=18。
u 整型常量默认为int型,long型常量加‘l’或‘L’。
u Java7开始,加前缀Ob就可以写二进制数,例如Ob1001就是9。
u Java7开始。数字子面量可以加下划线一遍于阅读,如1_000_000就是一百万。
Java跨平台原因之一
C或者C++中int表示的整型与目标平台相关,16位处理器上int占2个字节,32位处理器上int占4发个字节,因此有sizof这样的运算符。
Java中,所有的数值类型占据的字节数量与平台无关。
字符
字符字面值是用单引号括起来的单个字符,如‘中’,‘A’。
也可以直接用‘\u四位16进制数’表示,四位16进制数占16位二进制空间,所以通常一个字符占两个字节(16bit),但是形如‘\u2122’的表示法晦涩难懂,一般不用。
无符号的2byte可以表示2^15个字符即65536个(\u0000~\uFFFF),但是现在全世界的字符已经超过这个数目了,所以在Java中一个字符可能占2个字节也可能占四个字节。
我们强烈建议不要在程序中使用char类型,除非确实需要对utf-16代码单元(2字节一个单元)进行操作,否则用字符串进行处理。
转义字符