晨考题
1.计算9与7按位与,按位或,按位异或是基于补码计算
class Exam1{
public static void main(String[] args){
System.out.println(9&7);
System.out.println(9|7);
System.out.println(9^7);
}
}
总结:首先转换二进制
1.按位与:全为1则为1
2.按位或:全为0则为0
3.按位异或:有1为1,全0或全1则为0
2.请判断下方程序的输出结果
class Exam2{
public static void main(String[] args){
int i =1;
int j = 2;
i += j++;
j = i++ / 2 + ++i * j--;
System.out.println("i = " + i);
System.out.println("j = " + j);
}
}
总结:
i++先计算后自增,++i先自增后计算
i- - 和- -i同上
先自增后乘除再加减
3.运行时从键盘输入一个整数,程序可以判断一个整数是否是3的倍数或以3结尾,如果是就打印true,否则打印false
class Exam3{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("请输入一个整数:");
int num = input.nextInt();
System.out.println(num % 3 == 0 || num%10 ==3);
}
}
总结:
-
java.util.Scanner input = new java.util.Scanner(System.in);System.out.print("请输入一个整数:");可以提供输入方法
-
判断一个整数是否是3的倍数或以3结尾
考虑是否能被3整除和取余是否为3
4.运行时从键盘输入两个数,程序可以将他们从小到大顺序输出
class Exam4{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("请输入第一个整数:");
int a = input.nextInt();
System.out.print("请输入第二个整数:");
int b = input.nextInt();
//方法一
//?:是一种比较判断运算,a>b?a:b的意思是,若a>b为真,则返回a,若a>b为假,则返回b。
/*int max = a > b ? a : b;
int min = a < b ? a : b;
System.out.println(min + "," + max);*/
//方法二
if(a > b){
int temp = a;
a = b ;
b = temp;
}
System.out.println(a + "," + b);
}
}
总结:
- ?:是一种比较判断运算,a>b?a:b的意思是,若a>b为真,则返回a,若a>b为假,则返回b。
- 可以通过创建另一个数进行换位
5.实现小写字母转换为大写字母
class Exam5{
public static void main(String[] args){
char letter = 't';
//补充代码
System.out.println(letter);
System.out.println("对应的大写字母是:");
/*
小写字母与大写字母之间有什么规律
'a':97
'A':65
相差32
*/
System.out.println((char)(letter-32));
}
}
总结:
小写字母与大写字母中间相差32位