13、java中8中基本类型
一、基本類型介紹
| 關(guān)鍵字 | 數(shù)據(jù)類型 | 占用字節(jié)數(shù) | 取值范圍 | 默認(rèn)值 |
| byte | 字節(jié)型 | 1個字節(jié) | -128~127 | 0 |
| char | 字符型 | 2個字節(jié) | Unicode0~Unicode215-1 | \u0000 |
| short | 短整型 | 2個字節(jié) | -215~215-1 | 0 |
| int | 整型 | 4個字節(jié) | -231~231-1 | 0 |
| long | 長整型 | 8個字節(jié) | -263~263-1 | 0 |
| float | 單精度浮點數(shù) | 4個字節(jié) | -2128~2128 | 0.0 |
| double | 雙精度浮點數(shù) | 8個字節(jié) | -21024~21024 | 0.0 |
| boolean | 布爾型 | 1個字節(jié) | true|false | false |
?
float與double的范圍和精度
范圍
float: ? ? ?1bit(符號位) 8bit(指數(shù)位) 23bit(尾數(shù)為)
double: ??1bit(符號位) 11bit(指數(shù)位) 52bit(尾數(shù)為)
? ? ? float的指數(shù)范圍 -127~128,而double的指數(shù)范圍-1023~1024
float的范圍為-2128~2128,也即-3.40E+38 ~ +3.40E+38;double的范圍為-21024~21024,也即-1.79E+308 ~ +1.79E+308
精度
float和double的精度是由尾數(shù)的位數(shù)來決定的。浮點數(shù)在內(nèi)存中是按科學(xué)計數(shù)法來存儲的,其整數(shù)部分始終是一個隱含著的“1”,由于它是不變的,故不能對精度造成影響。
float:223 = 8388608,一共七位,這意味著最多能有7位有效數(shù)字,但絕對能保證的為6位,也即float的精度為6~7位有效數(shù)字;
?? ?double:252 = 4503599627370496,一共16位,同理,double的精度為15~16位。
?
基本類型賦值
byte:
byte b=1; byte a=1+2;short
short s=1;char
char a='A'; //直接用字符賦值 char b=65; //用10進(jìn)制數(shù)字賦值 char c='\u0041'; //使用unicode碼賦值 char d=0x0041; //使用16進(jìn)制賦值 char e=0101; //使用8進(jìn)制賦值 System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e);?上面輸出的都是是字符'A'
?
? int
int a=3;long
long a=1; long b=10000000000l; //如果賦值范圍超過了int,就必須在后面加上字母l或者Lfloat
float a=1.2f;double
double a=1.2;?
?
二、基本類型運算
1、java中byte、short和char類型運算操作首先會把這些值轉(zhuǎn)換成int類型,然后對這些int值進(jìn)行運算,返回int類型。
byte a=1; byte b=2; byte c=a+b; 這里先將a和b轉(zhuǎn)換成int類型在進(jìn)行計算,結(jié)果返回int類型,所以這里結(jié)果不正確 可以改為: int c=a+b; 或者 byte c=(byte)(a+b); 當(dāng)然這里不能操作byte范圍 byte a=1; char b='B'; int c=a+b; System.out.println(c);? ?輸出為67 ?現(xiàn)將a=1和b='B'轉(zhuǎn)換成int型 a=1、b=66 所以結(jié)果為67
?
2、在做除法運算時,如果兩邊除數(shù)和被除數(shù)都是整數(shù),其結(jié)果也為整數(shù)(只保留整數(shù)部分)例如:
int a=10; int b=3; System.out.println(a/b);結(jié)果為:3
?
3、在做除服運算時,兩個操作數(shù)其中有一個是浮點數(shù),計算結(jié)果也是浮點數(shù)。而且允許除數(shù)是0或者0.0,得到結(jié)果正無窮或負(fù)無窮
double a=5; int b=5; System.out.println(a/0); //結(jié)果為正無窮:Infinity System.out.println(-a/0); //結(jié)果為負(fù)無窮:-Infinity System.out.println(b/0); //拋出異常:java.lang.ArithmeticException: / by zero System.out.println(0/0.0); //結(jié)果為:NaN System.out.println(0.0/0); //結(jié)果為NaN?
基本類型常見面試題
轉(zhuǎn)載于:https://www.cnblogs.com/caoyc/p/4367915.html
總結(jié)
以上是生活随笔為你收集整理的13、java中8中基本类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在虚拟机中安装红旗桌面7.0 Linux
- 下一篇: LOLs11时光老头出装 时光守护者出装