Java学习笔记(1)——基本数据类型
生活随笔
收集整理的這篇文章主要介紹了
Java学习笔记(1)——基本数据类型
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、進(jìn)制轉(zhuǎn)換
10^n被稱為權(quán) ?10稱為基數(shù) ?
計(jì)算機(jī)中正數(shù)和負(fù)數(shù)的關(guān)系是取反加一, 如: ~3+1=-3
補(bǔ)碼邊界運(yùn)算有溢出風(fēng)險(xiǎn)
32位二進(jìn)制補(bǔ)碼最多表示2^32個(gè)數(shù), -2G~2G
1,計(jì)算機(jī)中的一個(gè)二進(jìn)制數(shù), 00001111,它的10進(jìn)制為:
0000 1111 = 15 ?正數(shù)直接轉(zhuǎn)換
2, 1111 1001,10進(jìn)制數(shù)是多少
1111 1001
0000 0110 ?按位取反
0000 0111 ?末尾加1
7
-7
1111 1001 = -7;
上面兩個(gè)例子是從計(jì)算機(jī)中2進(jìn)制轉(zhuǎn)10進(jìn)制,
下面是從10進(jìn)制轉(zhuǎn)計(jì)算機(jī)中2進(jìn)制
1,正數(shù)取源碼直接轉(zhuǎn)
2,負(fù)數(shù)按位取反末尾加1
十六進(jìn)制是2進(jìn)制的簡(jiǎn)寫(xiě),方便專業(yè)人員書(shū)寫(xiě)2進(jìn)制數(shù)據(jù)
-----------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
int i = 192;
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toHexString(i));
i = 0xf4;
System.out.println(i);
System.out.println(Integer.toHexString(i));
System.out.println(Integer.toBinaryString(i));
i = 072;
System.out.println(i);
}
}
---------------
11000000
c0
244
f4
11110100
58
-----------------------------------------------------------
java中,int類型能表示的數(shù)據(jù)范圍最大為2G-1,最小為-2G.
i = 0x7fffffff; ?//整數(shù)的最大值
i = 0x80000000; ?//整數(shù)的最小值
二、數(shù)據(jù)類型
1,基本數(shù)據(jù)類型(8個(gè))
? byte(1) short(2) char(2) int(4) long(8) float(4) double(8) boolean
? 整型: byte, short, int, long
? 浮點(diǎn)型: float, double
? 字符型: char
? Boolean型: boolean
2,float: 1位為符號(hào)位(0,1),指數(shù)8位,尾數(shù)23位(精確度是23位)
? 所以說(shuō)int的精確度比f(wàn)loat要大,但是int表示的范圍小。
? float類型因?yàn)榫冗^(guò)低,所以一般很少使用,一般會(huì)使用double
3,double:1位符號(hào)位,11位指數(shù),52位尾數(shù)。
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
int a = 0x7fffffff;
int b = 0x7ffffff0;
float fa = a; ?//精度不夠
float fb = b;
System.out.println(a);
System.out.println(b);
System.out.println(fa);
System.out.println(fb);
System.out.println(fa == a);
System.out.println(fb == b);
System.out.println(a == b);
System.out.println(fa == fb);
}
}
------------------
2147483647
2147483632
2.14748365E9
2.14748365E9
true
true
false
true
------------------------------------------------------
4,字符型char**
字符類型是一個(gè)16位無(wú)符號(hào)整數(shù),是一個(gè)2進(jìn)制數(shù),是一個(gè)unicode編碼值。
java char的范圍0~65535不能表示全部unicode,但是可以表示unicode最
常用部分,足夠用了。
1,什么是編碼?
?用二進(jìn)制數(shù)表示10進(jìn)制數(shù)或字母
unicode編碼中英文部分與ASCII碼兼容。
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = 97;
System.out.println(c);
System.out.println((int)c);
}
}
--------------
a
97
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
char c1,c2,c3;
c1 = 97;
c2 = '\n';
c3 = 98;
System.out.print(c1);
System.out.print(c2);
System.out.print(c3);
}
}
------------
a
b
------------------------------------------------------
//并不是所有字符都可見(jiàn),比如"\u0000"一般作為c++字符串結(jié)束字符
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = '\u0000';
System.out.println(c);
}
}
------------------------------------------------------
各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算
double <--- float
? ^
? |
long
? ^
? |
unsigned
? ^
? |
?int <--- ?char,short,byte
?橫向表示必定轉(zhuǎn)換,縱向表示當(dāng)運(yùn)算對(duì)象為不同類型是轉(zhuǎn)換方向
10^n被稱為權(quán) ?10稱為基數(shù) ?
計(jì)算機(jī)中正數(shù)和負(fù)數(shù)的關(guān)系是取反加一, 如: ~3+1=-3
補(bǔ)碼邊界運(yùn)算有溢出風(fēng)險(xiǎn)
32位二進(jìn)制補(bǔ)碼最多表示2^32個(gè)數(shù), -2G~2G
1,計(jì)算機(jī)中的一個(gè)二進(jìn)制數(shù), 00001111,它的10進(jìn)制為:
0000 1111 = 15 ?正數(shù)直接轉(zhuǎn)換
2, 1111 1001,10進(jìn)制數(shù)是多少
1111 1001
0000 0110 ?按位取反
0000 0111 ?末尾加1
7
-7
1111 1001 = -7;
上面兩個(gè)例子是從計(jì)算機(jī)中2進(jìn)制轉(zhuǎn)10進(jìn)制,
下面是從10進(jìn)制轉(zhuǎn)計(jì)算機(jī)中2進(jìn)制
1,正數(shù)取源碼直接轉(zhuǎn)
2,負(fù)數(shù)按位取反末尾加1
十六進(jìn)制是2進(jìn)制的簡(jiǎn)寫(xiě),方便專業(yè)人員書(shū)寫(xiě)2進(jìn)制數(shù)據(jù)
-----------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
int i = 192;
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toHexString(i));
i = 0xf4;
System.out.println(i);
System.out.println(Integer.toHexString(i));
System.out.println(Integer.toBinaryString(i));
i = 072;
System.out.println(i);
}
}
---------------
11000000
c0
244
f4
11110100
58
-----------------------------------------------------------
java中,int類型能表示的數(shù)據(jù)范圍最大為2G-1,最小為-2G.
i = 0x7fffffff; ?//整數(shù)的最大值
i = 0x80000000; ?//整數(shù)的最小值
二、數(shù)據(jù)類型
1,基本數(shù)據(jù)類型(8個(gè))
? byte(1) short(2) char(2) int(4) long(8) float(4) double(8) boolean
? 整型: byte, short, int, long
? 浮點(diǎn)型: float, double
? 字符型: char
? Boolean型: boolean
2,float: 1位為符號(hào)位(0,1),指數(shù)8位,尾數(shù)23位(精確度是23位)
? 所以說(shuō)int的精確度比f(wàn)loat要大,但是int表示的范圍小。
? float類型因?yàn)榫冗^(guò)低,所以一般很少使用,一般會(huì)使用double
3,double:1位符號(hào)位,11位指數(shù),52位尾數(shù)。
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
int a = 0x7fffffff;
int b = 0x7ffffff0;
float fa = a; ?//精度不夠
float fb = b;
System.out.println(a);
System.out.println(b);
System.out.println(fa);
System.out.println(fb);
System.out.println(fa == a);
System.out.println(fb == b);
System.out.println(a == b);
System.out.println(fa == fb);
}
}
------------------
2147483647
2147483632
2.14748365E9
2.14748365E9
true
true
false
true
------------------------------------------------------
4,字符型char**
字符類型是一個(gè)16位無(wú)符號(hào)整數(shù),是一個(gè)2進(jìn)制數(shù),是一個(gè)unicode編碼值。
java char的范圍0~65535不能表示全部unicode,但是可以表示unicode最
常用部分,足夠用了。
1,什么是編碼?
?用二進(jìn)制數(shù)表示10進(jìn)制數(shù)或字母
unicode編碼中英文部分與ASCII碼兼容。
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = 97;
System.out.println(c);
System.out.println((int)c);
}
}
--------------
a
97
------------------------------------------------------
package pack01;
public class HexBie {
public static void main(String[] args){
char c1,c2,c3;
c1 = 97;
c2 = '\n';
c3 = 98;
System.out.print(c1);
System.out.print(c2);
System.out.print(c3);
}
}
------------
a
b
------------------------------------------------------
//并不是所有字符都可見(jiàn),比如"\u0000"一般作為c++字符串結(jié)束字符
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = '\u0000';
System.out.println(c);
}
}
------------------------------------------------------
各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算
double <--- float
? ^
? |
long
? ^
? |
unsigned
? ^
? |
?int <--- ?char,short,byte
?橫向表示必定轉(zhuǎn)換,縱向表示當(dāng)運(yùn)算對(duì)象為不同類型是轉(zhuǎn)換方向
轉(zhuǎn)載于:https://www.cnblogs.com/lanzhi/p/6470002.html
總結(jié)
以上是生活随笔為你收集整理的Java学习笔记(1)——基本数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 问题分析探讨 -- 大约有700W数据的
- 下一篇: POJ2263 ZOJ 1952