晨考题

49 阅读2分钟

晨考题

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);
	}
}

总结:

  1. java.util.Scanner input = new java.util.Scanner(System.in);System.out.print("请输入一个整数:");可以提供输入方法

  2. 判断一个整数是否是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);
  }
}

总结:

  1. ?:是一种比较判断运算,a>b?a:b的意思是,若a>b为真,则返回a,若a>b为假,则返回b。
  2. 可以通过创建另一个数进行换位

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位