Java03-数据类型与运算-数据类型与运算
Task1.变量和数据类型
变量用于存放数据。
在Java中,变量分为基本类型和引用类型(类似于CS中的指针变量)。
基本类型有八种,都是Java语言预先定义好的关键字,分别是整型(4种),字符型(1种),浮点型(2种),布尔型(1种)
说出这八种基本数据类型,
说出四种整型数据类型占用的字节数和表示范围
不同的基本数据类型之间进行计算,比如int类型和long类型的变量相加,需要进行类型转换,请了解自动类型转换和强制类型转换。
int a=4 char c='0'; int b=a+c; 请回答这个过程涉及到的是自动类型转换还是强制类型转换,b的值是多少,为什么会是这个值。
int a=4 char c='0'; int b=a+c; 请回答这个过程涉及到的是自动类型转换还是强制类型转换,b的值是多少,为什么会是这个值。
[拓展]请了解包装类,引用类型和基本数据类型缓存池。给出下面代码的输出结果并解释原因。
Integer x = new Integer(18); Integer y = new Integer(18); System.out.println(x == y); Integer z = Integer.valueOf(18); Integer k = Integer.valueOf(18); System.out.println(z == k); Integer m = Integer.valueOf(300); Integer p = Integer.valueOf(300); System.out.println(m == p);
Integer x = new Integer(18); Integer y = new Integer(18); System.out.println(x == y); Integer z = Integer.valueOf(18); Integer k = Integer.valueOf(18); System.out.println(z == k); Integer m = Integer.valueOf(300); Integer p = Integer.valueOf(300); System.out.println(m == p);
Task2.运算符
运算符分为算数运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、三元运算符。请了解上述运算符后回答下列问题。
- 算数运算符除了我们熟知的加减乘除(+ - * /)外,还有取余(%),自增(++),自减(--)。为了加深你对于自增运算符的理解,请执行下列代码,给出结果,并大概解释计算的过程。
int a = 5 ;
int b = 7 ;
int c= (++a) + (b++)
System.out.println( c );
System.out.println(a+" "+b);
int a = 5 ;
int b = 7 ;
int c= (++a) + (b++)
System.out.println( c );
System.out.println(a+" "+b);
对初学者来说,位运算符比较难理解。其实位运算就是对数字背后的二进制形式进行操作。比如5<<1,表示把5往左移一位,就是先将5转化为二进制101,把101往左移动1位,不够的位用0补位,得到1010,还原为十进制的大小就是10。
[拓展] 请了解补码。
若a=0010(二进制),说出 a&(-a) 的二进制形式是什么。对于任意的非负整数a,式子a&(-a)表示的数是什么,为什么得到这个结果(不用严格证明)。
其实这是一个著名的函数lowbit,应用之一就是树状数组。
出题人QQ:2575824162
本题提交方式
主题示例:2024090101012-张三-JAVA-03