Java中的变量
2018-07-16 本文已影响0人
carrot_4d8d
-
命名规范
Java的变量以字母开头,由字母和数字组成,大小写敏感,变量名长度基本无限制
-
变量初始化
Java允许将声明放在代码的任何地方
-
常量
final声明的变量为常量,表示只能被赋值一次
希望某常量在类中多个方法使用,这种常量称为类常量,使用关键字static final设置一个类常量
-
除法
整数除以0,会产生一个异常
浮点数除以0,会得到一个无穷大或者NaN结果
-
移位运算
>>>运算符用0填充高位,>>运算符用符号位填充高位,不存在<<<运算符
-
String为不可变字符串
不能修改字符串中的字符,但可通过以下方法拼接替换:
String greeting = "Hello";
greeting = greeting.substring(0,3)+"p!"; //greeting = "Help!"
虽然不能修改字符串内容,但可让greeting引用另一个字符串。
Java的不可变字符串有一个优点:编译器可让字符串共享。各种公共字符串存放在公共的存储池,如果复制一个字符串变量,原始与复制的都共享相同的字符串,即指向相同位置。
字符串的equals和==
equals比较的是字符串的内容
==比较的是字符串是否存放在相同位置
因此不要用==比较字符串是否相等!
实际上只有字符串常量是共享的,而+或substring产生的不是共享的
比较两字符串是否相等而不区分大小写使用:xx.equalsIgnoreCase("xx")
构建字符串
由于String是不可变字符串,因此由较短字符串构建字符串,每次连接字符串,都会构建一个新的String,浪费空间,使用StringBuffer可以解决这个问题。
StringBuilder sb = new StringBuilder();
sb.append('a');
sb.append("hello");
-
代码点与代码单元
由于char不足以表示所有字符,因此使用1至2个代码单元表示一个代码点。