容易忽略的java细节
【摘要】
public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub int i = 10; String str = "Hello World " + i; ...
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);
}
}
转载 http://blog.csdn.net/zhanggaofeixy/article/details/51167831
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/53561372
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)