Java基础(20-12-03)
注释
单行注释,多行注释,JavaDos:文档注释
最好避免使用浮点数进行比较
类型转换
强制类型转换:(类型)变量名 高->低
自动转换:低->高
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制类型转换
System.out.println(c2);
System.out.println((int)c2);
转义字符
- 制表符
- 换行
- ......
字符串比较问题
String sa=new String("Hello world!");
String sb=new String("Hello world!");
System.out.println(sa==sb);//false
String sc="Hello world!";
String sd="Hello world!";
System.out.println(sc==sd);//true
JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
关于变量
类变量:static
实例变量:从属于对象,如果不初始化,会有默认值 int:0 0.0;布尔值:默认为false;除了基本类型,其余默认值都是null
局部变量:在方法中,生存周期与方法运行周期等同
Java运算符
***instanceof
二元运算符计算时,byte、short、char计算后自动转换为int型
long、double不变
Math工具类:e.g Math.pow(-,-) 第一个参数是底数,第二个是幂
逻辑运算(短路运算)
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);//测试逻辑运算&&的运算顺序!
位运算
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
2*8=16 2*2*2*2
位运算效率极高!!!
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);//将1左移三位,16
}
字符串连接符 +
int a=10;
int b=20;
//字符串连接符 +
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
三元运算符
x ? y : z
x==true,执行y,否则执行z