• Java面向对象编程


    下面哪个标识符是合法的?

    A.9HelloWorld

    B._Hello World

    C.Hello*World

    D.Hello$World

    答案:D

    以下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

    Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()

    A.ArrayList和LinkedList均实现了List接口

    B.ArrayList的访问速度比LinkedList快

    C.添加和删除元素时,ArrayList的表现更佳

    D.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

    答案:C

    以下描述正确的是

    A.CallableStatement是PreparedStatement的父接口

    B.PreparedStatement是CallableStatement的父接口

    C.CallableStatement是Statement的父接口

    D.PreparedStatement是Statement的父接口

    答案:B

    下面有关重载函数的说法中正确的是()

    A.重载函数必须具有不同的返回值类型

    B.重载函数形参个数必须不同

    C.重载函数必须有不同的形参列表

    D.重载函数名可以不同

    答案:C

    下列关于容器集合类的说法正确的是?

    A.LinkedList继承自List

    B.AbstractSet继承自Set

    C.HashSet继承自AbstractSet

    D.WeakMap继承自HashMap

    答案:C

    ArrayList list = new ArrayList(20);中的list扩充几次

    A.0

    B.1

    C.2

    D.3

    答案:A

    以下程序的输出结果是?

    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

    下面的方法,当输入为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

    提供Java存取数据库能力的包是( )

    A.java.sql

    B.java.awt

    C.java.lang

    D.java.swing

    答案:A

    最近公共祖先

    将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给

    定a, b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可

    能是结点本身。

    输入: 2   3

    输出: 1

    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数

    求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为

    00000011,最大连续2个1

    数据范围:数据组数:1<=t<=5, 1<=n<=500000

    进阶:时间复杂度:O(logn),空间复杂度:O(1)

    方法1
    
    public class Main6 {
    
        // 求最大连续bit数
    
        public static void main(String[] args) {
    
            Scanner scanner=new Scanner(System.in);
    
            while (scanner.hasNext()){
    
                int n=scanner.nextInt();
    
                int count=0;
    
                int modCount=0;
    
                while (n !=0){
    
                    if ((n & 1) ==1){
    
                        count++;
    
                        modCount=Math.max(modCount,count);
    
                    }else {
    
                        count=0;
    
                    }
    
                    n>>=1;//左移一位
    
                }
    
                System.out.println(modCount);
    
            }
    
        }
    
    }

    方法2:

    public class Main {

        public static void main(String[] args) {

            //求最大连续bit数

            Scanner scanner=new Scanner(System.in);

            int n=scanner.nextInt();

            Stack stack=new Stack<>();

            int count1=0;

            while (n !=0){

                while (n % 2==1){

                    count1++;

                    n=n/2;

                }

                if (n % 2==0){

                    stack.push(count1);

                    count1=0;

                }

                n=n/2;

            }

            int max=0;

            while ( !stack.isEmpty()){

                int ret=stack.pop();

                if (ret > max){

                    max=ret;

                }

            }

            System.out.println(max);

        }

    }

  • 相关阅读:
    低代码如何构建支持OAuth2.0的后端Web API
    域对象(request域对象)共享 数据方法(五种servletApi,ModelandVies,Model,map,ModelMap)
    Redis学习2——String数据类型的操作
    el-table筛选数据
    OPPO手机便签数据搬家到华为mate60Pro手机怎么操作
    词!自然语言处理之词全解和Python实战!
    php表单提交并自动发送邮件给某个邮箱(示例源码下载)
    课程:压力管理
    【Python】基础语法1(常量与表达式、变量和类型、注释、输入输出、运算符)
    音视频 - H264结构
  • 原文地址:https://blog.csdn.net/weixin_64308540/article/details/132908552