Java基础水平测试题

JAVA基础知识考核题

一、选择题

1.Java编译器的命令是(D )  

A.java                 B. appletviewer

C. jdb                  D. javac

  1. Java解释器的命令是(A )  

A.java                  B. appletviewer

C. jdb                  D. javac

3.Java开发人员使用的开发工具包是(D )C

A.JVMjava虚拟机       B. JRE

C.JDK                   D. Eclipse

4. 下列说法正确的是(B  )

A. 使用Java语言开发的程序可以在任何平台下运行,且不需要JRE

B. 使用Java语言开发的程序可以在任何平台下运行,但需要JRE 

C. Java虚拟机是独立的,JDK中不包含虚拟机

D. Java语言编译后是字节码文件,操作系统可直接执行

5. 下列全部是合法的Java标识符的是(B )

A. 09stu teacher $money

B _salary post123 name

C case abstract final

D #ID list today

6. 程序中有如下语句,下列说法正确的是(C  )

final float PI = 3.14f;

A PI 是一个变量,初始化的值是3.14.

B 定义有错误,PI 是float类型3.14后不能加f

C PI 是一个常量,其值是3.14

D 对PI可以重新赋值,如PI = 3.1415926;

7 下列初始化值正确的是(B )

A float score = 90.5;       B boolean flag = false;

C char name = "张三";       D boolean num = 1;

8. 有如下代码

class ScopeVar {

public static void main(String[] args) {

int num = 10;

if ( num = = 10) {

int num1 = num * num;

}

num1 = num1+10;

System.out.println(num1);

}

}

输出正确的是(D )

A 110                B 20

C执行报错           D编译错误

9. 下面对Scanner 描述正确的是( C )

A Scanner类提供输入数据的方法,但只能输入字符串

B Scanner的使用方法:Scanner.next();

C 使用Scanner需要导入java.util.Scanner类

D 从键盘读取一个整数的方法如下: 

Scanner sc = new Scanner();

int num = sc.nextInt();

10.有String str1="hello"; int num=100;

则对str1+100 说法正确的是(B )A

A str1+100 的值是一个字符串hello100

B str1+100会产生语法错误,字符串不能和整数相加

C str1+100不会产生语法错误,最终的结果是100,str1的值被忽略掉

D str1+100不会产生语法错误,最终的结果是hello,100被忽略掉

11. 哪种方法返回数组中的元素个数(D )

A.size()            B.length()

C.width()            D.length 

12. 下面创建数组正确的是( B  )

A int[] int_array = int[10];

B int[] int_array = new int[10];

C int[] int_array = new int(10);

D int[] int_array = new int{10};

13. 研究下面的Java代码:

switch(x){

case 1:

System.out.println(1);

case 2:

case 3:

System.out.println(3);

case 4:

System.out.println(4);

}

当x=2时,运行结果是(C  )

A 没有输出任何结果

B 输出结果为3

C 输出结果为3和4

D 输出结果为1、3和4

14 .阅读以下代码 //单从逻辑角度,不考虑方法调用格式

import java.util.Scanner;

public class Test{

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

System.out.println(“请输入买包子所用的钱的数目”)

double money = sc.nextDouble();

int count = buy(money);

System.out.println(“可买包子的数目为:”+count);

}

public static int buy(double money){

int count = (int) (money/0.4);

return count;

}

}

描述正确的是(  B )

A 如果输入5,输出是:可买包子的数目为:12

B 如果输入5,输出是: 可买包子的数目为:5

C 如果输入5,输出是:可买包子的数目为:12.5

D 程序错误,没有输出

15. 在Java中,下列代码运行的结果是(C )

public static void main(String[] args) {

int a=1, b=2, c=3;

if (a<0)         

if (b<0) c=10;

else c=20;      

System.out.println(c);

}

A、输出:10          B、输出:20

C、输出:3           D、编译报错

16. 分析下面的Java代码片段,编译运行后的输出结果是(D )。

for (int i = 0; i < 6; i++) {

int k = ++i;

while(k <5) {

System.out.print(i);

break;

}

}

