java 自动类型_java类型自动转换
package com.kevin.basic;
/*
* java類型自動(dòng)轉(zhuǎn)換方面的知識(shí)點(diǎn)
* int類型 double類型 默認(rèn)類型
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* int類型是整數(shù)的默認(rèn)類型。
* (1)第一種:正確運(yùn)行,結(jié)果為10.
* 3是int類型,7是int類型,3+7=10也是int類型,當(dāng)把常量10賦值給byte類型b時(shí),java編譯器
* 會(huì)進(jìn)行范圍檢查,發(fā)現(xiàn)10沒(méi)有超越byte類型的取值范圍-128~127,所以可以正常將int類型轉(zhuǎn)換為byte類型
byte b = 4;
b = 3+7;
System.out.println(b);
*/
/*(2)第二種:出現(xiàn)錯(cuò)誤,提示可能會(huì)損失精度。
* 因?yàn)閎1,b2都是變量,java編譯器在進(jìn)行判斷時(shí)無(wú)法判斷b1+b2的取值范圍,是否會(huì)超過(guò)-128~127這個(gè)范圍
* 所以會(huì)給出可能損失精度的錯(cuò)誤提示。
byte b1 = 3;
byte b2 = 7;
b = b1+b2;
System.out.println(b);
*/
/*2147483647 整型最大值
-2147483648 整型最小值
-2147483647
*
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
int x = max + 2;
System.out.println(max);
System.out.println(min);
System.out.println(x);
*/
/*
* 正常運(yùn)行:+=是賦值運(yùn)算符,java在進(jìn)行運(yùn)算時(shí)會(huì)進(jìn)行自動(dòng)類型轉(zhuǎn)換。
* += 是java語(yǔ)言規(guī)定的運(yùn)算符,java編譯器會(huì)對(duì)它進(jìn)行特殊處理,因此可以正確編譯。
short x = 2;
x += 3;
System.out.println(x);// x = 5;
*/
/* x+3運(yùn)算時(shí)會(huì)自動(dòng)提升表達(dá)式的類型,所以結(jié)果是int型,再賦值給short類型x時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類型的錯(cuò)誤。
* :因?yàn)?x+3 的取值范圍不確定,有可能會(huì)超過(guò)短整型所能表示的數(shù)值。
short x = 2;
x = x+3;
System.out.println(x);
*/
}
}
分享到:
2012-07-29 21:30
瀏覽 336
評(píng)論
總結(jié)
以上是生活随笔為你收集整理的java 自动类型_java类型自动转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 优秀ppt作品范例_首次公开|锐普的内部
- 下一篇: python归并排序算法实现_pytho