栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVASE阶段测试试卷

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVASE阶段测试试卷

以下答案为博主写的 不是百分百对 简答题和编程题 答案不唯一
这套题坑人的地方很多
如果有不一样的答案请评论 谢谢

文章目录
  • JAVASE阶段测试试卷
    • 一、不定项选择题:
    • 二、填空题:
    • 三、程序阅读题
    • 四、简答题
    • 五. 编程题

JAVASE阶段测试试卷

注意事项:笔试时间100分钟,笔试题满分120分。
请使用钢笔或者圆珠笔填写试题答案。
请在规定处填写您的答案,选择题在试卷前部答题卡中填写答案,
程序题答案请写在答题纸上。
请不要在试卷上涂写与试题无关的的标记。

一、不定项选择题:

(每题2分,共40分,请选择正确答案的编号,
填在各题前的括号内)。

  1. 下面哪些是合法的标识符 ( BD)。
    A. class
    B. $abc
    C. 1234
    D. _name
  2. 在Java中,下列哪些说法是正确的 ( ac )。
    A. java源文件的扩展名为.java
    B. 写好的java源程序可以直接运行
    C. 编写的源程序必须先编译后才能运行
    D. 程序员可以读懂扩展名为.class
    的文件
  3. 下面哪些赋值语句是正确的 (abd )。
    A. long test = 012;
    B. float f = -412F;
    C. int other = (int) true;
    D. double d = 0x12345678;
  4. 在Java中,下列语句不能通过编译的有 (bd )。
    A. String s= “join”+ 3;
    B. int a= “join”+3;
    C. int a= ‘a’+5;
    D. float f=5+5.5;
  5. 下列代码的输出结果是(b)
boolean b=true?false:true==true?false:true; System.out.println();       


A. true
B. false
C. null
D. 空字符串
解释

boolean b=true?false:true==true?false:true;
boolean b=true?false:(true==true)?false:true;
boolean b=true?false:true?false:true;
boolean b=true?false:(true?false:true);
boolean b=true?false:false;
boolean b=false;


  1. 下列代码运行的结果是 ( C )。
    public static void main(String[] args) {
    int x = 4;
    int y = 5;
    if(x++>4 & ++y>5) {
    x++;
    }
    System.out.println(“x=” + x + “,y=” + y);
    }
    A. x=4,y=5
    B. x=4,y=6
    C. x=5,y=6
    D. x=6,y=6
  2. 尝试运行下面的代码会发生什么? ( B )。
public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}

A. 输出字符串”true”
B. 输出字符串”false”
C. 编译时错误
D. 运行时错误
8. 编译并运行以下代码将发生什么( E )。

public static void main(String args[]){
char digit = 'a';
for (int i = 0; i < 10; i++){
switch (digit){
case 'x' : {
int j = 0;
System.out.println(j);
}
default : {
int j = 100;
System.out.println(j);
}
}
}
int i = j;
System.out.println(i);
}

A. 输出11次100
B. 输出10次100,然后抛出运行期异常
C. 编译错误,因为变量i不能在main()方法中被声明2次
D. 编译错误,因为变量j不能在main()方法中被声明2次
E. 以上都不对
9.

class Demo{
public static int fun(int c) {
return c+=2;
}
public static void main(String[] args) {
int temp = fun(2);
System.out.println(temp);
}
} 

打印结果是( B )。
A. 2
B. 4
C. 6
D. 8
10. 下面哪些函数是public void aMethod(){…}的重载函数 ( B D )。
A. void aMethod( ){…}
B. public int aMethod(int a, float b){…}
C. public void aMethod (){…}
D. public float aMethod (int m){…}
11. 在java中,关于数组描述正确的是( B C D )。
A. 数组中的索引下标从1开始
B. 存储在数组当中的数据都属于同一数据类型
C. 通过数组名.length()能获得数组的长度
D. 数组的最大索引下标是数组的长度减1

解释
c应该没有括号

  1. 下面程序的输出结果是什么 ( D )。
    int[] arr = new int[10];
    System.out.println(arr[0]);
    A. 编译不通过
    B. 运行时出错
    C. 输出null
    D. 输出0
  2. 下面哪个语句正确地声明一个整型的二维数组 ( C D)。
    A. int a[][] = new int[][]; B. int b[10][10] = new int[][];
    C. int c[][] = new int[10][10]; D. int []d[] = new int[10][10];
  3. 以下代码输出是 ( D )。
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 10) {
i++;
if (i % 2 != 0)
continue;
sum += i;
}
System.out.println(sum);
}

A. 55
B. 45
C. 35
D. 30
E. 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 F. 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
15. 下面关于java中包的说法正确的是 ( a,d )。
A. 在java中可以使用import语句导入包
B. 在java中可以使用package语句导入包
C. 位于同一个包中的类,不需要导包就可以直接访问
D. 不同的包中可以出现类名相同的类
16.下列关于Java语言的特点,描述错误的是(C )
A.Java是跨平台的编程语言
B.Java支持分布式计算
C.Java是面向过程的编程语言
D.Java支持多线程
17.在switch(expression)语句中,expression的数据类型不能是( A )
A. double B. char C. byte D. short
18. 已知int[] arr = new int[10];下列给出的数组元素中,错误的是(C )
A. arr[ 6] B. arr[ 9] C. arr[ 10] D. arr[0]
19.给出代码 ( B):

public class Test {  	
     public static void main(String[] args){ 
            int a=10; 
int b=5; 
            if(++a>=b++&& a--<=b--) { 
               a++;      
           	   b--;           
  					} 
            System.out.println(a+b);      
}  
} 

