文章目录以下答案为博主写的 不是百分百对 简答题和编程题 答案不唯一
这套题坑人的地方很多
如果有不一样的答案请评论 谢谢
- JAVASE阶段测试试卷
- 一、不定项选择题:
- 二、填空题:
- 三、程序阅读题
- 四、简答题
- 五. 编程题
注意事项:笔试时间100分钟,笔试题满分120分。
请使用钢笔或者圆珠笔填写试题答案。
请在规定处填写您的答案,选择题在试卷前部答题卡中填写答案,
程序题答案请写在答题纸上。
请不要在试卷上涂写与试题无关的的标记。
(每题2分,共40分,请选择正确答案的编号,
填在各题前的括号内)。
- 下面哪些是合法的标识符 ( BD)。
A. class
B. $abc
C. 1234
D. _name - 在Java中,下列哪些说法是正确的 ( ac )。
A. java源文件的扩展名为.java
B. 写好的java源程序可以直接运行
C. 编写的源程序必须先编译后才能运行
D. 程序员可以读懂扩展名为.class
的文件 - 下面哪些赋值语句是正确的 (abd )。
A. long test = 012;
B. float f = -412F;
C. int other = (int) true;
D. double d = 0x12345678; - 在Java中,下列语句不能通过编译的有 (bd )。
A. String s= “join”+ 3;
B. int a= “join”+3;
C. int a= ‘a’+5;
D. float f=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;
- 下列代码运行的结果是 ( 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 - 尝试运行下面的代码会发生什么? ( 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应该没有括号
- 下面程序的输出结果是什么 ( D )。
int[] arr = new int[10];
System.out.println(arr[0]);
A. 编译不通过
B. 运行时出错
C. 输出null
D. 输出0 - 下面哪个语句正确地声明一个整型的二维数组 ( 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]; - 以下代码输出是 ( 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
- 阅读下列程序,写出程序运行的结果:
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
- 阅读以下程序,写出输出结果。
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分)。
-
在一个循环中使用break和continue语句有什么不同的效果?
Break退出当前循环
continue退出当次循环
-
请简述while语句和do-while语句的区别?
Where 先判断后执行
Do—while先执行后判断
-
简述什么是方法的重载?
使一个方法可以输入不同类型的数据
分别处理
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个



