1. 请写出下列表达式的运算过程和结果
(1)5 & 6 4
(2)4 ^ 13 9
(3)12 | 9 13
class Operator1{
public static void main(String[] args){
System.out.println(5&6);
}
}
class Operator1{
public static void main(String[] args){
System.out.println(4 ^ 13);
}
}
class Operator1{
public static void main(String[] args){
System.out.println(12 | 9);
}
}
2. 请说明逻辑运算符和位运算符的区别是什么?
逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。
逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。
3. 请写出将十进制数95转化为二进制数的过程和结果。
class Operator1{
public static void main(String[] args){ int a=95;
int remainder;
int sum=0;
int k=1;
while(a!=0);
remainder=( a%2 );
a/=2;
remainder=a%2;
} a/2;
sum= sum +remainder*k
System.out.println(sum);
}
4. . 请写出10000101的补码计算过程和结果11111011
public class PrintBinary {
s.printBinaryInt(256);
s.printBinaryInt(~256);
}
void printBinaryInt(int i){
for(int j=31;j>=0;j--)
if(((1<<j)& i)!=0)
System.out.print("1");
else
System.out.print("0");
System.out.println();
}
}
5. x = (13*19 > 257) ? 35 : 40;请为x的值为多少40
class Operator1{
public static void main(String[] args){
int x;
System.out.println(x = (13*19 > 257) ? 35 : 40);
}
}
6. >>和>>>运算符有什么区别
>>右移运算符:将二进制数据进行右移运算。
>>> 无符号右移运算符:无论正负,都在高位插入0。
接收控制台(console)输入的方法
【1】 import java.util.Scanner;
【2】 Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
//此时,m为接收到的用户输入
7. 使用if – else if – else 语句判断学生成绩,接收用户输入的成绩,提示(优秀,良好,及格和不及格)信息。
class Operator2{
public static void main(String[] args){
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
//此时,m为接收到的用户输入
if(m<60){
System.out.println(不及格);
}
else if( m=60 )
System.out.println(及格)
else if(m<85)
System.out.println(良好);
else
System.out.println(优秀)
}
8. 输入一个0到23的数字,规定0-5为早晨,6-11为上午,12-17为下午,18到23为晚上。
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
class Operator2{
public static void main(String[] args){
int m = scan.nextInt();
//此时,m为接收到的用户输入
if(m<=5){
System.out.println(早晨);
}
else if( m<=11)
System.out.println(上午)
else if(m<=23)
System.out.println(晚上);
else
System.out.println(优秀)
}
9. 从控制台输入两个数,如果两个数之间不为倍数关系(即:第一个数不能整除第二个数,并且第二个数也不能整除第一个数),则输出真,否则输出假。
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
class Operator2{
public static void main(String[] args){
int m ,n= scan.nextInt();
//此时,m为接收到的用户输入
if(m%n=0|n%m=0){
System.out.println(1);
else
System.out.println(0)
}
}
10. 输入一个数,如果该数能够被3整出,输出真,否则输出假。
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
class Operator2{
public static void main(String[] args){
int m = scan.nextInt();
//此时,m为接收到的用户输入
if(m%3=0){
System.out.println(1);
}
else if( m%3=1)
System.out.println(0)
}