牛客java选择题每日打卡Day26
👩💻博客主页:京与旧铺的博客主页
✨欢迎关注🖱点赞🎀收藏⭐留言✒
🔮本文由京与旧铺原创,csdn首发!
😘系列专栏:java学习
👕参考网站:牛客网
💻首发时间:🎞2022年7月21日🎠
🎨你做三四月的事,八九月就会有答案,一起加油吧
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲
💬推荐一款模拟面试、刷题神器👉
🛒导航小助手🎪
牛客java选择题每日打卡Day26🛒导航小助手🎪🐱🚀选择题1正确答案: B 你的答案: C (错误)🐱🚀选择题2正确答案: C 你的答案: A (错误)🐱🚀选择题3正确答案: A 你的答案: D (错误)🐱🚀选择题4正确答案: A B C D 你的答案: A B (错误)🐱🚀选择题5正确答案: A B D 你的答案: B C (错误)🐱🚀选择题6正确答案: B C D 你的答案: B D (错误)🐱🚀选择题7正确答案: A C 你的答案: C D (错误)
🐱🚀选择题1
java中用()字指明继承关系,用()关键字指明对接口的实现。
正确答案: B 你的答案: C (错误)
implements extends
extends implements
extend implement
implement extend
-
答案:B
extends表继承父类
implements表是实现接口
🐱🚀选择题2
若有定义语句: int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是()
正确答案: C 你的答案: A (错误)
char
int
double
float
C
\1. 在表达式中,char 和 short 类型的值,无论有符号还是无符号,都会自动转换成 int 或者 unsigned int(如果 short 的大小和 int 一样,unsigned short 的表示范围就大于 int,在这种情况下,unsigned short 被转换成 unsigned int)。因为它们被转换成表示范围更大的类型,故而把这种转换称为“升级(promotion)”。
\2. 按照从高到低的顺序给各种数据类型分等级,依次为:long double, double, float, unsigned long long, long long, unsigned long, long, unsigned int 和 int。这里有一个小小的例外,如果 long 和 int 大小相同,则 unsigned int 的等级应位于 long 之上。char 和 short 并没有出现于这个等级列表,是因为它们应该已经被升级成了 int 或者 unsigned int。
\3. 在任何涉及两种数据类型的操作中,它们之间等级较低的类型会被转换成等级较高的类型。
🐱🚀选择题3
阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()
package NowCoder;
class Test {
public static void hello() {
System.out.println("hello");
}
}
public class MyApplication {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=null;
test.hello();
}
}
正确答案: A 你的答案: D (错误)
能编译通过,并正确运行
因为使用了未初始化的变量,所以不能编译通过
以错误的方式访问了静态方法
能编译通过,但因变量为null,不能正常运行
答案是A吧 这题我认为答案错了 因为Test类的hello方法是静态的,所以是属于类的,当实例化该类的时候,静态会被优先加载而且只加载一次,所以不受实例化new Test();影响,只要是使用到了Test类,都会加载静态hello方法! 另外,在其他类的静态方法中也是可以调用公开的静态方法,此题hello方法是使用public修饰的所以在MyApplication中调用hello也是可以的。 总结:即使Test test=null;这里也会加载静态方法,所以test数据中包含Test类的初始化数据。(静态的,构造的,成员属性) 因此test.hello是会调用到hello方法的。
🐱🚀选择题4
下面有关servlet的层级结构和常用的类,说法正确的有?
正确答案: A B C D 你的答案: A B (错误)
GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息
-
HttpServlet是GenericServlet的子类。 GenericServlet是个抽象类,必须给出子类才能实例化。它给 出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它。 HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。 一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。
🐱🚀选择题5
下列哪些方法是针对循环优化进行的
正确答案: A B D 你的答案: B C (错误)
强度削弱
删除归纳变量
删除多余运算
代码外提
代码优化也可分为局部优化、 循环优化和全局优化: 局部优化指的是在只有一个入口、 一个出口的基本程序块上进行的优化。 循环优化是对循环中的代码进行的优化,在一个程序运行时,相当多的一部分时间会花在循环上,因此,基于循环的优化非常重要。 全局优化是在整个程序范围内进行的优化。**
删除多余运算** 使生成的目标代码减少而执行速度较快
也叫删除公共子表达式
循环优化:对循环中的代码段,可以进行代码外提、强度削弱和删除归纳变量等优化。 删除多余运算应该不是专门针对循环优化的。
🐱🚀选择题6
在使用super和this关键字时,以下描述错误的是()
正确答案: B C D 你的答案: B D (错误)
在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
super()和this()不一定要放在构造方法内第一行
this()和super()可以同时出现在一个构造函数中
this()和super()可以在static环境中使用,包括static方法和static语句块
A选项正确,B选项,super()必须在第一行的原因是: 子类是有可能访问父类对象的, 比如在构造函数中使用父类对象的成员函数和变量, 在成员初始化使用了父类, 在代码块中使用了父类等等, 所以为保证在子类可以访问父类对象之前,一定要完成对父类对象的初始化。 关于this()必须在第一行的原因,我们假设这样一种情况,,类B是类A的子类, 如果this()可以在构造函数的任意行使用, 那么当程序运行到构造函数B()的第一行,发现没有调用this()和super(),那么就会自动在第一行补齐super() 来完成对父类对象的初始化, 然后返回子类的构造函数继续执行, 当运行到构造函数B()的"this() ;"时, 调用B类对象的构造函数, 还会对父类对象再次初始化!,这就造成了资源的浪费,以及某些意想不到的错误。也正因如此C选项错误。
D选项,无论是this()还是super()指的都是对象,而static环境中是无法使用非静态变量的。因此D选项错误。
🐱🚀选择题7
下面几个关于Java里queue的说法哪些是正确的()?
正确答案: A C 你的答案: C D (错误)
LinkedBlockingQueue是一个可选有界队列,不允许null值
PriorityQueue,LinkedBlockingQueue都是线程不安全的
PriorityQueue是一个无界队列,不允许null值,入队和出队的时间复杂度是O(log(n))
PriorityQueue,ConcurrentLinkedQueue都遵循FIFO原则
-
A、LinkedBlockingQueue是一个基于节点链接的可选是否有界的阻塞队列,不允许null值。 B、LinkedBlockingQueue是一个线程安全的阻塞队列,实现了先进先出等特性。 C、PriorityQueue是一个队列,不允许null值,入队和出队的时间复杂度是O(log(n))。 D、PriorityQueue是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。ConcurrentLinkedQueue是一个基于链接节点的
- 点赞
- 收藏
- 关注作者
评论(0)