A)024    B) 02    C) 123    D) 13

17.分析下面的Java源程序,编译后的运行结果是(D )

import java.util.*;

public class Test {

public static void main (String [] args) {

int [] numbers = new int[]{2,1,3};

Arrays.sort (numbers);

System.out.println (numbers[2]);

}

}

A、输出:0       B、输出:1         C、输出:2       D、输出:3

18 对于if 语句下列描述错误的是( A )

A.if 语句必须跟else联用     B.if 语句的条件必须是boolean类型

C.if语句属于分支结构         D.if 语句后可以没有大括号

19:对于switch 语句下列描述正确的是(C )D

A.switch()括号内可以是任意类型数据

B. case后可以是常量也可以是变量    

C. case后必须有break语句          

D. 允许多个case共用一组执行语句

20.对于循环语句下列描述正确的是(C )D

A.while和do-while实现的效果一样  最终效果

 B. while循环可以用for循环代替某些情况

C.while(1)表示无限循环     while里必须布尔类型      

D.continue可以跳出循环 跳出一次循环

21.有以下程序段,输出结果是( B)

int x=1,a=0,b=0;

switch(x){

case 0:b++;

case 1:a++;

case 2:a++;b++;

}

System.out.println("a="+a+",b="+b);

A . a=1, b=1     B. a=2, b=1     C. a=1,b=0     D. a=2,b=2

22、研究下面C代码段

int cnt = -1;

do{

cnt++;

}while (cnt++<1);            

在该程序段执行后计数变量cnt的值应该是(D  )

A、0      B、陷入无限循环    C、 1      D、以上都不是

  1. 在Java语言中,有如下定义,则输出结果是( C)

超纲了

public static void f(int x,int y) {

int t=0;

if (x<y) {t=x;x=y;y=t;}

}//逆序排列,之所以值不变,是因为基本类型传值不传地址

public static void main(String[] args){

int a=4,b=3,c=5;

f(a,b);f(a,c);f(b,c);

System.out.println(a+","+b+","+c);

}

A、3,4,5      B、5,3,4      C、5,4,3      D、4,3,5

24、public static void main(String[] args) {

int i=0,a=0;

for(i=0;i<5;i++){

switch(i){

case 0:

case 1:

case 2: a+=3;

case 3: a+=2;

default: a+=5;

}

}

System.out.println (    );

}

执行后输出的结果是(  C )

A、16       B、38        C、42       D、32

25、public static void main(String[] args){

for(int i=1;i<=5;i++){

if(i%2==1)printf("*");

else continue;

System.out.print ("#");

}

System.out.print ("$");

}

以上程序的输出结果,正确的是(  B )

A、*#$     B、*#*#*#$      C、*#*#*$     D、$

26、public static void main(String[] args){

int x=0, y=0 ;

Scanner sc = new Scanner(System.in);

x = sc.nextInt();

y = sc.nextInt();

if (x>y) { x+=y; y++;}

else y+=x ;

x++ ;

System.out.println(x+","+y) ;

}

在java语言中,对上面的程序,正确的判断是( B  )

A、若输入数据1和4,则输出2和6    B、若输入数据4和1,则输出6和2

C、若输入数据4和4,则输出4和8    D、有语法错误,不能通过编译

27、有以下程序段

public static void main(String[] args){

int x = 0;

Scanner sc = new Scanner(System.in);

x = sc.nextInt();

if(x--<5) System.out.println(x);

else System.out.println(x++);

}

运行后,如果从键盘上输入5,则输出结果是(B )

A. 3     B.4     C.5     D.6

28、有以下程序段

public static void main(String[] args){

int i=0, j=0, num=0;

for(i=0; i<4; i++)

for(j=i; j<2; j++)

num=num+j;

System.out.println(num);

}

程序执行后,num的值应该是(A  )。

A、2      B、4      C、0      D、3

29、以下程序的输出结果为( C )

public static void main(String[] args){

int a=2,b=-1,c=2;

if(a<b)

if(b<0) c=0;

else c+=1;

System.out.println(c);

}

A、0      B、1      C、2      D、3

