概览
Java是一种编写跨平台、面向对象的程序设计语言
标识符
由字母、数字、下划线和美元符号($)组成,且第一个字符不能为数字
字母(char)为Unicode标准字符集,但不推荐使用非英文字符(国际化)
不能为Java的关键字和保留字
区分大小写
基本数据类型
整数类型(byte、short、int、long)
分别为1字节、2字节、4字节、8字节
全部为是有符号
浮点类型(float、double)
字符型(char)
2字节
无符号
unicode
可以和整数类型混用
布尔型(boolean)
区别于数值类型,不能混用
数据类型
Java数据类型可分为基本数据类型和引用数据类型。
基本数据类型和C++类似,但有所区别
除了四类八种基本数据类型外,所有的类型都是引用数据类型(包括数组、类、接口、字符串等,即对象类型)。
基本数据类型变量本身就是一块内存空间,而引用数据类型类似于指针来间接引用其他内存空间。
变量和常量
基本和C++一致
变量必须先定义再使用;
Java用{}表示复合语句,复合语句可构成变量的作用域;
对于嵌套的复合语句,不能在内层定义和外层相同的局部变量,且它们使用相同的栈空间;
可以定义和全局变量(类属性)相同的局部变量(方法变量),局部变量将屏蔽全局变量;
常量定义用final(C++用const或者#define),通常编码规范要求使用大写标识符;
运算符
基本和C++一致,增加了短路逻辑运算符(&和|)和无符号按位右移(>>>),没有逗号运算符。
赋值运算符
算术运算符(+,-,*,/,%)
自增和自减运算符(++,—-)
比较运算符(关系运算符>,>=,
对引用对象进行比较时,是比较对象的地址(若要比较值,需要重载/调用equals方法)
逻辑运算符(!,&&,||,&,|)
&&和||为短路运算符
&和|为非短路运算符
位运算符
~,&,|,^,<>,>>>
>>>为无符号右移(Java的基本数值型都是有符号的)
三元运算符(即条件运算符?:)
运算优先级
与c++一致,“初单算移关,位逻条赋(逗)”,注意Java没有逗号运算符
代码注释
单行注释//
多行注释/* */
文档注释/** */
流程控制
Java的控制流程语法基本和C++一致。它使用复合语句可以为变量定义一个有效区域。通过使用if与switch语句,可以基于布尔类型的测试,将一个程序分为不同的部分。通过while、do...while循环语句和for循环语句,可以让程序的一部分重复地执行,直到满足某个循环的条件。
复合语句为{}内的单个或多个语句
for有两种用法
for(;;)和C++一致
for(变量类型 x: 要遍历的容器类型)
使用break可以提前终止循环
使用continue跳过当前循环后续操作进入下一循环
break和continue可以使用标签来跳到外层循环
flag: for (;;) {
for (;;) {
break flag; // or continue flag;
}
}
switch的case必须是整数常量或者字符常量
switch的case里没有break则将fall through
return提前结束方法
数组
数组是具有相同类型的一种数据的集合,按照维度可分为一维数组、二维数组和多维数组。可参考《Java数组总结》
字符串
字符串即String类,是Java中一个比较特俗的类,它不是Java的基本数据类型,却可以像基本数据类型一样使用。可参考《Java字符串总结》