🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!欢迎志同道合的朋友一起加油喔🤺🤺🤺
目录
一、选择题
二、编程题
🔥最近公共祖先
🔥求最大连续bit数
一、选择题
1、下面哪个标识符是合法的?
A “9HelloWorld”
B “_Hello World”
C “Hello*World”
D “Hello$World”
正确答案: D
参考答案:
标识符是以大小写字母、数字、下划线、美元符号组成,不能艺术字开头。
2、以下java程序代码,执行后的结果是()
java.util.HashMap map=new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());
A 0
B null
C 1
D 2
正确答案: C
参考答案:
size() 方法用于返回在此映射中的键 - 值映射关系的数量。
HashMap在插入新元素时,会使用equals()方法判断集合中是否已经存在与新元素key相同的元素,如果存在,新元素会覆盖掉和他key相同的对象。
HashMap允许null作为key/value,因此map.put(“name”,null);会在map集合中存入key为"name",value为null的对象。map.put(“name”,“Jack”);会在map
集合中存入key为"name",value为"Jack"的对象。前后两次存入的对象的key都为"name",因此刚存入的key为"name",value为null的对象会被覆盖掉,即map中只有一个key为"name",value为"Jack"的对象。map.size()为1。
3、Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是
A ArrayList和LinkedList均实现了List接口
B ArrayList的访问速度比LinkedList快
C 添加和删除元素时,ArrayList的表现更佳
D HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
正确答案: C
4、以下描述正确的是
A CallableStatement是PreparedStatement的父接口
B PreparedStatement是CallableStatement的父接口
C CallableStatement是Statement的父接口
D PreparedStatement是Statement的父接口
正确答案: B
参考答案:
Statement是是PreparedStatement的父接口,PreparedStatement是CallableStatement的父接口。
5、下面有关重载函数的说法中正确的是
A 重载函数必须具有不同的返回值类型
B 重载函数形参个数必须不同
C 重载函数必须有不同的形参列表
D 重载函数名可以不同
正确答案: C
参考答案:
重载:必须同名函数;必须参数表不同(包含参数个数不同;参数类型不同;或参数个数与类型都不同)
6、下列关于容器集合类的说法正确的是?
A LinkedList继承自List
B AbstractSet继承自Set
C HashSet继承自AbstractSet
D WeakMap继承自HashMap
正确答案: C
接口是用来实现的,list、set是一个接口
7、ArrayList list = new ArrayList(20);中的list扩充几次
A 0
B 1
C 2
D 3
正确答案: A
8、以下程序的输出结果是?
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + " and ");
System.out.print(ex.ch);
}
public static void change(String str, char ch[])
{
str = "test ok";
ch[0] = 'g';
}
}
A good and abc
B good and gbc
C test ok and abc
D test ok and gbc
正确答案: B
9、下面的方法,当输入为2的时候返回值是多少?
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
A 0
B 2
C 4
D 10
正确答案: D
10、提供Java存取数据库能力的包是( )
A java.sql
B java.awt
C java.lang
D java.swing
正确答案: A
参考答案:
注解:java.sql提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。
二、编程题
🔥最近公共祖先
最近公共祖先_牛客题霸_牛客网
【解题思路】:
题目所描述的满二叉树如下: 1 / \ 2 3 / \ / \ 4 5 6 7 上述树中子节点与父节点之间的关系为root =child / 2 所以如果a != b,就让其中的较大数除以2, 如此循环直到a == b 即是原来两个数的最近公共祖先 比如: 2和7的最近公共祖先:7/2 = 3 —> 3/2 = 1, 2/2 = 1, 得到1为它们的公共祖先。
import java.util.*;
public class LCA {
public int getLCA(int a, int b) {
while(a!=b){
if(a>b){
a=a/2;
}else{
b=b/2;
}
}
return a;
}
}
🔥求最大连续bit数
求最大连续bit数_牛客题霸_牛客网
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int count=0;
int newCount=0;
while(sc.hasNextInt()){
int n=sc.nextInt();
while(n!=0){
if((n&1)==1){
count++;
newCount=Math.max(newCount,count);
}else{
count=0;
}
n>>=1;
}
}
System.out.print(newCount);
}
}