疯狂Java讲义读书笔记03 数据类型和运算符
Java语言语句的分割是用分号作为语句的分格。
Java程序允许一行书写多个语句,但为了可读性最好不要这样子
Java语句可以跨行书写,但是一个字符串、变量名不能跨行
方括号的作用主要是访问数组,方括号通常是紧跟数组变量名,而方括号里指定希望访问的元素索引
Java关键字:
Java语言中有一些具有特殊用途的单词称为关键字。
int boolean;
会报错,试图定义一个名为boolean的变量,但boolean是关键字,不能作为标识符
Java所有关键字都是小写,True,FALSE,NULL都不是Java关键字。
goto和const这两个关键字是保留字,Java有三个特殊的直接量 true、false、null

int是最常使用的是整数类型,因此在通常情况下,直接给出一个整数值默认就是int类型。除此之外,有以下两种情形必须指出。
如果直接将一个较小的整数值赋值给byte或short变量,系统会自动把这个整数值当成byte或者short类型来处理。
如果使用一个巨大的整数值,超过了int表数范围,Java不会自动将这个整数值当成long类型来处理,后面需要加L或者l,建议大写。
Java中整数值有四种表示方法:十进制、二进制、八进制、十六进制
其中二进制是0b或者0B开头,八进制以0开头,十六进制0X或0x开头。

Java没有提供字符串的基本数据类型,而是通过String类型来表示字符串,由于字符串由多个字符组成,因此字符串要使用双引号括起来。
Java的浮点类型有两种:float和double
Java的浮点类型有固定的表数范围和字段长度。
如果需要精确表示一个浮点数,则可以考虑使用BigDecimal类
float型数值1+8+23
double类型1+11+52
IEEE754
Java语言的浮点类型默认是double类型,如果希望表示float类型需要加f或F
Java还提供了三个特殊的浮点数值:正无穷大(POSITIVE_INFINITY)、负无穷大(NEGATIVE_INFINITY)和非数(NAN)
必须指出的是,所有的正无穷大数值都是相等的,所有的负无穷大数据都是相等的。而NAN不与任何数值相等的,甚至和NAN都不相等。
数值之间可以使用下划线分隔
虽然boolean类型的变量或者值只要1位即可以保存,但由于大部分计算机在分配内存时允许分配的最小单元是字节,所以大部分时候实际上上8位
Java所有的数值型变量可以互相转换,如果系统支持把某种基本类型的值直接赋值给另一种基本类型的变量,则这种方式称为自动类型转换。
当把一个表数范围校的值直接赋值给另一个表数范围大的变量时,系统可以进行自动类型转换,否则就需要强制转换。

强制类型转换可能会导致数据丢失,溢出

负数在计算机里都是以补码形式存在的,因此还需要换算成源码。
随机验证码可以先随机生成一个int,然后强制转换成char,再多次拼接字符串
通常情况下字符串不能直接转换成基本类型,但是可以通过基本类型对应的包装类可以实现把字符串转换成基本类型。

当一个算术表达式中包含多个基本类型的值时,整个算术表达式数据类型会自动提升。
直接量是指再程序中通过源码直接给出的值
如 int a =5
这个5就是一个直接量
Java支持三种类型的直接量:基本类型、字符串类型和null类型
关于字符串直接量有一点需要指出,当程序第一次使用某个直接量时,Java会使用常量池来缓存该字符串直接量,如果程序后面的部分需要用该字符串直接量时,Java会直接使用常量池中的字符串直接量。
常量池是指再编译器确定,并保存再.class文件中的一些数据,保活关于类、方法、接口中的常量,也包括字符串直接量。


浙公网安备 33010602011771号