Java学习笔记(1)——基本数据类型
生活随笔
收集整理的這篇文章主要介紹了
Java学习笔记(1)——基本数据类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、進制轉換
10^n被稱為權 ?10稱為基數 ?
計算機中正數和負數的關系是取反加一, 如: ~3+1=-3
補碼邊界運算有溢出風險
32位二進制補碼最多表示2^32個數, -2G~2G
1,計算機中的一個二進制數, 00001111,它的10進制為:
0000 1111 = 15 ?正數直接轉換
2, 1111 1001,10進制數是多少
1111 1001
0000 0110 ?按位取反
0000 0111 ?末尾加1
7
-7
1111 1001 = -7;
上面兩個例子是從計算機中2進制轉10進制,
下面是從10進制轉計算機中2進制
1,正數取源碼直接轉
2,負數按位取反末尾加1
十六進制是2進制的簡寫,方便專業人員書寫2進制數據
-----------------------------------------------------------
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類型能表示的數據范圍最大為2G-1,最小為-2G.
i = 0x7fffffff; ?//整數的最大值
i = 0x80000000; ?//整數的最小值
二、數據類型
1,基本數據類型(8個)
? byte(1) short(2) char(2) int(4) long(8) float(4) double(8) boolean
? 整型: byte, short, int, long
? 浮點型: float, double
? 字符型: char
? Boolean型: boolean
2,float: 1位為符號位(0,1),指數8位,尾數23位(精確度是23位)
? 所以說int的精確度比float要大,但是int表示的范圍小。
? float類型因為精度過低,所以一般很少使用,一般會使用double
3,double:1位符號位,11位指數,52位尾數。
------------------------------------------------------
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**
字符類型是一個16位無符號整數,是一個2進制數,是一個unicode編碼值。
java char的范圍0~65535不能表示全部unicode,但是可以表示unicode最
常用部分,足夠用了。
1,什么是編碼?
?用二進制數表示10進制數或字母
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
------------------------------------------------------
//并不是所有字符都可見,比如"\u0000"一般作為c++字符串結束字符
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = '\u0000';
System.out.println(c);
}
}
------------------------------------------------------
各類數值型數據間的混合運算
double <--- float
? ^
? |
long
? ^
? |
unsigned
? ^
? |
?int <--- ?char,short,byte
?橫向表示必定轉換,縱向表示當運算對象為不同類型是轉換方向
10^n被稱為權 ?10稱為基數 ?
計算機中正數和負數的關系是取反加一, 如: ~3+1=-3
補碼邊界運算有溢出風險
32位二進制補碼最多表示2^32個數, -2G~2G
1,計算機中的一個二進制數, 00001111,它的10進制為:
0000 1111 = 15 ?正數直接轉換
2, 1111 1001,10進制數是多少
1111 1001
0000 0110 ?按位取反
0000 0111 ?末尾加1
7
-7
1111 1001 = -7;
上面兩個例子是從計算機中2進制轉10進制,
下面是從10進制轉計算機中2進制
1,正數取源碼直接轉
2,負數按位取反末尾加1
十六進制是2進制的簡寫,方便專業人員書寫2進制數據
-----------------------------------------------------------
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類型能表示的數據范圍最大為2G-1,最小為-2G.
i = 0x7fffffff; ?//整數的最大值
i = 0x80000000; ?//整數的最小值
二、數據類型
1,基本數據類型(8個)
? byte(1) short(2) char(2) int(4) long(8) float(4) double(8) boolean
? 整型: byte, short, int, long
? 浮點型: float, double
? 字符型: char
? Boolean型: boolean
2,float: 1位為符號位(0,1),指數8位,尾數23位(精確度是23位)
? 所以說int的精確度比float要大,但是int表示的范圍小。
? float類型因為精度過低,所以一般很少使用,一般會使用double
3,double:1位符號位,11位指數,52位尾數。
------------------------------------------------------
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**
字符類型是一個16位無符號整數,是一個2進制數,是一個unicode編碼值。
java char的范圍0~65535不能表示全部unicode,但是可以表示unicode最
常用部分,足夠用了。
1,什么是編碼?
?用二進制數表示10進制數或字母
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
------------------------------------------------------
//并不是所有字符都可見,比如"\u0000"一般作為c++字符串結束字符
package pack01;
public class HexBie {
public static void main(String[] args){
char c;
c = '\u0000';
System.out.println(c);
}
}
------------------------------------------------------
各類數值型數據間的混合運算
double <--- float
? ^
? |
long
? ^
? |
unsigned
? ^
? |
?int <--- ?char,short,byte
?橫向表示必定轉換,縱向表示當運算對象為不同類型是轉換方向
轉載于:https://www.cnblogs.com/lanzhi/p/6470002.html
總結
以上是生活随笔為你收集整理的Java学习笔记(1)——基本数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 问题分析探讨 -- 大约有700W数据的
- 下一篇: Java与嵌入式数据库SQLite的结合