Java基础(容易忽略的java细节)

时间:2022-02-07 15:44:54

java基础篇,大家经常忽略的一些细节性问题,在此分享一下

public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 10;
String str = "Hello World " + i;
// 计算j1/j2时整型变量会提前转换为浮点型数据。然后进行运算
int j1 = 2;
float j2 = 2.3f;
System.out.println("j1/j2= " + (j1 / j2));
// 关系表达式会返回一个布尔值
System.out.println("i>j " + (i > j1));
// “+”会将所有的数据类型转换为字符串
System.out.println(str);
for (int k = 0; k < 3; k++) {
if (k == 1) {
// 返回到起始位置
continue;
}
System.out.println("kc= " + k);
}
for (int k = 0; k < 3; k++) {
if (k == 1) {
// 跳出当前循环
break;
}
System.out.println("kb= " + k);
}
int mov1 = -3;
int mov2 = 2;
//带符号右移
System.out.println("mov1>>2 :" + (mov1 >> 2));
//无符号右移
System.out.println("mov1>>>2 :" + (mov1 >>> 2));
// 异或
System.out.println("mov1^mov1 :" + (mov1 ^ mov1));
// 按位与
System.out.println("mov1&mov1 :" + (mov1 & mov1));
// 按位或
System.out.println("mov1|mov2 :" + (mov1 | mov2));
// 与(&)和短路与(&&) 或(|)和短路或(||)
int test1 = 10;
int test2 = 100;
//若前一个布尔值是1,则后面不再执行判断
if (10 == 10 || ++test1 > 10) {
System.out.println("test1= " + test1);
}
//若前一个布尔值是1,则后面仍然执行判断
if (10 == 10 | ++test1 > 10) {
System.out.println("test1= " + test1);
}
//若前一个布尔值是0,则后面不执行判断
if (10 != 10 && --test2 > 100) {
}
System.out.println("test2= " + test2);
//若前一个布尔值是0,则后面仍然执行重点内容判断
if (10 != 10 & --test2 > 100) {
}
System.out.println("test2= " + test2);

}
}