java基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1、整数:包括byte,short,int,long
2、浮点型:float,double
3、字符:char
4、布尔:boolean
基本型别 | 大小 | 最小值 | 最大值 |
boolean | ----- | ----- | ------ |
char | 16-bit | Unicode 0 | Unicode 2^16-1 |
byte | 8-bit | -128 | +127 |
short | 16-bit | -2^15 | +2^15-1 |
int | 32-bit | -2^31 | +2^31-1 |
long | 64-bit | -2^63 | +2^63-1 |
float | 32-bit | IEEE754 | IEEE754 |
double | 64-bit | IEEE754 | IEEE754 |
计算机中是如何保存数据的:
计算机只识别‘是’和‘非’;即:充电 未充电。
计算机按照2进制来存储数据-----机器码
机器码按照是否带符号位来分为无符号码和带符号码;(正负的区分,整数区分)
带符号码按照小数点位置固定与否分为定点数和浮点数;
对于定点数计算机有三种便是方式:
补码 原码 反码;(计算机中得数值表示的摸是 2;即+1和-1的效果一样)
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
补码:原码+补码=摸;
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
(连接以上概念有助于基本数据的理解)
在计算机中存储数据的最单位是 位(bte)-字节(byte 8个位)-kb-mb-gb-tb
1Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
(数据的存储容量是 2*2^(n-1) n是位数);
理解以上概念我们就不难理解java基本数据类型中得数字类型数据是如何 存储 分类 长度;
计算机中如何保存字符:
无论任何东西,无论你的表现形式是怎样的,存储到计算机中都是按照2进制数据来存储;然后按照不同的方式处理的;
为了在计算集中表示文字国际制定了很多的字符集编码规范:
典例: ASCII GBK UTF-8;
ASCII码表:
ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 |
0 | NUT | 32 | (space) | 64 | @ | 96 | 、 |
1 | SOH | 33 | ! | 65 | A | 97 | a |
2 | STX | 34 | ” | 66 | B | 98 | b |
3 | ETX | 35 | # | 67 | C | 99 | c |
4 | EOT | 36 | $ | 68 | D | 100 | d |
5 | ENQ | 37 | % | 69 | E | 101 | e |
6 | ACK | 38 | & | 70 | F | 102 | f |
7 | BEL | 39 | , | 71 | G | 103 | g |
8 | BS | 40 | ( | 72 | H | 104 | h |
9 | HT | 41 | ) | 73 | I | 105 | i |
10 | LF | 42 | * | 74 | J | 106 | j |
11 | VT | 43 | + | 75 | K | 107 | k |
12 | FF | 44 | , | 76 | L | 108 | l |
13 | CR | 45 | - | 77 | M | 109 | m |
14 | SO | 46 | . | 78 | N | 110 | n |
15 | SI | 47 | / | 79 | O | 111 | o |
16 | DLE | 48 | 0 | 80 | P | 112 | p |
17 | DCI | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 | 50 | 2 | 82 | R | 114 | r |
19 | DC3 | 51 | 3 | 83 | X | 115 | s |
20 | DC4 | 52 | 4 | 84 | T | 116 | t |
21 | NAK | 53 | 5 | 85 | U | 117 | u |
22 | SYN | 54 | 6 | 86 | V | 118 | v |
23 | TB | 55 | 7 | 87 | W | 119 | w |
24 | CAN | 56 | 8 | 88 | X | 120 | x |
25 | EM | 57 | 9 | 89 | Y | 121 | y |
26 | SUB | 58 | : | 90 | Z | 122 | z |
27 | ESC | 59 | ; | 91 | [ | 123 | { |
28 | FS | 60 | < | 92 | \ | 124 | | |
29 | GS | 61 | = | 93 | ] | 125 | } |
30 | RS | 62 | > | 94 | ^ | 126 | ~ |
31 | US | 63 | ? | 95 | — | 127 | DEL |
NUL | VT 垂直制表 | SYN 空转同步 |
SOH 标题开始 | FF 走纸控制 | ETB 信息组传送结束 |
STX 正文开始 | CR 回车 | CAN 作废 |
ETX 正文结束 | SO 移位输出 | EM 纸尽 |
EOY 传输结束 | SI 移位输入 | SUB 换置 |
ENQ 询问字符 | DLE 空格 | ESC 换码 |
ACK 承认 | DC1 设备控制1 | FS 文字分隔符 |
BEL 报警 | DC2 设备控制2 | GS 组分隔符 |
BS 退一格 | DC3 设备控制3 | RS 记录分隔符 |
HT 横向列表 | DC4 设备控制4 | US 单元分隔符 |
LF 换行 | NAK 否定 | DEL 删除 |
键盘常用ASCII码 |
ESC键: VK_ESCAPE (27) Insert键: VK_INSERT (45) 方向键(←): VK_LEFT (37) F1键: VK_F1 (112) Num Lock键: VK_NUMLOCK (144) Pause Break键: VK_PAUSE (19) |
GBK码表:
http://www.lhelper.org/tech/chinese_internal_code_specification_classified.txt
在Jvm中采用的是默认GBK来存储汉字信息;他的默认占位为16位;一个汉字就是占16位;