/*
1、DOS(磁盘操作系统)命令
windows操作文件(夹)的各种命令:
dir 列出当前目录下的所有文件
cd 进入指定目录
cd .. 退回到上一级目录
cd / 退回到根目录
md 创建一个空的目录
rd 删除一个空的目录
del 删除一个文件
exit 退出dos命令行
cd abc* 可以使用通配符
cls 清屏
命令名 /? 查看当前命令如何使用
rd /s
set
2、java虚拟机(JVM):
个人理解:
是一个标准的中间件,将java语言翻译为操作系统认识的语言
解决了一处编译,处处运行。
JVM不是跨平台的,但是JAVA语言是跨平台的,是因为在任何操作系统都有对应的JVM
3、内存单位
1个字节(byte)是8位,其中这个位 就是1bit
bit 是二进制位
byte 是内存的最小单位
1 byte = 8 bit 即:1111-1111
8 bit = 1 byte
1024 byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB
1024 TB = 1 PB
4、常量,变量
常量:
不能改变的量就是常量
变量:
特点:
变量就是一个可以变的量
变量是内存中的一段空间,可以用来存储值
可以读(取)写(存)
变量的基本数据类型:
byte/short/int/long/float/double/char/boolean/
byte类型和short类型不能以常量的类型出现
byte 1字节 -128 ~ 127
short 2字节 -32768 ~ 32767
int 4字节 -2147483648 ~ 2147483647
long 8字节 -9223372036854775808 ~ 9223372036854775807
float 4字节 大约±3.40282347E+38F(有效位数为6~7位)
double 8字节 大约±1.79769313486231570E+308(有效位数为15位)
char类型占两个字节,char类型只能是单引号括起来的一个字符
其中:
当变量的数据超出数据类型的范围时,编译不会通过,(有时抛出异常)
类型转换:
不同类型的变量之间的运算。类型转换时,浮点型>整型
int类型强制转换为byte,是将最后一个字节复制给byte
如int i = 512 ; 转换二进制为1000000000,赋值后为 byte b = (byte)i; 此时b=0
计算机运算的最小精度是int类型:
byte b1 = 10 ;
byte b2 = 20 ;
byte b3 = b1 + b2 ;
这段代码的运算顺序为:
内存中开辟空间:
开辟b1 写入数据10
开辟b2 写入数据20
开辟b3
开辟临时空间 - 运算b1 + b2,此时b1和b2都是int类型,运算的结果也是int类型
之后复制给b3 编译不通过
char可以当做整数来运算 0 ~ 65535
byte、short与char的转换都需要强制类型转换,因为:byte -128~127 ;short -32768~32767
原码和补码:
整数在内存中是原码
负数在内存中是补码,即其绝对值取反再+1 (负数的二进制先-1再取反即其绝对值)
byte 3 0000-0011
-3 1111-1101
5、运算符
数字运算符:
+ - * / % ++ --
关系运算符:
> < >= <=
!= ==
逻辑运算符:运算量都是boolean、结果页都是boolean类型
! ^ && (&) || (|)
级别高低:! > ^ > && (&) > || (|)
^ 逻辑异或 左右两边相同,结果为false;左右两边结果不相同,结果为true
位运算符:按二进制位位运算,jdk1.6之前只能算int类型,之后可以算long类型
~(取反)、 &(按位与)、|(按位或)、<<(左移)、>>(右移)、>>>(无符号右移)
正数 (取反 + 1) 就是他的相反数,即负数;负数(-1 取反)就是正数
计算机中位运算是最快,
一个数和另一个数异或两次还是原值
6、条件运算符
a ? b : c ;
7、赋值运算符
int a = b ;
a=b的值就是a的值
8、符合运算符
+= 、 -= 、*= 、 /= 、%= 、&= 、|= 、<<= 、 >>= .....
short s1 = 10 ;
s1 += 10 ; //在s1运算 可以编译
s1 = s1 + 10 ; //在临时空间运算 不可以编译
*/