javase-基本数据类型
2017-08-21 09:22
218 查看
8大基本数据类型
数值型:
一.byte字节型(8bit)二.short短整型(2byte)
三.int整型(4byte)
1.整数默认类型。
四.long长整型(8byte)
1.定义长整型要在数字后加l。
五.double双精度型(8byte)
1.小数默认类型。
2.计算机是二进制存储的,显示值与存储值有时会不同,表示小数时有误差。
显示值与存储值相等的规律:
有一个小于 1 的小数 d ,如果满足 d*2∧n = 1 则 d 的 显示值 等于 储存值 。( n 为正整数) 。
import java.math.BigDecimal; /** * date:2017年7月28日10:07:34 * target:浮点数的显示值,存储值,精确计算。 * @author ypy */ public class Float_2{ public static void main(String[] args) { BigDecimal a1 = new BigDecimal(0.4); BigDecimal a2 = new BigDecimal(0.2); System.out.println(a1);//得到存储值 System.out.println(a2); System.out.println(); System.out.println(0.4+0.2);//计算时用存储值计算,计算完的值在对应的区间会有一个存储值,显示的是其显示值 System.out.println(0.4-0.2); System.out.println(0.4*0.2); System.out.println(0.4/0.2); System.out.println(); //精确计算浮点数 但效率低 BigDecimal b1 = new BigDecimal("0.4"); BigDecimal b2 = new BigDecimal("0.2"); System.out.println(b1.add(b2)); System.out.println(b1.subtract(b2)); System.out.println(b1.multiply(b2)); System.out.println(b1.divide(b2)); } } /* ***************JDK1.8运行结果**************** 0.40000000000000002220446049250313080847263336181640625 0.200000000000000011102230246251565404236316680908203125 0.6000000000000001 0.2 0.08000000000000002 2.0 0.6 0.2 0.08 2 */
3.浮点数的比较
/** * date:2017年7月28日10:45:39 * target:浮点数的比较。 * conclusion:比较浮点数尽量避免用"=="、"!=",而用">="...等代替。 * @author ypy */ public class Float_3 { public static void main(String[] args) { float a = 10.2222219f; float b = 10.2222222f; float c = 0.000f; System.out.println(Math.abs(c)<=0.000001);//比较浮点数与0,0.000001表示精度,表示误差在该精度范围内相等 System.out.println(); //比较两个浮点数是否相等 System.out.println(a==b);//因为a和b都超出精度,超出精度的会略去,对剩下的部分进行处理, //而处理后剩下的部分相等,所以判断相等,与事实不符,计算金钱等 需要精确计算 System.out.println(4.9f==4.9);// System.out.println(Math.abs(4.9f-4.9)<=1e-6); } } /* ***************JDK1.8运行结果**************** true true false true */
六.float浮点型(4byte)
1.定义浮点型在数字后加f。
如:float f = 1;编译不报错,因为1是整型的,当转换为float时,存在一个隐试转换,不损失精度。(float范围比int大)
float f = 1.0; 编译报错,因为1.0默认为double,会损失精度(double范围比float大)
字符型:
七.char字符型(2byte,采用Unicode编码,可存储汉字)布尔型:
八.boolean布尔型(1byte)1.if语句中只可以是Boolean类型的,不能是其他类型,如if(1)就是错误的。
相关文章推荐
- JavaSE_2th_标识符、关键字、基本数据类型、类型转换、变量和常量
- JAVASE之基本数据类型的封装
- JAVASE--JAR包、基本数据类型对象包装类、日期和时间
- JAVASE学习笔记:第二章 JAVA基本数据类型
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(3)-- 基本数据类型的默认值
- [javase学习笔记]-6.6 基本数据类型參数与引用数据类型參数的传递过程
- JavaSE 一 基本数据类型
- [javase学习笔记]-6.6 基本数据类型参数与引用数据类型参数的传递过程
- [javaSE] 基本数据类型对象包装类
- JavaSE基础(基本数据类型)
- JavaSe基础(23)-- 基本数据类型的包装类
- JAVASE中的数据基本类型相关
- JavaSE基本数据类型
- 【JavaSE系列-基础篇6】——变量基本数据类型
- javaSE学习02_java基本数据类型
- JavaSE 高级 第1节 基本数据类型的封装类
- JavaSE 复习:基本数据类型
- 小静的心路历程--javase基础语法第一章--方法的参数是基本数据类型和引用类型
- 小静的心路历程--javase基础语法第一章--基本语法之引用数据类型
- JavaSe基础XX16——API对象-基本数据类型对象包装类