Java
//1、练习题:判断如下代码是否编译通过,如果能,结果是多少?
short s1 = 120;
short s2 = 8;
short s3 = s1 + s2;
//编译不通过,因为s1+s2自动提示为int类型
//3、练习题:判断如下代码是否编译通过,如果能,结果是多少?
char c1 = '0';
char c2 = '1';
char c3 = c1 + c2;
//编译不通过,根据Java语言规范,当char类型的操作数参与算术运算时,它们会被自动提升为int类型。
//4、练习题:判断如下代码是否编译通过,如果能,结果是多少?
char c1 = '0';
char c2 = '1';
System.out.println(c1 + c2);
//编译通过,println方法可以接收各种数据类型的值,进行输出,结果是97
//5、练习题:判断如下代码是否编译通过,如果能,结果是多少?
int i = 4;
long j = 120; //自动类型提升
double d = 34; //自动类型提升
float f = 1.2;
System.out.println(i + j + d + f);
//编译不通过,因为1.2默认是double类型,不能直接赋值给float的f,要么在1.2加F,要么加(float)1.2
//6、判断如下代码输出
(1)
System.out.println('a'+1+"Hello!"); //输出:98Hello
System.out.println("Hello"+'a'+1); //输出:Helloa1
(2)
public class Output {
public static void main(String[] args) {
System.out.println("* *"); //输出:* *
System.out.println("*\t*"); //输出:* *
System.out.println("*" + "\t" + "*"); //输出:* *
System.out.println('*' + "\t" + "*"); //输出:* *
System.out.println('*' + '\t' + "*"); //输出:51*
System.out.println('*' + "\t" + '*'); //输出:* *
System.out.println("*" + '\t' + '*'); //输出:* *
System.out.println('*' + '\t' + '*'); //输出:93
}
}
//char字符的+运算表示字符unicode编码相加
//String的+运算表示字符串拼接
正数的补码与反码、原码一样,称为三码合一
负数的补码与反码、原码不一样:
负数的原码:把十进制转为二进制,然后最高位设置为1
负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)
负数的补码:反码+1
二进制转八进制,转十六进制
将二进制三位三位拆分转八进制
将二进制四位四位拆分转十六进制
算法:
https://blog.csdn.net/m0_72805195/article/details/131584311