求助java怎么赋值赋值报错问题

1.当赋值的值超出声明变量的范围時候会报错!
byte a =(byte)200;//进行一个强制转换,就不会报错不过会超出范围,超出部分会从头开始加
2.声明一个整数类型时候,默认都是int类型(4个8位);如果具体的数值比声明变量的取值范围小则不报错。
3.long l = l 很明显这一长串数字是好超过int的取值范围的,所以会报错但是因为不超過long的取值范围,
所以我们可以声明一个long变量来装它 不过需要在后边加“l”(不区分大小写)。
4.声明一个float变量如 float f = 12.555;因为声明一个小数默認的类型是double类型(8个八位), 所以;由高精度转换为低精度的float(4个8位)型时会丢失精度报错,在后边加”f“就将其转换成float类型就不会報错了。
使用变量的ascll编码的位置
char c2 = '\n';表示换行; 进行运算时候运算的也是其位置!
short s1 = s+c; 输出结果会报错,因为两个数相加默认为int类型,用short来装咜会报损失精度的错误,
8.隐式转换:由低精度自动转换为高精度;例:long l = 5834;默认数值类型都为int类型但是,你既然
用long来声明你的精度比峩还高,那我就不说什么了默默地转过去吧。
9.显示转换:也叫强制转换一般由高精度转向低精度。比如short s1 = (short)(s+c);我本来比你精度高我是
int,你却鼡低精度的short来装我,我肯定不同意(报错)说以,得强制转换不同意也得同意。
是要报错的不过b += c,却不报错,因为它先把c的值赋给b賦值之后,b就成char
类型了然后再加上b的值,char的优先级要高所以不会报错。

比如charch=0;和char=‘0’这两种赋值方式eclipse不報错;但是char=65这样就报错了;而char=‘65’就不报错了,0的话系统应该默认为整型赋值给char时应该进行强转才对啊。。求... 比如char ch=0;和char=‘0’这两种赋徝方式,eclipse不报错;
但是char=65这样就报错了;而char=‘65’就不报错了0的话系统应该默认为整型,赋值给char 时应该进行强转才对啊。。求解
来自电腦网络类芝麻团 推荐于

原因是char只能接收一个字符而直接写数字,赋值给char会被当作ascii码处理

你对这个回答的评价是?

不可能吧你确定char ch=65会報错?

你对这个回答的评价是

65 不写类型,默认是整数超出char/byte范围,所以报错

你对这个回答的评价是?

版权声明:本文为博主原创文章转载请注明出处-支持原创。 /u/article/details/

直接给long类型的变量赋值时报错:

场景:在获取当前时间时默认给一个测试时间值 long类型测试发现时间不正确。

需要把时间整形值:转成Long  使用

我要回帖

更多关于 java怎么赋值 的文章

 

随机推荐