Java基础期中考试
一、填空题
1. Java的三大体系分别是__ JavaEE _、_ JavaSEJavaME _____。
2. Java程序的运行环境简称之为__ JRE ____。
3. Java中的程序代码都必须在一个类中定义,类使用___class___关键字来定义。
4. 布尔常量即布尔类型的两个值,分别是_true_____和___false___。
5. Java中的注释可分为三种类型,分别是__单行注释____、_多行注释__、___文档注释___。
6. Java中的变量可分为两种数据类型,分别是___基本数据类型___和__引用数据类型____。
7. 在Java中,byte类型数据占___1___个字节,short类型数据占___2___个字节,int类型数据占___4___个字节,long类型数据占__8____个字节。
8. 在逻辑运算符中,运算符__ &____和___&&___用于表示逻辑与,___| __和___||___表示逻辑或。
9. 若x = 2,则表达式 ( x + + )/3 的值是___0___。
10. 若int a =2; a+=3;执行后,变量a的值为___5___。
11. 若int []a={12,45,34,46,23}; ,则a[2]= ___34___。
12. 若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ___56___。
二、选择题
    1、以下选项中,哪些属于JDK工具?(多选)ABCD
A、Java编译器  B、Java运行工具  C、Java文档生成工具  D、Java打包工具
2、Java属于以下哪种语言?C
A、机器语言  B、 汇编语言    C、高级语言    D、以上都不对
3、下面哪种类型的文件可以在Java虚拟机中运行?D
A、.java      B、.jre        C、.exe    D、.class
4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种? B
A、Java文档制作工具  B、Java解释器  C、Java编译器      D、Java启动器 
5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?B
A.d:\jdk;        B.d :\jdk\bin;    C.d:\jre\bin;       D.d:\jre;
6、以下选项中,哪些属于合法的标识符?(多选)AD
A、Hello_World    B、class    C、123username    D、username123
7、以下关于变量的说法错误的是? C
A、变量名必须是一个有效的标识符
B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序中的任何位置都可以被访问
D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
8、以下选项中,switch语句判断条件可以接收的数据类型有哪些? (多选)ABCD
A、int    B、byte    C、char    D、short
9、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? C
        A、0    B、2    C、3    D、5
10、下面的运算符中,用于执行除法运算是哪个? A
A、/    B、\    C、%    D、*
11、下列语句哪些属于循环语句?(多选) AC
        A、for语句    B、if语句    C、while语句    D、switch语句
12、下面哪种写法可以实现访问数组arr的第1个元素? A
          A、arr[0]    B、arr(0)    C、arr[1]    D、arr(1)
13、以下哪个选项可以正确创建一个长度为3的二维数组? B
A、 new int [2][3];              B、 new int[3][];
C、 new int[][3];                D、 以上答案皆不对
14、请先阅读下面的代码。
int x = 1;
int y = 2;
if (x % 2 == 0) {java重写和重载的区别
    y++;
} else {
    y--;
}
System.out.println("y=" + y);
    上面一段程序运行结束时,变量y的值为下列哪一项?A
A、1  B、2    C、3    D、switch语句
三、程序分析题
阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。
代码一:b=7(编译不通过。int 值 4 和 b 相加时,由于变量 b 的类型为 byte,取值范围没有 int 类型大,存不下 int 类型的值,因此编译不通过)
public class Test01 {
    public static void main(String[] args) {
        byte b = 3;
        b = b + 4;
        System.out.println("b=" + b);
    }
}
代码二:不能,y 只在{}有效(编译不通过。这是因为 y 是在最里层的代码块中定义的一个变量,只 有在那个代码)
public class Test02 {
    public static void main(String[] args){
        int x = 12;
        {
            int y = 96; 
            System.out.println("x is " + x);
            System.out.println("y is " + y);
        }
        y = x;
        System.out.println("x is " + x);     
    }
}
代码三:代码三:因为没有 break,,所以 4 以后都执行
public class Test03 {
    public static void main(String args[]) {
        int x = 4, j = 0;
        switch (x) {
        case 1:
            j++;
        case 2:
            j++;
        case 3:
            j++;
        case 4:
            j++;
        case 5:
            j++;
        default:
            j++;
        }
        System.out.println(j);
    }
}
代码四:
9
8
7
public class Test04 {
    public static void main(String args[]) {
        int n = 9;
        while (n > 6) {
            System.out.println(n);
            n--;
        }
    }
}
四、简答题
1、请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。
答:Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
2、简述Java的特点。
答:面向对象跨平台性健壮性安全性可移植性多线程性动态性等。
3、方法的重载和方法的重写的区别。
答:(1)相同点: ①方法名称相同。 ②都属于多态机制。
(2)不同点:位置、参数列表、权限修饰符、返回值类型、抛出异常不同。
重载:发生在同一个类中,方法名相同,参数列表不同,与权限修饰、返回值类型、抛出异常无关。
重写: 发生在继承类中,方法名和参数列表相同,权限修饰符大于等于父类、返回值类型小于等于父类、抛出异常小于等于父类。
五、编程题:请按照题目的要求编写程序并给出运行结果。
1、请编写程序,实现计算“1+3+5+7+…+99”的值。
          提示:
1) 使用循环语句实现自然数1~99的遍历。
2) 遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。
public class getSum {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i < 100; i++) {
            if (i % 2 != 0)
                sum += i;
        }
        System.out.println(sum);
    }
}
2、已知函数
                      x + 3  ( x > 0 )
              y =      0    ( x = 0 )
                      x2 –1  ( x < 0 )
请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
提示:
1) 定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。
2) 在方法中使用iflse 语句针对x的值进行三种情况的判断。
3) 根据判断结果分别执行不同的表达式,并将结果赋予变量y
4) 在方法的最后返回y的值。
5) 在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。
答:public class Test02 {
public static void main(String args[]) {
int y = function(0);
System.out.println(y);
}
public static int function(int x) {
int y;
if (x > 0) {
y = x + 3;
} else if (x == 0) {
y = 0;
} else {
y = x * x - 1;
}
return y;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。