基础操作
编译
javac xxx.java
运行
java xxx
常用dos命令
dir 列出当前目录下的文件以及文件夹
md 创建目录
rd 删除目录
cd.. 返回上一级菜单
cd\ 返回根目录
del 删除文件
exit 退出dos命令行
注释
文档注释
/** */
行注释
//
块注释
/* */
注意: 块注释中不能包含块注释
进制及转换
数字默认为十进制
如23
表示为八进制时则以0开头
如023
表示为十六进制时则以0x开头
如0x23
而八进制数实质上是二进制数,三个二进制位即为一个八进制位
同样,十六进制数也是二进制数,四个二进制位即为一个十六进制位
如二进制数10101110
转为八进制时前面补一个0,即为010-101-110,010为2,101为5,110为6,八进制数即为0256
转为十六进制时四个为一位,即为1010-1110,1010为A,1110为E,十六进制数即为0xAE
负数的二进制数即为正数的二进制数取反后加1
如-6的二进制数是11111010,6的二进制数是00000110
原数 00000110
取反 11111001
加1 11111010
变量
定义变量
数据类型 变量名 初始化值
整数默认为int 小数默认为double
整数型
byte型取值 为-2^7~2^7-1 即-128~127
short型取值为-2^15~2^15-1
int型取值为-2^31~2^31-1
long型取值为-2^63~2^63-1
注意:long型定义时 要注明l,float型要注明f
例如:
long x=123546789123l
float y=2.22f
浮点型
单精度浮点型float
双精度浮点型double
注意:双精度浮点型精确度更高
布尔型
布尔型boolean的值只有 true 和 false
变量类型转换
运算两边类型不一致时无法运算
自动类型提升
但数值型运算时在两边类型不一致时会有自动类型提升,占内存小的类型会提升为占内存多的类型,进行对齐
如:int x=3;
byte b=5;
x=x+b; 此时变量b会提升为int型与x相加
强制类型装换
如:
byte b=3;
b=(byte)(b+5); //(byte)即为强制类型转换
注意:强制类型转换可能丢失精度
算数运算符
+ - * / % ++ -- += -= /= *= %=
注意: +=这类组合运算符是一次运算,而与a+=4等效的a=a+4是两次运算
如:
short a=3;
a+=4; //实际上等效于a=(short)(a+4)
在上面这个片段中用a=a+4代替a+=4会报可能损失精度,因为a=a+4不会自动进行强制类型转换
如
int i=3;
i=i++;
system.out.println(i);
输出为3
注意:运算时先将i的值临时储存一份(例如储存在temp),然后执行i自增1后变为4,4赋值给i,最后临时储存的i返回给i,3赋值给i,i变为3.
再看
int a=2,b;
b=a++;
system.out.println("a="+a+","+"b="+b);
输出为a=3,b=2
同样是先将a值临时储存一份,然后a自增变为3,3赋值给a,临时储存的a的值2赋给b
补注:如果对负数取模,可以把模数负号忽略不计,如 5%-2=1 ,但被模数是负数时另当别论