Java 基础知识测试-2

基础知识点题目:

1. &和&&的区别?

2. 最有效率的方法计算 2 × 8 2\times8 2×8.

3. 在没有使用临时变量的情况如何交换两个整数变量的值?

4. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?

5.float f = 3.4;是否正确?


知识点归纳:

1. 解答:

& 表示两个布尔值同时为真才为真,进行判断时 & 的两边都要进行判断;&& 为短路与逻辑运算符,当 && 的左边的布尔值为假时,不用再判断 && 右边的布尔值真假,便可得出结论该运算的布尔值为 false。

实例如下:

在这里插入图片描述
电路问题总结:

  • 对于:& --》不管怎样,都会执行“&”符号左右两边的程序;
  • 对于:&& --》只有当符号“&&”左边程序为真(true)后,才会执行符号“&&”右边的程序。

运算规则:

  • 对于:& --》只要左右两边有一个为 false,则为 false;只有全部都为 true的时候,结果才为 true;
  • 对于:&& --》只要符号左边为 false,则结果为 false;当左边为 true,同时右边也为 true,则结果为 true。

2. 解答:

2 << 3;因为将一个数左移 n 位,就相当与乘以 2 的 n 次方。所以 2 × 8 2\times8 2×8 = = = 2 × 2 2 2\times2^{2} 2×22 = = = 2 3 2^{3} 23 = = = 16 16 16.

示例如下:
在这里插入图片描述


3. 解答:

可以利用两个数的相加减进行变量的交换。

如下图:
在这里插入图片描述


4. 解答:

  1. 错误,s1 = s1 + 1等号右边式子,s1是short类型,1 是整型,s1会自动转换为int型的1,与1相加后,得到int型的2,要向short s1 = 1 左侧的s1看齐,即需要通过强制类型转换,正确写法为:s1 = (short)(s1+1);
  2. 正确,执行 s1 += 1,其实执行的是 s1 = (short)(s1+1),其中会有一个强制转换的过程。

5、 解答:

不正确;3.4 后面要加上 f,正确形式为 float f = 3.4f;不加上 f 就会默认为 double 型。

示例如下:

在这里插入图片描述
解决方案 1:
在这里插入图片描述
解决方案 2:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值