Java考试常考基础题(Examination Questions Parsing03)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Java考试常考基础题(Examination Questions Parsing03)

一、 单选题


1. int a=1; byte b=3; b=a+b; System.out.println(b); 以上代码执行的结果是( )


A、4


B、3


C、运行出错


D、编译时有错


[解析]:D   b是byte类型=int类型a+byte类型b  需求接收是byte传入int类型不匹配


2. 不能构成循环的语句是( )


A、for 语句


B、while 语句


C、switch 语句


D、do while 语句


[解析]:C   swith选择结构


3. 请问数组 int[] num = {1,-1,-56,56,12};,索引为 3 的元素值是?


A、1


B、-1


C、-56


D、56


[解析]:D   从开始


4. 有如下程序段:则表达式 a == b 与 s == s2 的结果分别是:( )。


20200906151320565.png


A、true 与 true


B、false 与 true


C、true 与 false


D、false 与 false


[解析]:B   前面有这道解析  


5. 下面代码中会报错的是第几行代码


20200906152320617.png


A、第一行


B、第二行


C、第三行


D、第四行


[解析]:C   c是byte类型=int类型i+byte类型b  需求接收是byte传入int类型不匹配


6. 下面数组定义错误的是()


A、int [] arr ={23,45,65,78,89};


B、int [] arr=new int[10] ;


C、int [] arr=new int[4]{3,4,5,6};


D、int [] arr={‘a’, 23 , 45 , 6};


[解析]:C   动态生命和静态声明不能同时都进行使用


7. 已知: int[] a =new int[100]; 请问以下给出的数组元素中会发生 ArrayIndexOutOfBoundsException 异常


A、a[0]


B、a[1]


C、a[99]


D、a[100]


[解析]:D 索引范围是0-99,100超出访问范围


8. 下面代码段中:运行结果是:( )


20200906152348517.png


A、String


B、不知道


C、编译出错


D、运行出错


[解析]:A 这个应该没什么问题


9. ArrayList 的初始化内容如下,下面可以删除 list 集合中所有的”b”的代码是()


20200906152417926.png


A、for (int i = 0; i < list.size (); i++) { if (list.get (i).equals ("b")) { list.remove (i); } }


B、for (int i = list.size ()-1; i > 0; i--) { if (list.get (i).equals ("b")) { list.remove (i); } }


C、list.remove ("b");


D、以上的代码都不能成功删除 list 集合中所有的”b”;


[解析]:B 一般是逆序删除到0,但是吧这个出题人是知道0号索引不为"b"所以大于0.我都想选D...


10. 下列代码,输出结果是?


20200906152452221.png


A、李小璐


B、贾乃亮


C、高圆圆


D、赵又廷


[解析]:D   返回删除的字符串,索引位置也是从0开始


选B 我以为选项和上面添加顺序一样没细看


11. 在 Java 中,关于构造方法,下列说法错误的是:()


A、构造方法的名称必须与类名相同


B、构造方法可以是有参的


C、 构造方法不可以重载


D、构造方法没有返回值


[解析]:C 构造方法可以重载但是不能重写因为重写是将父类有的方法重新写,但是构造方法不能被继承.


12. 以下哪个是通过下标向 String 对象获取对应位置字符的方法( )


A、get()


B、char()


C、getChar()


D、charAt()


[解析]:D  


20200906194109577.png


13. 下列 test 类中的变量 r 的最后结果为


20200906152558614.png


A、31


B、30


C、28


D、29


[解析]:A  ++x先运算变为11然后y--先用后算为20,相加31


14. 以下代码打印出的结果是


20200906152621161.png


A、itheima>>>1011;


B、info>>>1011;


C、info>>>21;


D、 itheima>>>21


[解析]D   这个题很容易迷惑,因为有个a++容易忽视,所以a=11>b=10走true,info为"itheima",+">>>"其实不是右移运算符就是个字符串,然后加起来后面的21即可.


15. 下面关于方法的参数说法不正确的是()


A、形式参数是在方法定义时的参数;


B、实际参数是方法调用时的参数;


C、方法调用时,形参实参之间的个数、顺序、类型都需要一致;


D、方法调用时,实参的变量名必须和形参的变量名一致;


[解析]D 做过不解释


二、 多选题


16. 执行下列代码后,哪个结论是正确的 String[] s=new String[10];


A、s[9] 为 null;


B、s[10] 为 “”;


C、s[0] 为 未定义


D、 s.length 为 10


解析:AD


A_String[] s=new String[10];

 //定义一个字符串数组,10个元素,但是元素中没有赋值

 //对于数组中元素是String类型,如果没有赋值 元素的初始值都是null

B_ s[10] 下标越界

C_  s[0] 定义了,初始值为null

D_  s.length为10  正确  数组是调用属性 初始化多大就返回多大 和集合不一样 集合的话就要看里面存着多少


17. 下面语句会造成数组 new int[10]越界异常:ArrayIndexOutOfBoundsException 的是()


A、a[0]+=9;


B、a[9]=10;


C、for(int i=0;i<=10;i++){a[i]++;}


D、a[a.length]


解析:CD

A_  a[0]+=9; <___> a[0]=a[0]+9;

B_  a[9] =10;  将最后一个元素赋值为10

C_  i<=10 发生问题

    如果i的取值为10 ,出现 a[10]++; 报错

D_  a[a.length]

    a.length取值为10   a[10] 越界


18. 下列数据中,不能存入到 ArrayList 中的是?


A、int


B、String


C、char


D、double


18解析:ACD

