Java学习笔记 :第三章:注释和数据类型
1.一个简单的Java应用程序:
public class Helloworld{
public static void main(String[] args) {
System.out.println("Hello world");
}
}
//1.所有的类在命名的时候一定要遵循大驼峰的定义规则
//2.Java区分大小写
//3.关键字public称为访问修饰符(access modifier),这些修饰符用于控制的具体类容。
//4.关键字class表示Java程序中的全部内容都包含在类中。
2.注释
//单行注释
/*多行注释
*/
/**
自动的生成文档
*/
在Java中/**/不能嵌套,也就是说,不能简单地把代码用/ * 和 * /包裹起来作为注释,因为这段代码的本身也有可能存在一个*/界定符
3.数据类型
Java是一种强类型的语言。必须为每一个变量声明一种类型。Java中共有8种基本类型,其中4种整形,2种浮点型,1种字符型;
Java一个能够表示任意精度的算术包,通常称为”大数“。虽然被称为大数,但是他不是Java的基本类型,而是一个Java的对象。
3.1整形
类型 | 存储需求 | 取值范围 |
---|---|---|
int | 4字节 | -2 147 483 648~2 147 483 647(刚刚超过20亿) |
short | 2字节 | -32 768~32 767 |
long | 8字节 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
byte | 1字节 | -128~127 |
长整型的数值有一个后缀L或”l“基本上都是大写的
3.2浮点类型
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | 大约±3.402 823 47E+38F(有效位数6~7位) |
double | 8字节 | 大约±1.797 693 134 862 315 70E+308(有效位数为15位) |
1.float类型的数值有一个后缀F或f。没有后缀的F的浮点数值总是默认为double类型。
2.所有浮点数值的计算都遵循IEEE 754规范。当出现正无穷大、负无穷大和**NaN(不是一个数字)**的情况时表示溢出或者出错的情况。
3.常量:Double.POSITIVE_INFINITY(正无穷大)、Double.NEGATIVE_INFINITY(负无穷大)和Double.NaN(NaN)分别表示这三个特殊的值。
4.浮点数值不适用于无法接受舍入误差的金融计算。
3.3char类型
1.char类型原本表示单个字符。但是现在有些Unicode字符则需要两个char值。
2.Unicode转义序列会在解析代码之前得到处理。例如,"\u0022+\u0022"并不是一个由引号(U+0022)包围加号构成的字符串。实际上\u0022会在解析之前转换为",这会得到""+"",也就是一个空串。
3.当心注释中的\u,会产生错误。例如:
1.//\u000A 后面跟任意字符都会产生一个语法错误
2.// look inside c:\users 也会产生错误因为\u后面并没有跟着4个十六进制数。
3.4Unicode和char类型
1.人们为了统一字符编码所以在1991年发布了Unicode 1.0;
2.从Java 5开始为了解决16位的char类型不能满足所以Unicode字符的需要做出了如下改动:
①.码点:是指一个编码表中的某个字符对应的代码值。
②在Unicode标准中,码点采用十六进制书写,并加上前缀U+;
③Unicode的码点可以分为17个代码平面。第一个代码平面称为基本多语言平面,包括码点从U+0000到U+FFFF的“金典”Unicode代码;其余的16个平面的码点为从U+10000到U+10FFFF,包括辅助字符;
④UTF-16编码采用不同长度的编码表示所有Unicode码点。在基本多语言平台中,每个字符用16位表示,通常称为代码单元;
⑤而辅助字符编码为一对连续的代码单元。采用这种编码对表示的各个值落入基本多语言平面中未用的2048个值范围内,通常称为替代区域。
3.在Java中,char类型描述了UTF-16编码中的一个代码单元。强烈建议不要在程序中使用char类型,除非确实需要处理UTF-16代码单元。最好将字符串作为抽象数据类型处理。
3.5 boolean类型
boolean(布尔)类型有二个值:false和true。用来判定逻辑条件,整形值和布尔值之间不能进行相互转换。