java----基本数据类型精度的研究与使用(char,byte,int等)

来源:互联网 发布:如何查看网址的端口号 编辑:程序博客网 时间:2024/06/16 15:57

java----基本数据类型精度的研究与使用

1.java基本数据类型精度表

    byte--short--int--long--float--double
    1           2       4         8     4           8  (这里是字节数)
   char两字节   char比较特殊,不参与精度排序, 精度大于int 小于long,byte与short精度大于char
   或许这里Java大师为了便利于数字与字符进行转换进行了
   所以char是一个特例

2.java参与运算的类型

               java中的参与基本运算的数据类型只有 int和 double (如果没有标注的话,例如float类型标注为 3.14f
  long类型的标注为777l  等)所有的基本类型都要转化成这两种

3.测试实例

//低精度到高精度转换  直接转换
//byte--int
byte a=1;
int b=a;
//高精度到低精度转换  强制转换(加上转化类型)
long aa=233232;
int bb=(int)aa;
//直接参与运算的基本数据类型只有 int和 double,另外byte,char,short参与运算会自动转为int
byte b1=3,b2=5;
//这里会报错,因为b1与b2参与运算会自动转化为int,必须强制转型
byte aaa=b1+b2;
//这样是对的
byte aaaa=(byte)(b1+b2);
//这里只要是有浮点类型的常量,会自动默认类型为double类型的,所以报错;
float f1=3.16+3.18;
//这样是对的
float f2=3.16f+8.1f;
//与byte b=3+5区别开来,这里的常量是可以直接用的,java对于整形数字并没有规定太多
//下面是对char精度的研究与使用
char c1='b';
int i1=66;
char c2=(char)i1;
//这里把char字符转化为int bbb 所以int精度小于char
int bbb=c1;
//报错, 这里把long数据转化为char,所以char精度小于long
char c1=5L;

//byte与short转换char 这里要强转化为char,所以精度小于char
byte b3=56;
char c22=(char)b3;
short s1=78;
char c33=(char)s1;

总结:

1.
  byte--short--int--long--float--double
  1           2        4       8          4           8  (这里是字节数)
  char比较特殊,不参与精度排序char两字节   精度大于int 小于long,byte与short精度大于char
2.
        低精度----高精度可以直接转(高精度占位多,更精确,当然可以装的下小盒子),
        高精度-----低精度要进行强制装换(也就是压缩成更小的盒子装里面去,会损失精度)
3.
      直接参与运算的基本数据类型只有 int和 double,另外byte,char,short参与运算会自动转为int
       有浮点类型的常量,会自动默认类型为double类型的

阅读全文
0 0
原创粉丝点击