ArrayList中存储数据的类型只能是引用类型

int char double都是属于基本类型


19. 以下是循环的语句是


A、for 语句


B、while 语句


C、do while 语句


D、switch 语句


解析:送分


20. 下面哪些函数是 public void aMethod(){...}的重载函数?()


A、void getSum(int a ){...}


B、public int aMethod(int a, float b){...}


C、public int aMethod (){...}


D、private float aMethod (int m){…}


解析:BD

重载方法的概念

  同一个类中,方法名一致,但是方法的参数的个数,类型或者顺序不一致


三、 代码题


21. 商场根据消费金额不同,折扣也不同,折扣的规则如下(P 代表消费的总金额):


P>=2000 7 折,1000<=P<2000 8 折,500<=P<1000 9.5 折,0<=P<500 不打折


需求:根据输入的消费金额,输出对应的折扣和折扣前后的金额.


输出格式如下:



20200906153040893.png

import java.util.Scanner;
public class Test1 {
    public static void main(String[] args) {
    //创建Scanner对象
    Scanner sc=new Scanner(System.in);
    // 输入提示信息 请输入消费金额
        System.out.println("请输入消费金额");
    int num=sc.nextInt();
    //定义一个变量,最终价格
    double m=0;
    //根据打折规则,计算最终价格,输出对应的提示消息
        if(num>=0&&num<500){
        System.out.println("不打折,金额是:"+num);
    }else if(num>500&&num<=1000){
        m=num*0.95;
        System.out.println("折扣95折,打折前金额:"+num+",打折后的金额是:"+m);
    }else if(num>1000&&num<=2000){
        m=num*0.8;
        System.out.println("折扣8折,打折前金额:"+num+",打折后的金额是:"+m);
    }else if(num>2000){
        m=num*0.7;
        System.out.println("折扣7折,打折前金额:"+num+",打折后的金额是:"+m);
    }else{
        System.out.println("录入金额错误");
    }
    }
}



22. 1.定义一个学生类 Student,在类中定义两个属性 name(姓名):String 类型,score(分数):


int 类型,并将其私有化,提供 get/set 方法


2.定义测试类,在测试类中创建三个 Student 对象,第一个对象的属性赋值为 小红,80;


第二个对象的属性赋值为 小明 ,90;第三个对象的属性赋值为 小花,95


3.在测试类中,定义集合,将创建的三个 Student 对象存储到集合中,遍历集合遍历集


合取出三个 Student 对象的分数,计算出三个学生分数的平均值,将结果输出到控制台上

public class Student {
    private String name;//姓名
    private int score;//分数
    // getter and setter
}
public class TestStudent {
    public static void main(String[] args) {
        Student s1=new Student();
        Student s2=new Student();
        Student s3=new Student();
        s1.setName("小红");
        s1.setScore(80);
        s2.setName("小明");
        s2.setScore(90);
        s3.setName("小花");
        s3.setScore(95);
        ArrayList<Student> list=new ArrayList<>();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        double avg=0;
        int sum=0;
        for(int i=0;i<list.size();i++){
            Student s=list.get(i);
            sum+=s.getScore();
        }
        avg=1.0*sum/list.size();
        System.out.println("三名学生的平均分是:"+avg);
    }
}

太简单了懒得写了.写完了,这份卷子比较简单.这种题就是记住,集合操作对象,对象操作方法,方法调用属性.


目录
相关文章
|
10月前
|
Java 数据库 数据安全/隐私保护
基于Java的公务员考试资料共享平台的设计与实现
基于Java的公务员考试资料共享平台的设计与实现
177 0
|
10月前
|
JavaScript Java 测试技术
基于JAVA语言的在线考试与学习交流网页平台附带文章和源代码设计说明文档ppt
基于JAVA语言的在线考试与学习交流网页平台附带文章和源代码设计说明文档ppt
60 1
|
9月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的java语言的考试信息报名系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的java语言的考试信息报名系统附带文章源码部署视频讲解等
68 0
|
10月前
|
XML Java 开发工具
阿里云大学考试Java高级题目及解析-java高级
阿里云大学考试Java高级题目及解析-java高级
57 0
|
10月前
|
SQL Java 开发工具
阿里云大学考试Java中级题目及解析-java中级
阿里云大学考试Java中级题目及解析-java中级
46 0
|
10月前
|
Java 开发工具 数据库
阿里云大学考试Java初级题目及解析-java初级
阿里云大学考试Java初级题目及解析-java初级
57 0
|
存储 前端开发 Java
Java Web框架,如Spring MVC,是一种用于构建Web应用程序的软件框架:学生考试Web应用程序
Java Web框架,如Spring MVC,是一种用于构建Web应用程序的软件框架。它们提供了一种结构化的方法,用于处理Web请求、生成动态内容和管理Web应用程序的组件。以下是关于Java Web框架和Spring MVC的详细解释,以及如何使用Spring MVC创建一个简单的Web应用程序的示例代码。
147 0
|
5天前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
106 60
【Java并发】【线程池】带你从0-1入门线程池
|
1天前
|
Java 调度
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
当我们创建一个`ThreadPoolExecutor`的时候,你是否会好奇🤔,它到底发生了什么?比如:我传的拒绝策略、线程工厂是啥时候被使用的? 核心线程数是个啥?最大线程数和它又有什么关系?线程池,它是怎么调度,我们传入的线程?...不要着急,小手手点上关注、点赞、收藏。主播马上从源码的角度带你们探索神秘线程池的世界...
20 0
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
|
17天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
78 14

热门文章

最新文章