Android笔试题(金山WPS)

这篇博客包含了Java和Android相关的笔试题目,涉及了字符存储、二叉树先序遍历、二分搜索算法、死锁示例、异常处理以及编程和设计题。简答题部分讲解了Java中char类型存储汉字的可能性,二叉树遍历,以及二分查找的返回值含义。编程题包括找出数组中唯一出现一次的元素和设计一个Rect对象缓存池。设计题则要求实现一个Android端的文本编辑器,包含撤销、还原等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简答题

1、char型变量中能不能存储一个中文汉字,为什么?

C语言中char是一个字节的大小,而汉字占2个字节,所以不能存储。

Java中char类型占2个字节,而且java默认采用Unicode编码,一个Unicode吗是16位,所以一个Unicode码占两个字节,Java中无论汉字还是英文字母都是用unicode编码来表示的。所以,在Java中char类型变量可以存储一个中文汉字。

2、 假设对一棵二叉树进行先序遍历,输出结果为:A B D C E G F H J。请写画出一棵符合上述结果的二叉树。

3、使用java工具函数 java.util.Arrays.binarySearch(int[] array, int value),在有序数组{1,4,6,8,10}中搜素整数5,请问返回值是多少,并说明binarySearch返回该值的意义。//-3

并不是心里想的没有找到就返回-1,而是使用二分查找法再不满足情况的条件下返回-(low + 1)

    private static int binarySearch0(int[] a, int fromIndex, int toIndex,
                                     int key) {
        int low = fromIndex;
        int high = toIndex - 1;

        while (low <= high) {
            int mid = (low + high) >>> 1;
            int midVal = a[mid];

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值