Java的试题分享
今日推荐
RECOMMEND
小新给大家带来的是Java的试题分享哦!!!
![2809d9aa83ae609d0c3e3b06ec10c1c6.png](https://i-blog.csdnimg.cn/blog_migrate/61fcbc0baacab05ef3086c9049862c96.png)
Java 试题
2020 新思路秋招试题—Java
一、 单选题(一共 6 题,每题 5 分)
1.下面有关循环的描述正确的是()
A、for 循环的循环条件都不可以省略
B、for循环只能用于循环次数已经确定的情况
C、在 while 循环中,不能使用 break 语句跳出循环
D、 do…while 循环至少会执行一次
2.以下程序的运行结果是:
public class A{ public static void main(String args[]) { int a = 6; System.out.print(a++); System.out.print(++a); System.out.print(a); }}
A. 788 B. 678 C. 688 D. 778
3. 下面哪些语句能够正确地生成 5 个空字符串?
A. String[5] a;
B. String a[5];
C.String a[]=new String[5];for(int i=0;i<5;a[i++]=“”);
D.String []a=new String[5];for(int i=0;i<5;a[i++]=null);
4.以下程序的运行结果为:()
public class A { public static void main(String[] args) { Object o1 = true ? new Integer(3) : new Double(3.3); Object o2; if (true) { o2 = new Integer(3); } else { o2 = new Double(3.3); } System.out.print(o1); System.out.print(" "); System.out.print(o2); } }
A. 3.3 3.3
B. 3 3
C. 3.0 3
D. 3 3.3
5.下面的说法错误的是()
public class A { public static void main(String[] args) { Object o1 = true ? new Integer(3) : new Double(3.3); Object o2; if (true) { o2 = new Integer(3); } else { o2 = new Double(3.3); } System.out.print(o1); System.out.print(" "); System.out.print(o2); } }
A. 第 4 行的运行结果是 3
B. 第 5 行的运行结果是 7
C. 第 6 行的运行结果是 2
D. 第 7 行的运行结果是 true
6.以下关于继承正确的是()
A. 在 Java 中一个类只能实现一个接口
B. Java 只支持单继承,不支持多重继承
C. 子类可以继承父类的构造方法
D. 子类一定比父类有更多的成员方法
二、 简答题(一共 6 题,每题 5 分)
1.请分别描述你对 JDK,JRE,JVM 的理解以及阐述三者之间的关系(可画图)
答:
2. 说一说你对面向过程和面向对象的理解?
答:
3. 请简述 final 与 static 的区别?
答:
4. Java 访问修饰符有哪些?权限的区别?
答:
5. 请简述 Integer 与 int 的区别 ?
答:
6.Java有哪些常用容器(集合)?
答:
三、编程题(一共 4 题,每题 10 分)
1.Java 继承编程练习
需求:定义老师类和学生类,然后写代码测试;最后找到老师类和学生类当中的 共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试
提示步骤:
①定义老师类(姓名,年龄,教书())
②定义学生类(姓名,年龄,学习())
③定义测试类,写代码测试
④共性抽取父类,定义人类(姓名,年龄)
⑤定义老师类,继承人类,并给出自己特有方法:教书()
⑥定义学生类,继承人类,并给出自己特有方法:学习()
⑦定义测试类,写代码测试
2. Java IO 流编程练习
要求:将给出的记事本中的各个字符的个数统计出来并将结果保存到另一个记事本上(包括空格,回车,和换行)
3. Java 小游戏 二维数组编程题
大家应该都玩过九宫格吧!那有没有试过用代码把它敲出来呢?
九宫格游戏规则,1至9九个数字,横竖都有 3 个格,思考怎么使每行、每列两 个对角线上的三数之和都等于 15。这个游戏不仅仅考验人的数字推理能力,也同时考验了人的思维逻辑能力。
需求:用二维数组
九宫格的九个格分别是 1~9
这九个数字 横、竖、斜排相加之和为 15
4. Java 简单算法练习
需求:将一个正整数分解质因数。
例如:输入90,打印出 90=2*3*3*5。提示:对 n 进行分解质因数,应先找到一个最小的质数k
![2809d9aa83ae609d0c3e3b06ec10c1c6.png](https://i-blog.csdnimg.cn/blog_migrate/61fcbc0baacab05ef3086c9049862c96.png)
Java 答案
一、 单选题(一共6题,每题5分)
1-6:DCACDB
二、简答题(一共6题,每题5分)
1.JVM(Java Virtual Machine),是 java 虚拟机,java虚拟机负责负责解释运行字码,把字节码翻译成虚拟机所在平台的机器码,并让当前平台运行该机器码,java 语言的可移植性(可跨平台使用),就要依赖于于 java虚拟机,它是java语言的核心;
JRE(Java Runtime Environment),java 运行时环境,包含 JVM 和运行时所需要的核心类库。我们想要运行一个已有的 Java 程序,只需要安装 JRE 即可。JDK(Java Development Kit),是 java 开发工具包,包含 JER 和开发人员使用的工具。其中的开发工具:编译工具(javac.exe)和运行工具(java.exe)。
2.二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
3.都可以修饰类、方法、成员变量;都不能用于修饰构造方法;static 可以修饰类的代码块,final 不可以;static 不可以修饰方法内的局部变量,final可以。
final:
final 修饰表示常量、一旦创建不可改变 final 标记的成员变量必须在声明的同时赋值,或在该类的构造方法中赋值,不可以重新赋值
final 方法不能被子类重写
final 类不能被继承,没有子类,
final 类中的方法默认是 fina 的
static:
static 修饰表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属 性/方法名访问
static 修饰的代码块表示静态代码块,当 Java 虚拟机(JVM)加载类时,就会执 行该代码块,只会被执行一次
static 修饰的属性,也就是类变量,是在类加载时被创建并进行初始化,只会被创建一次
static 修饰的变量可以重新赋值
static 方法中不能用 this 和 super 关键字 static方法必须被实现,而不能是抽象的 abstract
static 方法不能被重写
4.Java语言中有四种权限访问控制符,能够控制类中成员变量和方法的可见性。
public
被 public 修饰的成员变量和方法可以在任何类中都能被访问到。
被 public 修饰的类,在一个 java 源文件中只能有一个类被声明为 public,而且一旦有一个类为 public,那这个 java 源文件的文件名就必须要和这个被 public 所修饰的类的类名相同,否则编译不能通过。
protected
被protected 修饰的成员会被位于同一 package 中的所有类访问到,也能被该 类的所有子类继承下来。
friendly
默认,缺省的。在成员的前面不写访问修饰符的时候,默认就是友好的。
同一 package 中的所有类都能访问。
被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来。
private
私有的。只能在当前类中被访问到。
5.Integer 是 duint 的包装类,int 则是 java 的一种基本数据类型
Integer 变量必须实例 zhi 化后才能使用,而 int 变量不需要
Integer 实际是对象的 dao 引用,当 new 一个 Integer 时,实际上是生成一个指 针指向此对象;而 int 则是直接存储数据值 。Integer 的默认值是null,int 的默认值是 0
6.Java 容器分为 Collection 和 Map 两大类,各自都有很多子类。
三、 编程题(一共4题,每题10分)
1.
Person类```javapublic class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}```Student类```javapublic class Student extends Person { public Student() { } public Student(String name, int age) { super(name, age); } public void study(){ System.out.println("学生要好好学习,天天向上"); }}```Teacher类```javapublic class Teacher extends Person{ public Teacher() { } public Teacher(String name, int age) { super(name, age); } public void teach(){ System.out.println("老师领进门,修行看个人!"); }}```Test类```javapackage com.wan;public class Test { public static void main(String[] args) { Teacher t1 = new Teacher(); t1.setName("匡军"); t1.setAge(20); System.out.println("大家好,我叫"+t1.getName()+",今年"+t1.getAge()+"岁"); t1.teach(); Teacher t2 = new Teacher("Java",25); System.out.println("大家好,我叫"+t2.getName()+",今年"+t2.getAge()+"岁"); t2.teach(); Student s1 = new Student(); s1.setName("郑万富"); s1.setAge(18); System.out.println("大家好,我叫"+s1.getName()+",今年"+s1.getAge()+"岁"); s1.study(); Student s2 = new Student("新思路",11); System.out.println("大家好,我叫"+s2.getName()+",今年"+s2.getAge()+"岁"); s2.study(); }}```
运行结果:
2.
import java.io.*;import java.util.HashMap;import java.util.Map;import java.util.Set;public class WordCount1 { public static void main(String[] args)throws Exception { Reader reader = new FileReader(new File("D:\\io\\a.txt")); int len = 0; Mapmap = new HashMap<>(); Writer writer = new FileWriter(new File("D:\\io\\b.txt")); while((len=reader.read())!=-1){ char ch = (char) len; if(map.get(ch)==null){ map.put(ch,1); }else{ map.put(ch,map.get(ch)+1); } } Set> entrySet = map.entrySet(); for(Map.Entry entry:entrySet){ switch (entry.getKey()){ case ' ':writer.write("空格="+entry.getValue()+"\n"); break; case '\n':writer.write("换行="+entry.getValue()+"\n"); break; case '\r':writer.write("回车="+entry.getValue()+"\n"); break; default:writer.write(""+entry.getKey()+"="+entry.getValue()+"\n"); break; } } try { if (reader != null) { reader.close(); } if(writer!=null){ writer.close(); } } catch (IOException e) { e.printStackTrace(); } System.out.println("文件内容复制完成"); }}
运行结果:
3.
import java.util.Scanner;public class A { static void output(int m,int[][] arry){ System.out.println("九宫格为:"); for(int i=0;i for(int j=0;j System.out.print(arry[i][j]+"\t"); } System.out.println("\n"); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入要设置的九宫格格式(仅为奇整数):"); int n; n=sc.nextInt(); if(n<0||n%2==0){ System.out.println("输入错误,请重新输入:"); n=sc.nextInt(); } int[][] arry =new int[n][n]; int r=0,l=n/2; for(int i=1;i<=n*n;i++){ arry[r][l] = i; r--; l++; // 行列都越界 if (r < 0 && l >= n) { l--; r += 2; } // 行越界 else if (r < 0) { r = n - 1; } // 列越界 else if (l >= n) { l = 0; } // 值不能为0 else if (arry[r][l] != 0) { l--; r += 2; } } output(n,arry); }}
运行结果:
4.
import java.util.Scanner;public class Demo04 { public static void main(String[] args) { System.out.print("请输入一个正整数:"); Scanner input = new Scanner(System.in); int n = input.nextInt(); System.out.print("对"+n+"分解质因素结果为:"+n+"="); int k = 2; while (n >= k) { if (n == k) { System.out.print(k+" "); break; } else if (n % k == 0) { System.out.print(k+"*"); n = n / k; } else { k++; } } }}
运行结果:
![2809d9aa83ae609d0c3e3b06ec10c1c6.png](https://i-blog.csdnimg.cn/blog_migrate/61fcbc0baacab05ef3086c9049862c96.png)
本期内容:
排版:一个橙子
编辑:Jermery.X
审核:JavaEE组 郑万富
![682c30b935bfc458f90db4e2a795bd69.png](https://i-blog.csdnimg.cn/blog_migrate/c31a17ee0acf2383d46134028f040268.jpeg)