Android 面试java知识小结

1.-1的二进制是多少,怎么算出来的?
1111 1111 在计算机里是以补码的形式存在的,那为什么要使用补码呢?

计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 [1] 。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理
-1 转换成二进制是 1000 0001 反码是符号位不变,其他取反 1111 1110 补码是 反码加1 那就是 1111 1111了,需要提醒的是正数的原码,反码,补码,一样。

2.Java中的byte详细的介绍一下

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。

在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。

3.Java 的基础数据类型有哪些,分别占多少存储?
8种基础数据类型:
1、整型

byte 、short 、int 、long

2、浮点型

float 、 double

3、字符型

char

4、布尔型

boolean
在这里插入图片描述
boolean (布尔值) 单独4字节,在数组中是1字节 false Boolean

4.如何将byte转换成int?
&0xFF int 是32位的, 0xFF 也是32位 实际上是:0000 0000 0000 0000 0000 0000 1111 1111 将二进制 前24位置0,因为如果二进制 符号位为负,前面24位为补1。

5.重载和重写的区别:
重载是方法名一样,参数不同, 重写要求方法名一样,参数也一样。需要注意的是 重写的时候,返回参数是固定的不允许改变的,但是方法的访问权限允许往大了该,比如父亲是protect的 子类允许是protect,允许是public的,但如果是private ,你就无法往大了改了。重载允许改返回类型和访问权限的基础是你要保证参数不同。下面是测试结果:

在这里插入图片描述
在这里插入图片描述

6.单例模式的构造函数要private ,防止外部调用,单例的意义不复存在。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值