1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java基本数据类型 byte short int long float double char的范围和运算中注意的事项(详细)

java基本数据类型 byte short int long float double char的范围和运算中注意的事项(详细)

时间:2020-09-17 00:32:32

相关推荐

java基本数据类型 byte short int long float double char的范围和运算中注意的事项(详细)

1.Java的8种基本数据类型及其所占空间大小:

注意:

①为什么float占4个字节,而long占8个字节,float表示的范围却比long要大得多呢?

/i6223671/article/details/88312191

②boolean类型是否占一位?

③整数默认都是整型,小数默认都是double型,所以表示long型常量时要在后

2.java基本数据类型的初始值

3.Java基本数据类型的范围排序

4.基本类型的赋值与转换

boolean一般不参与其他类型的转换

原则:表示范围大的数据不能向表示范围小的数据赋值,即使被赋值的对象可以装得下这个,数据,但是系统任然会保存:可能存在精度损失

即由上面的那张图,数据类型只能顺着箭头赋值,不能逆着箭头赋值.

那么问题来了~

①.为什么char类型要单独拿出来?

②byte 和short类型赋值给char类型为什么会报错?

③既然整数默认都是整型的,那么为什么byte a = 127没有错误 ;

④这个为什么会报错: byte a = 127 ; byte b = -128 ; byte c = a + b ;

所以:java中byte,short,char在运算的时候都会提升为int,如果输出’a’+1的值为98

⑤为什么:bytea=10; a=a+10.会报错,而a+=10不会报错呢?

隐性转换

底范围和高范围的数据进行运算的时候,会将低范围值的向高范围值的类型转化,而没这种值的类型的变化并不会传递给变量.

例 :

byte a=10;

int b=a;

当编译intb=a 时, a隐式转换为int类型

又如,

int a=2;

double b=5.0;

则输出 b/a的值将为2.5,因为编译的时候,会将a提升为b的类型.

强制转换

特征:从大到小(如果你明确知道数据是可以用该数据类型来表示的,可以用强制转换)注:一般情况下,不推荐使用强制类型转换,因为会损失精度.

格式:(转换后的数据类型)变量或者值。。

例1 :

int a=10;

byte b=(byte)a;

字符串的转换

原则:任何数据类型用’+'与字符串向连都会产生新的字符串.

如: System.out.println(“hello”+‘a’+1); -> helloa1

System.out.println(‘a’+1+“hello”); -> 98helloa

System.out.println(“6 + 6 =” 6 + 6 ); -> 6 + 6 =66(注意运算的顺序)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。