JAVA 基本类型
2.1 8种基本数据类型
2.1.1 【8种基本数据类型】,分别用于存储整数、浮点数、字符数据和布尔型数据(true\false)。
2.2 int类型
2.2.1 【int类型】int是最常用的整数类型。
一个int类型的变量占用4个字节(32位),最大表示范围为:-2^31--2^31-1,即-2147483648 -- 2147483647。
Int a = 1000000000000000000;//编译错误,数值超过了int的表达范围。
2.2.2 【int类型】整数直接量是int类型
所谓整数直接量就是直接写出的整数。例如:int a = 100;
关于整数直接量,需要注意几点:
整数的直接量的类型默认是int类型,如果自己写出的整数超过了int的表达范围,将出现编译错误。
除了通常的十进制书写形式,整数直接量也经常写16进制的形式(以0X或者0x开头)或者8进制的形式(以0开头)。
int a = 100000;//10进制
int b = 0x186a0;//16进制
int c = 0303240;//8进制
2.2.3 【int类型】整数数据的除法运算中的取整
两个整数相除,会舍弃小数的部分(不是四舍五入),结果也是整数。
int c = 5/3;
System.out.printLn(c); //c的值为1 。
int total = 87;
int error = 23;
int percent = error / total * 100;
System.out.printLn(percent + “%”);//结果为0%,23除以87整数部分为0。
percent = 100 * error / total;
System.out.printLn(percent + “%”);//结果为26%,230除以87整数部分为26。
2.2.4 【int类型】 运算时要防止溢出发生
整数运算的溢出:两个整数运算时,结果可能会超过整数范围而溢出。正数过大而产生的溢出,结果为负数;负数过大而产生的溢出,结果为正数。
int a = 2147483647;
int b = -2147483648;
a = a + 1;
b = b - 1;
System.out.printLn(“a=”+ a);//a = -2147483648,溢出结果错误。
System.out.printLn(“b=”+ b);//b = 2147483647,溢出结果错误。
2.3 long类型
2.3.1 【long类型】
在表示整数时,如果int类型范围不够,可以用long型,一个long型的变量占用8个字节(64位),最大表示范围为:-2^63 -- 2^63-1,即-9223372036854775808 -- 9223372036854775807。
如果要表示long直接量,需要以L或l结尾。
long a = 10000000000; //编译错误。
long b = 10000000000L;
2.3.2 【long类型】使用long类型进行较大整数的运算
long distance1 = 10000*365*24*60*60*299792458L;//必须有一个long型数据参与运算结果才是long。
System.out.printLn(“distance1 =”+ distance1 );//distance1 = 547836957965889536结果正确。
long distance2 = 10000*365*24*60*60*299792458;
System.out.printLn(“distance2 =”+ distance2 );//distance2 = -1973211136溢出。
2.3.3【long类型】通过时间毫秒数来存储日期和时间
JDK提供System.currentTimeMillis()方法,返回1970.1.1.0时到此时此刻经历的毫秒数,其数据类型为long,该方法经常用于计时操作。
long time = System.currentTimeMillis();
System.out.printLn(time);//1383835712828
2.4 double类型
2.4.1【double类型】使用double进行浮点数运算
l 浮点数,就是小数,包括:float和double
l double类型的精度值是float类型的2倍,也称之为双精度。
l 大多数场合使用double表示浮点数。
double pi = 3.14;
double r = 8;
double s = pi*r*r;
System.out.println(“s=”+s);//s=200.96
2.4.2【double类型】浮点数直接量是double类型
l 两种写法:通常写法:3.14、0.1、.5、
科学计数法:1.25E2、1.25e2、1.25E-2。其中1.25E2表示1.25*10的2次方。
l 默认的浮点直接量为double型,如果需要表示float类型的直接量,需要加f或F后缀,例
float f1 = 3.14F;
2.4.3【double类型】double运算时会出现舍入误差
2进制系统无法精确表示1/10,十进制系统无法精确表示1/3。所以2进制表示10进制会有舍入误差。
double money = 3.0;
double price = 2.9;
System.out.println(money - price);//0.10000000000000009。
如果需要精确的运算需要采用BigDecimal类来实现。
2.5 char类型
2.5.1 【char类型】
l 字符类型实际上是一个16位无符号整数,这个值对应字符编码。
l JAVA字符类型采用Unicode字符集编码,所有的字符都是16位。
l 字符直接量可以采用如:’中’的形式,也可以采用16进制的表达形式,如:‘\u4e2d’。
char c1 = ‘中’;
char c2 = ‘\u4e2d’;
System.out.println(c1);
System.out.println(c2);
2.5.2 【char类型】对char类型变量赋值
字符直接量:char c3 = ‘A’;
整数直接量:char c4 = ‘65’;
Unicode形式:char c5 = ‘\u0041’;
2.5.3【char类型】使用转义字符
对于不方便输出的字符采用转义字符表示
char c = ‘\\’;
System.out.println(c);//输出的结果是 \ 。
2.6 boolean类型、布尔
2.6.1【boolean类型】使用boolean变量进行关系运算
l boolean类型适用于逻辑运算,表示某个条件是否成立,一般用于程序的流程控制。
l boolean类型只允许取值true(条件成立)或false(条件不成立)。
l boolean类型变量经常用于存储关系运算的结果,即比较两个变量大小相等等关系。
int age = 18;
Boolean isChild = age<16;
System.out.println(‘’isChild=’isChild);//isChild的值为false。
原文:https://www.cnblogs.com/wyj1997/p/14661921.html