本来对于这些介绍性的话确实没有做个总结的必要,但是看到本章的第一段不得不感叹国外对编程语言的重视,而且还是在90年代的时候。书中提到,Java
的出现在国外引起了非常大的轰动,某著名平台还花了10分钟来介绍 Java
,并且 Java
还得到了一亿美元的风险投资基金。这些基金全部用来支持 Java
开发产品。
Java
设计者编写的白皮书用于解释设计的初衷以及完成的情况,并且发布了一个简短的摘要。这个摘要就是下面的 11 个关键字:
从语法上看,Java
可以说是 C++
的一个纯净版本,因为 Java
提出了 C++
中很少使用、难以理解、易混淆的特性。在 Java
中没有了头文件、指针运算、结构、联合、操作符重载、虚基类等。
简单的另一方面是小。Java
的目标之一是支持开发能够在小型机器上独立运行的软件。基本的解释器以及类支持大约为40K,再加上基础的标准类库和对线程的支持大于需要增加175K。
所以,简单性可以从两个方面理解,一方面是针对 C++
而言的,剔除了复杂的语法;另一方面是针对体积而言的。
面向对象设计时一种程序设计技术,一种编程思想或者说是解决问题的方式。它的重点是数据和对象的接口。
Java
有一个丰富的例程库,用于处理像 HTTP
和 FTP
之类的协议。Java
应用程序能够通过 URL
打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
Java
的设计目标之一在于使得 Java
编写的程序具有可靠性。
Java
适用于网络/分布式环境。在安全方面投入了很大精力。使用 Java
可以构建防病毒、防篡改的系统。
public class FirstSample{
public static void main(String[] args){
System.out.println("Hello Java");//注释内容
}
}
通过上面这段代码进行如下总结:
- 严格区分大小写
public
是Java
中的一个关键字,访问修饰符的一种,用于控制程序的其他部分对这段代码的访问级别(后面详细介绍)。class
也是Java
中的关键字,用于声明一个类。FirstSample
是类名,类名是开发者自定义的,但是要遵循大驼峰命名法;此外,使用public
声明的类必须与源文件名一致- 运行已编译的程序时,虚拟机将从指定类中的
main
方法开始执行。 System.out.println("Hello Java");
是常用的输出语句,表示在终端中输入内容并换行。- 单行注释:// 多行注释:/**/
Java
是一种强类型语言。这就意味着必须为每个变量声明一种类型。在 Java
中,一共有8种基本类型,其中有4种整型、2种浮点类型、1种用于表示 Unicode
编码的字符类型 char
和1种用于表示真值的 boolean
类型。
整型用于表示没有小数部分的数值,允许是负数。Java
提供了4种类型用于表示整型数据。
- 长整型数值后面需要带后缀
L
或l
- 默认数值为十进制的
int
类型 - 八进制以 0b 开头,十六进制以 0x 开头
- 可以为数字字面量添加下划线增强可读性,例如:1_000_000 。这些下划线只是为了增加可读性,编译器会将这些下划线去除掉。
浮点类型用于表示有小数部分的数值。
-
默认浮点数为
double
类型 -
float
类型的数值后面需要带上后缀f
或F
-
用于表示溢出和出错情况的特殊值:
- 使用常量
Double.POSITIVE_INFINITY
表示正无穷大,具体值为Infinity
- 使用常量
Double.NEGATIVE_INFINITY
负无穷大,具体值为-Infinity
- 使用常量
Double.NaN
表示非法数值,具体值为NaN
- 使用常量
-
浮点数的运算还是存在精度问题,如果需要精确的运算,则不能使用浮点值,而是大数值。
char
类型原本用于表示单个字符。不过,现在情况并不是这样的,有些 Unicode
字符则需要两个 char
值。char
类型的字面量值要用单引号括起来。
boolean
类型只有两个值:true
和 false
,用于判断逻辑条件。在 Java
中,数值与布尔值不能进行转换。
在 Java
中,每个变量都有一个类型,在声明变量时,变量的类型位于变量名之前。例如:
double salary;
boolean done;
int x;
- 变量名遵循小驼峰命名,可以使用大小写字母、数字、下划线以及 $ ,但不能以数字开头。
- 若使用未初始化的变量,则会报错。
在 Java
中,利用关键字 final
指示常量:
find double PI = 3.14;
关键字 final
表示这个变量只能被赋值一次,一旦初始化后,就不能进行修改了。在习惯上,常量名一般使用大写字母,多个单词之间通过下划线连接。