Operator&Scanner&Switch学习
Posted littlebear_s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Operator&Scanner&Switch学习相关的知识,希望对你有一定的参考价值。
Operator(运算符)
c++和++c
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 ? y : z
如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格":"及格";//必须掌握
System.out.println(type);//及格
Scanner
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();在最后面写上
Switch
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类型
以上是关于Operator&Scanner&Switch学习的主要内容,如果未能解决你的问题,请参考以下文章
operator new & operator delete
operator new & operator delete
返回多于 T& 和 std::pair 的 iterator::operator* 的标准接口