文章参考Java疯狂讲义(第3版),是对其三、四章琐碎且麻烦的知识点的整理。
1.一行可以书写多条语句,一个语句可以跨多行,但字符串和变量名不能跨行。
2.标识符由字母数字下划线和美元符组成,数字不能打头。
3.Java关键字小写。
4.支持的语言类型分为基本类型和引用类型。基本类型分为boolean类型和数值类型,数值类型包括byte,short,int,long,char,float,double.
5字符型表示形式:通过单个字符表示;通过转义字符表示那些无法用键盘打出来的字符;通过Unicode编码。
6.浮点数除以0(或0.0, 因为自动类型转换,所以效果一样)会得到正无穷大或负无穷大,整数除以0抛出除以0异常,0.0除以0.0得到非数。所有的正无穷大是相同的,所有的非数是不相同的。
7.boolean类型数值是true或false,其他基本数据类型的值不能转换成boolean类型,即不能用0或者非0代表。
8。%取余运算符:它的计算结果是使用第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数。如果除法结果是无穷大或非数,则余数是NaN.
9.赋值表达式是有值的,因此支持连续赋值。
10.位运算符一般只能操作整数类型的变量或值。如果被移位的二进制码没有发生有效位的数字丢失(正数而言通常指被移除的为全部都是0)左移n位相当于乘2的n次方,右移n位相当于除以2的n次方。进行移位运算不会改变操作数本身,只是得到了一个新的运算结果。
11。==和!=运算符:如果进行比较的两个操作数都是数值类型,即使他们的数据类型不相同,只要他们的值相等,也都将返回true,如果两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,而且这两个引用必须指向同一个对象才会返回true。关于包装类实例的比较稍后讨论。
12.如果if后有多条语句作为条件执行体,且有else语句,若省略了条件执行体的花括号,则else没有与匹配的if语句,编译出错。
13.switch语句后面的控制表达式的数据类型只能是整数、枚举类型和String。case后面代码块的花括号可以省略。
14.与while循环不同的是, do while循环的循环条件后必须有一个分号,这个分号表明循环结束。
15.数组是引用类型,一维数组的声明type[] name;。数组的静态初始化name=new type[]{e1,e2,e3};或者简化的语法格式name={e1,e2,e3};动态初始化为name= new type[length];系统自动分配初始值。两种初始化不要混用,编译出错。
16.二维数组是数组的数组,因此动态初始化可以先指定行数,即name = new type[length][],相当于先创建一个长度为length的一维数组,数组中的每个元素name[i]都是一个引用类型,即type[],初始化为null.