是16位,其范围是0~65536, java中的char类型是16位,其范围是0~65536, 没有负数的char。 没有负数的char。
2.3.4 布尔型数据 布尔常量只有true和false两个取值。它表示 布尔常量只有true和false两个取值。它表示 逻辑的两种状态,true表示真,false表示假。 逻辑的两种状态,true表示真,false表示假。 注意,java中的布尔类型是一个独立的类型, 注意,java中的布尔类型是一个独立的类型, 不对应于任何整数值
,这一点和c 不对应于任何整数值,这一点和c语言中的 布尔值用0或非0 布尔值用0或非0来表示实完全不同的。
2.4 数据类型间的相互转换 在使用赋值运算时可能会遇到等号左边的 数据类型与等号右边的数据类型不一致的 情况。这时需要将等号右边的结果转换为 左边的数据类型,再赋值给左边的变量。 这时可能出现两种情况,一种是系统自动 转换,另一种必须使用强制转换。Java规定: 转换,另一种必须使用强制转换。Java规定: 将占用内存少的“短数据类型” 将占用内存少的“短数据类型”的数据转 化为占用内存多的“长数据类型” 化为占用内存多的“长数据类型”的数据, 系统将自动进行转换; 将“长数据类型”的数据转换为“短数据 长数据类型”的数据转换为“ 类型” 类型”的数据,必须使用强制转换。
2.4.1 自动类型转换(隐式转换) 要实现自动类型转换,需要同时满足两个 条件,第一是两种类型彼此兼容,第二是 目标类型的取值范围要大于源类型。例如, 当byte型向int型转换时,由于int型取值范围 byte型向int型转换时,由于int型取值范围 大于byte型,就会发生自动转换。所有的数 大于byte型,就会发生自动转换。所有的数 字类型,包括整型和浮点型彼此都可以进 行这样的转换。 请看下面的例子: byte b=3; int x=b;//没有问题,程序把b的结果自动转 x=b;//没有
问题,程序把b 换成int型了 换成int型了
2.4.2 强制类型转换(显式转换) 当两种类型彼此不兼容,或目标类型取值 范围小于源类型时,自动转换无法进行, 这时就需要进行强制类型转换。 格式:变量= 格式:变量=(数据类型)表达式 例如: byte a; int b; a=(byte)b; Case:OutputOfSimpleDataType
2.5 运算符和表达式 表达式是由操作数和运算符按一定的语法形式组 成的式子。一个常量或一个变量可以看做表达式 的特例,其值即该常量或变量的值。在表达式中, 表示各种不同运算的符号称为运算符,一般由一 至三个字符组成,但java将其视为一个符号。参与 至三个字符组成,但java将其视为一个符号。参与 运算的数据称为操作数。 运算符共分以下几种: 算术运算符 关系运算符 逻辑运算符 移位运算符 赋值运算符 条件运算符
2.5.1 算术运算符和算术表达式
“+”除字符串相加功能外,还能将字符串与其他 的数据类型相连成一个新的字符串,条件是表达 式中至少有一个字符串,如:“ +123;的结果 式中至少有一个字符串,如:“x”+123;的结果 是“x123”。 x123”
2.5.2 关系运算符和关系表达式 关系运算符也称比较运算符,是用于比较 两个数据之间的大小关系的运算符。结果 都是
boolean型的。 都是boolean型的。
2.5.3 逻辑运算符和逻辑表达式 逻辑运算符用于对boolean型结果的表达式进行运算,运行 逻辑运算符用于对boolean型结果的表达式进行运算,运行 的结果都是boolean型,如表所示 的结果都是boolean型,如表所示
“&;”和“&;&;”的区别在于,如果使用前者连接,那么无论 &;&;” 任何情况,“ 任何情况,“&;”两边的表达式都会参与计算。如果使用后 者连接,当“&;&;”的左边为false,则将不会计算右边的表 者连接,当“&;&;”的左边为false,则将不会计算右边的表 达式。 “|”和“||”的区别与