java基础知识–数据类型
计算机时识别不了我们编写的代码语言,计算机中的数据全部采用二进制表示,即0和1表示的数字,每一个0或者1就是一个位,一个位叫做一个bit(比特)。(实际上计算机只能识别高低电平,而不是0和1。)
字节是计算机中最小的存储单位,8个bit表示一个字节,计算机中的任何数据都是以字节进行存储。
●8bit=1 B
●1024B=1 KB
●1024KB=1MB
●1024 MB=1 GB
●1024GB= 1 TB
… …
基本数据类型(四类<整数型、浮点型、字符型、布尔型>八种<byte、short、int、long、float、double、boolean、char>):
注意:①java中的默认类型:整数型默认int,浮点类型默认double。
②单精度浮点数float精确到小数点后7位,双精度浮点数double精确到小数点后15位。
引用数据类型–String、类、接口、数组… …
数据类型转换:
①自动转换(java虚拟机自动执行):将取值范围小的类型自动提升为取值范围大的类型。(如byte/short/char运算时直接提升为int)
byte、short、 char –> int –> long –> float –> double
②强制转换(手动执行):将取值范围大的类型强制转换为取值范围小的类型。
转换格式:数据类型变量名 = (数据类型) 被转数据值;
注意:● 浮点转成整数,直接取消小数点,可能造成数据损失精度。
● int强制转成short砍掉2个字节,可能造成数据丢失(数据溢出)。
运算符:
算数运算符:①整数的除数不能为0,负责报java.lang.ArithmeticException算术运算异常;
②浮点数的除数可以为0,因为被除数为浮点型,此时虚拟机会将除数作自动向上转型,而使得除数趋于无穷小,使得结果趋于无穷大Infinity;
③取余运算中的符号由被除数的符号决定。如-10%3 = -1;10%-3 = 1。
赋值运算符(数据类型向下转换时,虚拟机会强制转换。如short s =1;s += 1;结果是没有问题的,因为 += 是一个运算符,只执行一次运算,并带有强制转换的特点。):
比较运算符:
逻辑运算符:
三元运算符:
面试题:下面的程序有问题吗: