一,第一个java程序
1,jdk安装(环境配置,注意javac.exe是否可运行,如javac不能运行则配置path至javac.exe程序下)
2,编码解决 javac -encoding UTF-8 Demo1.java(编译成utf8的二进制编码)
二数据类型
概念:数据在计算机中以二进制存放。
概念:数据在计算机内存中存储和访问的规则(如:数据长度,正负)
如 18 0010010 八个二进制 一个字节
八个基本类型:
byte 单字节有符号整型 00000000 八个进制位
short/char 四个字节符号类型 32个进制位
char (character 双字节存储 整型,表达的是字符映射)
int 四字节有符号整型
long 八字节有符号整型
float 四字节浮点
double 八字节浮点
boolean 逻辑类型或布尔类型 (true/false)
进制
8位 一个字节
000000 - 11111111
0-255
00000001 1 00000001 1
00000011 3 00000010 2
00000111 7 00000100 4
00001111 15 00001000 8
00011111 31 00010000 16
00111111 63 00100000 32
01111111 127 01000000 64
11111111 255 10000000 128
1 0 1 0 1 1 1 1 采用255-对应为的权重
126 = 127-1 即 01111111 - 00000001 = 01111110
129 = 128+1 即10000000 - 00000001 = 10000001
换算
1 byte= 8 bit
2^10=1k bit 2^10 bit = 1kb 2^20 kb = 1/8 mbyte
代码的转换
如 30 - 70 = -40 => 30+(-70)=-40 计算中只有加法
30 => 00011110
-71 => 11000111(因0是正数 所以负数取1,开头第一位)
=> 10111000 (取反)
=> 10111001 (加一)
则 30=> 00011110
...............................
=>11010111 =>(减一) 11010110 =>(取反) 10101001 => - 41
即 30 + (-70)= -41
真值:客观世界里的数值,如125,12.5
机器码:二进制串,强调它的长度只能是8、16、32,64
byte b= -70 //b一个字节长度; -70是真值
机器码:(定最高位符号位,1代表负数): 11000110 原始机器码 原码
数值位取反: 10111001 取反机器码 反码
+1: 10111010 补充机器码 补码
正数的原码 == 反码 == 补码 (计算机内存在存放的都是补码)
byte类型的数据的取值范围
8位 1位表达符号 ,七位表达绝对值 =》 01111111 is +127
最小:11111111 is -127
00000000
10000000 不能是-0,变成-128 byte 【-128,127】
short s = 0000 0000 0000 0000 0000 0000 0000 0000
a b c d e f
10 11 12 13 14 15
1010 1011 1100 1101 1110 1111