一、选择题(30分,每题2分)
1、java的编程思想是什么? B
A、 面向过程 B、 面向对象 C、 面向接口 D、 面向程序
2、如果我想编写java程序,那么我至少需要安装的环境是: C
A、 JVM B、 JRE C、 JDK D、idea
3、编译java程序的命令是:B
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中的基本数据类型 D
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的值是多少? C F /D
A、10 B、20 C、30 D、编译错误
11、已知int a = 10; int b = 3; double c = a / b ; 问c的值是多少?D F /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++;
1
2
3
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;
}
}
1
2
3
4
5
6
A、10 B、0 C、5 D、6
二、判断题(20分,每题2分)
1、调用数组的length()方法可以获取数组的长度 F
2、栈用于存放程序运行过程当中所有的局部变量, 一个运行的Java程序从开始到结束会有多次变量的声明 T
3、在一个类中可以定义:成员变量、成员方法、构造方法、构造块、静态块、内部类T
4、对象创建后,其成员变量是有默认值的,整数类型的默认是0 T
5、方法的五大要素分别是:修饰词、返回值类型、方法名、参数列表、方法体 T
6、方法的重写是指两个方法的方法名相同但是参数列表不同 F
7、程序中可以使用this()调用当前类的无参构造器 T
8、单例模式是说某个类的对象有且只有一个T
9、java的继承机制中,子类可以继承父类的所有内容,包括私有属性、私有方法以及构造方法T /F 私有方法构造方法继承不了
10、面向对象的三大特征:封装、继承、多态T
三、编程题(50分)
1、打印九九乘法表。(5分)
1
package com.qiku.yrc.test3_26; public class NineNineM { public static void main(String[] args) { for (int i = 1; i <=9; i++) { System.out.println(); for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+i*j+" "); } } } }
2、猜数字游戏:随机生成数字n(1-100), 等待用户输入猜测数据, 根据用户的输入比较输出
猜大了,猜小了,猜对了, 如果用户猜对了就结束游戏 。(5分)
package com.qiku.yrc.test3_26; import java.util.Scanner; //猜数字游戏:随机生成数字n(1-100), 等待用户输入猜测数据, 根据用户的输入比较输出 // 猜大了,猜小了,猜对了, 如果用户猜对了就结束游戏 。(5分) public class GuessNumGame { public static void main(String[] args) { Scanner scanner= new Scanner(System.in); int a= (int)(Math.random()*99+1); for(;;) { System.out.print("请输入数字:"); int b = scanner.nextInt(); if (b==-1){ System.out.println("欢迎下次光临!"); break; } if (a > b) { System.out.println("猜小了再试试看"); } else if (a<b){ System.out.println("猜大了再试试看");} else { System.out.println("恭喜你!猜对了"); break; } } } }
3、编写程序,求0-100之间的所有的素数;
素数:只能被1及其本身整除的数(5分)
package com.qiku.yrc.test3_26; public class PrimeNum { //0-100所有素数 public static void main(String[] args) { lable: for (int i = 2; i <=100; i++) { for (int j = 2; j <= Math.sqrt(i); j++) { if (i%j==0){ continue lable; } } System.out.println(i); } } }
4、生成一个包含10元素的随机数组,元素的取值范围:10-90,并使用冒泡排序给该数组升序排列(10分)
package com.qiku.yrc.test3_26; import java.util.Arrays; public class MaoPAO { public static void main(String[] args) { //4、生成一个包含10元素的随机数组,元素的取值范围:10-90,并使用冒泡排序给该数组升序排列(10分) // // 1 int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { int num= (int)(Math.random()*10+90); arr[i]=num; } System.out.println(Arrays.toString(arr)); for (int j = 0; j < arr.length; j++) { for (int k = 0; k < arr.length-j-1; k++) { if (arr[k]>arr[k+1]){ int temp= arr[k]; arr[k]=arr[k+1]; arr[k+1]=temp; } } } System.out.println(Arrays.toString(arr)); } }
5、自已设计一个单例模式(10分)
1
package com.qiku.yrc.test3_26; public class Singleton { private Singleton() { } private static final Singleton instance= new Singleton();//饿汉式 public static Singleton getInstance() { return instance; } public static void main(String[] args) { Singleton s1= getInstance(); Singleton s2 =getInstance(); System.out.println(s1==s2);//true }
//懒汉式
class MySingleton{
private MySingleton() {
}
private static MySingleton instance = null;
public static MySingleton getInstance() {
if(instance == null){
return instance = new MySingleton();
}
return instance;
}
}
6、编写程序,模拟验证码,要求:
a、验证码由5个字符组成
b、组成验证码的字符只能是字母或者数字
c、字符不能重复(15分)
package com.qiku.yrc.test3_26; import java.util.Random; /** * 6、编写程序,模拟验证码,要求: * a、验证码由5个字符组成 * b、组成验证码的字符只能是字母或者数字 * c、字符不能重复(15分) */ public class RandomtStr { public static void main(String[] args) { System.out.println("随机验证码:"+randomCode()); } public static String randomCode() { Random random = new Random(); String str = ""; for (int i = 0; i < 5; i++){ int key = random.nextInt(3); switch (key){ case 0: int code1 = random.nextInt(10);//数字0-9 str += code1; break; case 1: char code2 = (char)(random.nextInt(26)+65);// str += code2; break; case 2: char code3 = (char)(random.nextInt(26)+97);// str += code3; } } return str; } }
二public static String getRanStr(){
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Set<String> set = new HashSet<>();
while (set.size()<5){
int index = (int)(Math.random() * str.length());
String s = str.charAt(index)+"";
set.add(s);
}
return set.toString();
}