Java的特点
- 大小写敏感
- 所有应用程序都必须放在class中,类名必须以字母开头,命名规范中类名以大写字母开头,由单词组合的类名每个单词首字母都大写(骆驼命名法)
- Java源文件最多有一个public类,且文件名必须与此公共类同名,若源文件中没有public类,则文件与任一类同名即可
- 源文件中必须有且仅有一个main方法,运行编译后的程序时,java虚拟机从main方法开始执行
- java中所有“函数”都是某个类的方法,因此main方法必须有一个外壳类
- java是强类型语言,必须为每一个变量声明一种类型(强、弱类型即是否需要显示强制类型转换)
java数据类型
- boolean、char、byte、short、int、long、float、double
- boolean: true、false
- 整型没有unsigned类型,取值范围固定,与运行java代码的机器无关(可移植性)。
- 十六进制前缀0x,八进制前缀0,二进制前缀0b,长整型long后缀L,float后缀F,没有后缀F的浮点数值默认为double型,double也可以加上后缀D。
- 数据类型之间的转换:实心箭头表示无信息丢失的转换;虚箭头表示可能有精度损失的转换
- 除以上自动转换外,还可以强制类型转换cast:int a=(int) double_b; cast是截断转换
- 特殊浮点数值:正无穷大Double_POSITIVE_INFINITY、负无穷大Double.NEGATIVE_JNFINITY 、Double.NaN。检测特定数值x是否等于Double.NaN:if(Double.isNaN(x));
- java变量名是以字母开头的字母或数字构成的序列,这里的字母包括所有代表字母的Unicode字符,除了
和空格,可以使用Character类的isJavaIdentifierStart()和isJavaIdentifierPart()方法检测是否数据Java的字母。
- final用于声明常量,常量表示只能赋值一次。
java运算符
- java不使用逗号运算符(但for语句中可用于分隔表达式)
字符串
- java没有内置字符串类型,但java类库提供了预定义类String,其实例为“”括起来的字符串,是不可变字符串。
- str.substring(a,b):取字符串str中索引[a,b)的子串
- +:拼接,字符串+字符串;字符串+非字符串(任意java对象都可自动转为字符串)
- 不可变:String类没有修改字符串的方法,不能修改指定位置的字符,要改变字符串变量的内容需要经过子串提取和拼接等组合操作
- str1.equals(str2):判断字符串str1,str2是否相等
- str1.equalsIgnoreCase(str2):忽略字符串大小写判断相等
- 检查空串””——长度为0的字符串:
- if(str.length()==0)
- if(str.equals(“”))
- null串——值为null,还没有关联任何对象的字符串:if(str==null)
- 要检查串既不是null也不是空串时,先检查null,因为串不为null才可以调用方法:if(str!=null&&str.length()!=0)
- String类包含很多方法,在线API文档可以查阅其方法以及标准库中的其他类
代码点、代码单元
-
代码点:Code Point. (1) Any value in the Unicode codespace; that is, the range of integers from 0 to 10FFFF16. (2) A value, or position, for a character, in any coded character set.
- Unicode编码空间的值
-
代码单元:Code Unit. The minimal bit combination that can represent a unit of encoded text for processing or interchange. The Unicode Standard uses 8-bit code units in the UTF-8 encoding form, 16-bit code units in the UTF-16 encoding form, and 32-bit code units in the UTF-32 encoding form.
- 处理或交换时用于表示已编码文本单元的最小比特组合。UTF-8用8bit,UTF-16用16bit,UTF-32用32bit