一些简单面试题

最近面试了多家中小型公司后,发现,自己居然有些特别基础的东西还是不了解,今天特地记录一下,如果恰好你也不懂那正好一起补补,QAQ。

第一题

答案已经在图上了,但是你知道这句话错在哪吗,对了,notify方法之后获得该对象锁,进入的是就绪状态 ,详解请看字节大佬讲解Java线程状态转化

第二题

 B错在:char类型和int类型相加的结果一定是字符,肯定是不对的,在默认情况下输出的是int类型,下面看一个试验

        char c1='A';
        int h = 1;
        char m1 = 'B';
        System.out.println(c1+h);

结果:输出的是66    

也就是说,结果未指定类型的情况,默认输出的是码值(ASCII码表对应的值),即int类型.
如果指定了类型,输出的就是那个类型.比如char.
我的总结:
字符参与运算,其实是拿字符对应的码表中的数字进行运算的,
如果本身不是字符,而是int类型或char类型的数字(默认为码值,比如 char a = 10, int a = 10;这里的10都会默认为码值10),则就先转换其他字符对应的码值再计算结果,找到结果对应的字符.如果类型为char型,则输出字符,如果不是,则输出结果码值.

C错在:double是高精度,int是低精度,高—>低,需要强制转化

D:结果一定是String

第三题:

 想要做出这道题,你得先了解栈的进栈出栈顺序,先进后出

首先我们来分析A为什么错,如果5都进来了,那是不是1,2,3,4都依次进入了,5,4先出栈没问题,但是1的最先进来的所以,它的最后一个出

分析B为什么是对的,首先1,2先进栈,然后2出栈,3进栈出栈,4进栈出栈,1出栈,5进栈出栈

C为什么是对的,1进栈出栈,然后2,3,4,5依次进栈,然后5,4,3,2依次出栈,没问题

D为什么是对的,1,2进栈,2出栈,3进栈出栈,1出栈,4进栈出栈,5进栈出栈

第四题:

 首先我先说为什么D不对吧,抽象方法不允许,有方法体。

C为什么不对,已经存在method方法,如果要重载,不能改变方法的返回值

B为什么不对,不能直接在类中做运算赋值;

第五题,是在博客上看到一个大佬面试别人的一到题,个人觉得很有趣,在自己这记录一下。

题目是    不用反射,能否实现一个方法,调换两个 String 对象的实际值?

String yesA = "a";
String yesB = "b";
//能否实现这个 swap 方法
// 让yesA=b,yesB=a?
swap(yesA, yesB); 

答案,是不能的;

原文地址,作者讲的非常详细了,我在这就不多赘述了。

如果文章中,有不对的地方,欢迎大家,多多指出,谢谢.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值