30.有一段java 应用程序,它的主类名是A1,那么它的源文件名可以是(A  )

A、A1.java     B、A1.class     C、a1     D、都对

31.整型数据类型中,需要内存空间最少的是( D  )

A、short    B、long     C、int     D、byte

32. 关于以下程序段,正确的说法是(C )

String s1=”abc”+”def”; //1

String s2=new String(s1);//2

if(s1= =s2)//3

System.out.println(“= = succeeded”); //4

if (s1.equals(s2)) //5

System.out.println(“.equals() succeeded”); //6

A、行4与行6都将执行         B、行4执行,行6不执行

C、行6执行,行4不执行        D、行4、行6都不执行

33.下面哪一个循环会导致死循环?(C  )

A、for (int k = 0; k < 0; k++)

B、for (int k = 10; k > 0; k--)

C、for (int k = 0; k < 10; k--)

D、for (int k = 0; k > 0; k++)

34.有如下程序段:

int total = 0;

for ( int i = 0; i < 4; i++ ){

if ( i == 1) continue;

if ( i == 2) break;

total += i;

}

则执行完该程序段后total的值为:(A )。

A 、0      B 、1    C 、3      D、6

35. 给出以下代码,请问该程序的运行结果是什么?(C  )。

public class Example{

public static void main(String args[]){

int i = 0, j = 2;

do{

i = ++i;

j--;

}while(j>0);

System.out.println(i);

}

}

A 、0          B、1          C 、2          D 、编译失败

36. 给出以下Java代码,请问该程序的运行结果是(  C )

public class Test{

public static void main(String[] args){

int i=10;

do{

i--;

}while(i>2);

System.out.println(i);

}

}

A 、0       B 、1      C 、2      D 、-1

37. 给出以下代码,请问该程序的运行结果是什么?(C )

public class Example{

public static void main(String args[]){

int x = 1, y = 10;

while(y-->0){

x++;

}

System.out.println(“x = ”+x+”y = ”+y);

}

}

A 、x = 10 y = 0        B 、x = 11 y = 0

C 、x = 11 y = -1      D 、编译错误

二、编程题

1.编程求出1-100之间所有的素数(只能被1和它本身整除),要求全部存入数组,每5个换行输出。

import java.util.Arrays;

public class F0731_1_youhua {
	public static void main(String[] args) {
		int sum = 0;
		int[] arrOld = new int[100];
		for (int i = 2; i <= 100; i++) {
			for (int j = 2; j <= i; j++) {
				if (i % j == 0 && i != j) {
					break;
				}
				if (i == j) {
					arrOld[sum] = i;
					sum++;
				}
			}
		}
		int[] arr = Arrays.copyOf(arrOld, sum);
		for (int i = 0; i < arr.length; i++) {
			if ((i + 1) % 5 == 0) {
				System.out.println(arr[i] + ",");
			} else {
				System.out.print(arr[i] + ",");
			}
		}
	}
}

2.任意输入5个整数,存入数组,从小到大的顺序排列后输出,再任意输入1个整数,仍要求所有数按从小到大的顺序输出。

import java.util.Arrays;
import java.util.Scanner;

public class F0731_2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] a = new int[5];
		for (int i = 0; i < a.length; i++) {
			System.out.println("请输入第" + (i + 1) + "个数字");
			int num = sc.nextInt();
			a[i] = num;
		}
		Arrays.sort(a);
		System.out.println(Arrays.toString(a));
		int[] b = Arrays.copyOf(a, 6);
		System.out.println("请输入数字");
		int num1 = sc.nextInt();
		b[5] = num1;
		Arrays.sort(b);
		System.out.println(Arrays.toString(b));
		sc.close();
	}
}

     3. 鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只。

public class F0731_3 {
	public static void main(String[] args) {
		for (int i = 1; i <= 50; i++) {
			for (int j = 1; j <= 50; j++) {
				if (i + j == 50 && 2 * i + 4 * j == 160) {
					System.out.println("鸡" + i + "兔" + j);
				}
			}

		}
	}
}


版权声明:本文为m0_56557880原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。