运行此类后,运行后显示如下:
A:13
B:15
C:20
D:25
E:以上都不是
20.在java语言中,哪一个包中的类是自动导入的?(D )
A. java.io
B. java.applet
C. java.awt
D. java.lang

二、填空题:

(每题2分,共 16分)。
1.Java源程序文件和字节码文件的扩展名分别为( .java )和(.class )。
2.结构化程序设计所规定的三种基本控制结构是(for )、( while )、(switch)。
3.switch语句中,在每个case语句后进行跳转的语句是(break )。
4.java语言中的三目运算符格式( x>y?x:y )。
5.设a = 8,则表达式a >>> 2的值是( 2 )。
6.设x = 2,则表达式( x + + )* 3的值是(6 )。
7.若x = 5,y = 10,则x > y&&x++ == y–的逻辑值为(flase )。
8.Java语言中,移位运算符包括:>>、<<和( >>> <<< ).

三、程序阅读题

(每题3分,共12分)。
1

. public class Sum{
public static void main(String [] args){
int j=10;
System.out.println("j is : "+j);
calculate(j);
System.out.println("At last, j is : "+j);
}
static void calculate (int j){
for (int i = 0;i<10;i++)
j++;
System.out.println("j in calculate() is: "+j);
}
}

程序的运行结果是:

j is :10
j in calculate() is:11
j in calculate() is:12
j in calculate() is:13
j in calculate() is:14
j in calculate() is:15
j in calculate() is:16
j in calculate() is:17
j in calculate() is:18
j in calculate() is:19
j in calculate() is:20
At last, j is :10
  1. 阅读下列程序,写出程序运行的结果:
public class Compute {
  public static void main (String[] args) {
  	  	int first=1,second=1,third;
		System.out.print(first+” “+second+” “);
		for(int i=3; i<=7; i++){
			third = first + second;
			System.out.print(third+” “);
			first = second;
			second = third;
		}
	}
}

(1)程序第5-10行的for循环共循环几次?5次
(2)程序输出的结果是什么?
我可以说报错吗?4行引号有问题
应该结果是
1 1 2 3 5 8 13

  1. 阅读以下程序,写出输出结果。
public class TestArray{
	public static void main(String args[]){
		int i,j;
		int a[] = {5,9,6,8,7};
		for(i=0;i 

程序运行结果是:
5 6 7 8 9

public static void main(String args[]) {
     		int a=10; 
      	int b=20; 
boolean flag = a++>b-- && b++>a--;     
System.out.println(flag+",a="+a+",b="+b); 
} 

求程序的输出结果:
flase,a=11,b=19

注 简答题内容仅供参考 请不要学我 尤其是第4题

四、简答题

(每题3分,共12分)。

  1. 在一个循环中使用break和continue语句有什么不同的效果?
    Break退出当前循环
    continue退出当次循环

  2. 请简述while语句和do-while语句的区别?
    Where 先判断后执行
    Do—while先执行后判断

  3. 简述什么是方法的重载?
    使一个方法可以输入不同类型的数据
    分别处理

4.定义一个方法的格式是什么,以及方法的注意事项?
Public 共有的 (可有可无)
viod 返回值 (必须存在)
姓名 (必须存在)
() 行参类型
Return 根据返回值类型返回

注 以下都非标准答案 答案不唯一

五. 编程题

(共 40 分)
1.(不死神兔)需求:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。
假如兔子都不死,问第二十个月的兔子的对数是多少?

public class main1 {
    public static void main(String[] args) {
        int i=1;
        int j=1;
        for (int k=3;k<=20;k++){
            if (ij?i:j)+"个兔兔");
    }
}

有6765个兔兔

额这道题我就写了个斐波那契数列

2.(经典案例)请编程实现下面的要求:在编程竞赛中,有10个评委
通过键盘录入方式为参赛的选手打分(整数),选手的最后得分为:去掉一个最高分和一个最低分后其余8个选手的平均值。(求平均值);

import java.util.Scanner;

public class main2 {
    public static void main(String[] args) {
        int [] cj=new int[10];
        Scanner in=new Scanner(System.in);
        for (int i=0;i<10;i++){
            cj[i]=in.nextInt();
        }
        int max=cj[0];
        int min=cj[0];
        int num=0;
        for (int i=0;i<10;i++){
            num+=cj[i];
            if (cj[i]>max){
                max=cj[i];
            }
            if (cj[i] 

3.一张单据上有一个5位数的密码1XX23, 这个数能被3和7整除 , 设计一个算法 , 求XX可能为多少

public class main3 {
    public static void main(String[] args) {
        for (int i=0;i<100;i++){
            if ((10000+i*100+23)%3==0&&(10000+i*100+23)%7==0){
                System.out.println(10000+i*100+23);
            }
        }
    }
}

11823
13923
16023
18123

4.在有如下的一个数组:
Int[] arr1 = {1,2,0,5,6,0,2,0,0,4,5,0,7,0,8},要求将以上数组中值为 0的项去掉,将不为0的值存入到一个新的数组,生成的新数组为 int[] arr2 = {1,2,5,6,2,4,5,7,8}

public class main4 {
    public static void main(String[] args) {
        int[] arr1 = {1,2,0,5,6,0,2,0,0,4,5,0,7,0,8};
        String heiehi="";
        for (int i:arr1)
            if (i!=0)heiehi+=i;
        int[] arr2 =new int[heiehi.length()];
        for (int i=0;i 

125624578

5.求100内的质数,并统计个数

public class main5 {
    public static void main(String[] args) {
        int num=2;
        System.out.print("100以内的质数有:"+1+" "+2+" ");
        for (int i=2;i<100;i++){
            for (int J=2;J 

100以内的质数有:1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
100以内的质数有:26个

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号