选择题错两个 判断题错两个 最后一题错
一、选择题(30分,每题2分)
1、java的编程思想是什么?(B)
A、 面向过程 B、 面向对象 C、 面向接口 D、 面向程序
2、如果我想编写java程序,那么我至少需要安装的环境是:(C)
A、 JVM B、 JRE C、 JDK D、idea
3、编译java程序的命令是:(C)
A、java B、javac C、cd D、class
4、java文件的扩展名是.java ,那么java文件经过编译之后的字节码文件的扩展名是:(D)
A、.java B、.txt C、.zip D、.class
5、一个java文件中可以定义多少个class?(D)
A、1个 B、2个 C、3个 D、任意个
6、下面定义定义变量的方式,正确的是:(D)
A、int goto = 10; B、String str = 123; C、byte b = 128; D、int num = 128;
7、下面选项中可以作为标识符的是:(A)
A、StudentName B、class C、1name D、name#
8、下面哪一个类型不属于java中的基本数据类型(B)
A、int B、boolean C、char D、Double
9、java中int类型的变量占用多少个字节?(C)
A、1 B、2 C、4 D、8
10、已知byte a = 10; byte b = 20; byte c = a + b ; 问c的值是多少?(D)
A、10 B、20 C、30 D、编译错误
11、已知int a = 10; int b = 3; double c = a / b ; 问c的值是多少?(B)
A、3 B、3.0 C、3.33 D、3.3333333333…
12、String s = “”; int a = 10; int b = 20;问s+a+b 的值是多少?(D)
A、10 B、20 C、30 D、1020
13、读程序,问a,b,c的值分别是多少?(C)
int a = 10;
int b = 11;
int c = ++a >= b++ ? ++b : a++;
A、11 11 13 B、11 12 13 C、11 13 13 D、13 12 11
14、下列那个选项不是java中的结构(D)
A、分支结构 B、顺序结构 C、循环结构 D、上下结构
15、读程序,问"aaa"打印的次数:(D)
for(int i= 0; i < 10; i++){
System.out.println("aaa");
if(i == 5){
break;
}
}
A、10 B、0 C、5 D、6
二、判断题(20分,每题2分)
1、调用数组的length()方法可以获取数组的长度( × )
2、栈用于存放程序运行过程当中所有的局部变量, 一个运行的Java程序从开始到结束会有多次变量的声明( √ )
3、在一个类中可以定义:成员变量、成员方法、构造方法、构造块、静态块、内部类( √ )
4、对象创建后,其成员变量是有默认值的,整数类型的默认是0( √ )
5、方法的五大要素分别是:修饰词、返回值类型、方法名、参数列表、方法体( √ )
6、方法的重写是指两个方法的方法名相同但是参数列表不同( √ )
7、程序中可以使用this()调用当前类的无参构造器( √ )
8、单例模式是说某个类的对象有且只有一个( √ )
9、java的继承机制中,子类可以继承父类的所有内容,包括私有属性、私有方法以及构造方法( √ )
10、面向对象的三大特征:封装、继承、多态( √ )
三、编程题(50分)
1、打印九九乘法表。(5分)
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
System.out.println();
}
}
2、猜数字游戏:随机生成数字n(1-100), 等待用户输入猜测数据, 根据用户的输入比较输出
猜大了,猜小了,猜对了, 如果用户猜对了就结束游戏 。(5分)
public static void main(String[] args) {
int num = (int) (Math.random() * 99 + 1);//随机数
System.out.println(num);
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入您猜的数字!");
int n = sc.nextInt();//用户输入的数
if (n < num) {
System.out.println("您猜小了,请继续");
} else if (n > num) {
System.out.println("您猜大了,请继续");
} else {
System.out.println("您猜对了,通关了!!");
break;
}
}
}
3、编写程序,求0-100之间的所有的素数;
素数:只能被1及其本身整除的数(5分)
for (int i = 2; i < 101; i++) {
boolean isSu =true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isSu=false;
break;
}
}
if (isSu){
System.out.print(i+" ");
}
}
}
4、生成一个包含10元素的随机数组,元素的取值范围:10-90,并使用冒泡排序给该数组升序排列(10分)
int[] arr = new int[10];
for (int i = 0; i <arr.length ; i++) {
arr[i] = (int) (Math.random() * 80 + 10);
}
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j <arr.length ; j++) {
if (arr[i] > arr[j]) {
int a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
System.out.println(Arrays.toString(arr));
5、自已设计一个单例模式(10分)
private static ImageLoader instance = new ImageLoader;
private ImageLoader(){}
public static ImageLoader getInstance(){
return instance;
}
6、编写程序,模拟验证码,要求:
a、验证码由5个字符组成
b、组成验证码的字符只能是字母或者数字
c、字符不能重复(15分)
String zimu = "abcdefghijklmnopqrstuvwyz";
String num = "0123456789";
String str = az + az.toUpperCase() + nums;
String result = "";
for (int i = 0; i < 5; i++) {
int index = (int) (Math.random() * str.length());
result += str.charAt(index);
}
System.out.println(result);
}