Java基础
冯.诺依曼体系结构

高可用,高性能,高并发
基本环境
JDK: Java development kit(Java开发工具)
JRE:Java runtime environment (Java运行时环境)
JVM:Java virtual machine(Java虚拟机)
编译过程
compile 编译

数据类型

最好完全避免使用浮点数进行比较
public static void test3(){
float i1 = 46546343354135f;
float i2 = i1 + 1;
System.out.println(i1 == i2);//true 不一样的值比较结果却为true
float i3 = 0.1f;
double i4 = 1.0 / 10;
System.out.println(i3 == i4);//false,一样的值比较结果却为false
char c0 = 'a';
System.out.println((int) c0);//97
char c = '\u0061'; //0061是十六进制即十进制的97,
System.out.println(c);//a,字符的本质就是数字
// for (int i = 1; i <= 128; i++) {
// if (i%10 == 0) {
// System.out.println();
// }
// System.out.print((char)i + " ");
// }
System.out.println("--------------------------------------");
long t1=6541351313155655L;
int t2=158;
short t3=30;
byte t4=40;
System.out.println(t1+t2+t3+t4);//long
System.out.println(t2+t3+t4);//int
System.out.println(t3+t4);//int,没有long类型相加如(byte+short)结果都为int
}

自增和短路运算
public static void test2(){
int a=4;
int b=a++;
//a++,先赋值后自增,相当于执行完代码后 再进行a=a+1;语句
System.out.println(a);//5
//++a,先自增后赋值,相当于执行代码前先执行a=a+1;语句
int c=++a;
System.out.println(a);//6
System.out.println(b);//4
System.out.println(c);//6
System.out.println(Math.pow(a, b));//1296.0,幂运算
boolean d=c<4&&(++c>5);//短路运算,当前c等于6,如果“&&”前面c<4==false,则不会执行后面的++c>5则c依旧等于6否则c等于7
System.out.println(d);//false
System.out.println(c);//6
}
位运算
public static void test4(){
/*
A=0011 1100
B=0000 1101
---------------------------------
A&B=0000 1100 与运算,同为1才等于1
A|B=0011 1101 或运算,同为0才等于0
A^B=0011 0001 亦或运算,相同为0,不同为一
~B=1111 0010 取反
问:2*8怎么运算最快
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
0010 0000 32
*/
System.out.println(2<<3);//0000 0010:2,0001 0000:8,位运算符<<左移,将2左移三位
System.out.println(3<<2);//0011:3,1100:12
System.out.println(7<<2);//0000 0111:7,0001 1100:28
}
字符串连接符
public static void test5(){
int a=10;
int b=20;
System.out.println("a:"+a);//a:10
System.out.println("b:"+b);//b:20
System.out.println(a+b);//30
System.out.println(" "+a+b);// 1020 String在前面或导致后面的+变成字符串连接符
System.out.println(a+b+" ");// 30
}
浙公网安备 33010602011771号