Java 每日一练 (7)

Java每日一练(7)

单选


1. JAVA属于( )。

A 操作系统

B 办公软件

C 数据库系统

D 计算机语言


答案 : java 是属于一门语言,是 计算可以识别的语言, 所以 答案 D


2. 类声明中,声明抽象类的关键字是 ( )


A public

B abstract

C final

D class


答案 : 本题也非常简单, 声明抽象类的关键字为 abstract , 所以答案 B ,

A : public 修饰访问限定符 表示公有的

C :final 表示常量 , 常数的意思,修饰类表示真个类不能被继承的,修饰方法表示真个方法不能重写的 , 修饰一个引用,引用指向的实例不能改变,但是实例的属性可以改变.

D :class 定义类的关键字 。


3. 在使用 interface 声明一个接口时,只可以使用()修饰符修饰该接口


A private

B protected

C private protected

D public


答案 : 这里 只能使用 public 来修饰接口, 所以答案选D


4. Math.round(11.5) 等于()


A 11

B 11.5

C 12

D 12.5


答案 : round 是一个数学上的函数 表示 四舍五入 , 这里的结果 ,就会以一个 int 或long 输出, 这里5 入 ,所以结果为 12 ,选 C


5. 以下对继承的描述错误的是()


A Java中的继承允许一个子类继承多个父类

B 父类更具有通用性,子类更具体

C Java中的继承存在着传递性

D 当实例化子类时会递归调用父类中的构造方法


答案 :

A : 错误 ,在java中不允许 一个子类继承多个父类

演示 : C 尝试继承 A 和 B 类

在这里插入图片描述


B :正确 ,父类代表这一个类型共同的特点 (对多个类中共性的抽取),子类可以在自己的类中加上自己特有的属性 。


C : 正确 ,

B 继承了 A , C 继承了 B , 此时 C 同样也可以拥有 A 的属性,这里就是 java继承中的传递性.

在这里插入图片描述


D :正确 , 在学习继承的时候,就重点说过,当我们 new 子类对象的时候,会先调用 子类的构造方法, 在调用子类的构造方法的时候,会先显示的帮助父类进行构造 (通过 super() , 注意 : 我们没写不代表没有,编译器会默认提供一个不带参数的构造方法),父类构造完成,才会轮到子类自己 .

6. 在 java 中 , 一个类()


A 可以继承多个类

B 可以实现多个接口

C 在一个程序中只能有一个子类

D 只能实现一个接口


答案 :

A :上面说过 ,所以错误 ,

B : 正确 , 我们的类是可以实现多个接口的,通过关键字 implements , 接口之间使用 逗号 隔开 .

C : 错误 ,一个类 可以派生出多个子类 。

这里的 B 和 C 都是 A 的子类


D : 错误 , 我们的类可以实现多个接口.


7. 关于以下程序代码的说明正确的

在这里插入图片描述


A 5行不能通过编译,因为引用了私有静态变量

B 10行不能通过编译,因为x是私有静态变量

C 程序通过编译,输出结果为:x=103

D 程序通过编译,输出结果为:x=102


答案 : 这里 x 被 static 修饰 是放在方法区的,只有一份, 我们不管new 多少个实例,调用 这个 x 都是同一份 ,所以 new hs1.x++ , x变为了 101 , hs2.x++ 变成了 102 , 再后来 又被 hs1.x++ 变成了103 , 最后 我们通过 类名进行调用 ,让x-- ,所以 最终 x = 102 ,

注意 : 被static 修饰的静态成员变量或方法我们一般推荐直接使用类名来调用 , 你看编译器上 通过 实例来调用的直接报警告也能证明 .


运行 得出结果 :

在这里插入图片描述


8. 以下 _____ 不是 Object 类的方法


A clone()

B finalize()

C toString()

D hasNext()


答案 : 如果不熟悉 Object 源码, 这道题就比较难选 ,下面观察 Object 的方法, 就能够发现 只有 D 是没有的。

在这里插入图片描述

这里 hashNext() ,是属于迭代器 Iterator中的方法 。

在这里插入图片描述


9. 下面哪一项不是 java 类访问权限控制关键字


A public

B this

C private

D protected


答案 : 本题非常简单 B ,我们的访问权限修饰限定符 又 public ,protected ,default 包访问权限限定符(一般什么都不加) ,这里是为了与其他对标,才写了个 default , private


this 当前的, 主要用法, 1.调用当前类 中的方法或变量,2.调用当前类的构造方法。


10. java 语言使用的字符码集是


A ASCII

B BCD

C DCB

D Unicode


A : ASCII 主要是 对 特殊字符 0 - 9 , 大小写字母 进行编码

B : BCD 对数字进行编码

C : DCB 不做讨论

D : Unicode , java 中使用的就是 Unicode .


简单了解 , 记住java 使用的 就是 Unicode 进行编码的即可.

Unicode又称为统一码、万国码、单一码,是国际组织制定的旨在容纳全球所有字符的编码方案,包括字符集、编码方案等,它为每种语言中的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台的要求。

编程题


题目一 : Fibonacci数列_牛客题霸_牛客网 (nowcoder.com)

在这里插入图片描述


附上代码 :

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n = in.nextInt();

        int a = 0;
        int b = 1;
        int c = a + b;
        while(c < n){
    
    
            // 求出第一个大于 n 的斐波那契数
            a = b;
            b = c;
            c = a + b;
        }
        // 此时 b 为 第一次大于 n 的上一个斐波那契数

        int result = n - b < c - n ? n - b : c - n;

        System.out.println(result);
    }
}


题目二 :

在这里插入图片描述


代码如下 :

import java.util.*;

public class Parenthesis {
    
    
    public boolean chkParenthesis(String A, int n) {
    
    
        // write code here

        // 创建我们的栈用于保存 ( 括号
        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < A.length(); i++) {
    
    
            char c = A.charAt(i);

            if (c == '(') {
    
    
                //  ( 直接入栈
                stack.push(c);
            } else if (c == ')') {
    
    
                // 此时 为 ) ,判断 栈是否为空 ,
                // 为空 就是 ))) 这种情况 返回 false
                if (stack.isEmpty()) {
    
    
                    return false;
                }
                // 此时不为空 , 出栈
                stack.pop();
            } else {
    
    
                // 字母部分
                return false;
            }
        }
        
        // 走到这里 判断一下栈是否为空 ,防止出现 (((( ))) 这种情况
        return stack.isEmpty() ? true : false;

    }
}

猜你喜欢

转载自blog.csdn.net/mu_tong_/article/details/128147527