public class AndOrNot1 {
public static void main(String[] args) {
int c = 5;
boolean d = 6>c++;
//由于这里是c++,所以先执行代码判断6>5,得到true,然后再执行c++自加:c=c+1=6
System.out.println(d);//true
System.out.println(c);//6
}
}
public class AndOrNot2 {
public static void main(String[] args) {
int c = 5;
boolean d = 6>++c;//由于这里是++c,进行自加c = c + 1,然后再开始比较6>6,得到false
System.out.println(d);//false
System.out.println(c);//6
}
}
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
以上是二进制对应的十进制,可以看出每*2就相当于数字1向左移动一位,所以
如何以最快的效率计算2x8:
2x8=16=2x2x2x2,用到上面的结论,2要变成2^4就相当于左移了三次,答案为:
System.out.println(2<<3);
<< 左移*2 >>右移/2
int a = 10;
int b = 20;
System.out.println(""+a+b);//1020,如果字符串在前面,后面的就会拼接
System.out.println(a+b+"");//30,如果字符串在后面,前面会进行运算
System.out.println(a+""+b);//1020
在“+”两侧,只要有一方出现了String类型,他就会把另外一个操作数或者其他操作数都转化为String,再进行连接
a+=b;//a = a+b
a-=b;//a = a-b
如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格":"及格";//必须掌握
System.out.println(type);//及格
public class Test03 {
//输入多个数字,并求其综合与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int t = 0;
System.out.println("请输入数字:");
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
t++;
sum = sum + x;
System.out.println("当前是第"+t+"次输入,总和为:"+sum);
}
System.out.println("输入总和为"+sum);
System.out.println("输入平均值为"+sum/t);
scanner.close();
}
}
最开先要开始用Sanner的时候,就应该先把scanner.close();在最后面写上
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = ‘A‘;
switch (grade){
case ‘A‘:
System.out.println("优秀");
break;
case ‘B‘:
System.out.println("良好");
break;
case ‘C‘:
System.out.println("及格");
break;
case ‘D‘:
System.out.println("再接再厉");
break;
case ‘E‘:
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
}
}
每个case后面都要写break
default是没匹配到执行的语句
JDK7过后可以使用String类型
原文:https://www.cnblogs.com/littlebear-s/p/14808257.html