单选题:(每道题目2分)
1. 下列哪个声明是错误的?(B)
A. int i=10;
B. float f=1.1; //float f=1.1f
C. double d=34.4;
D. byte b=127;
long类型的数据加后缀L或者l
float类型的数据加后缀F或者f
整数默认是int类型
浮点数默认是double类型
2. 下面哪个不是java中的关键字?(C)
A. public
B. true
C. main
D. class
3. 下面程序哪个语句是正确的(C)
A. byte a=0,b=3; byte c =a+b;//a+b的类型为int
B. short s =23; s=s+12;
//s+12底层是转成int进行相加,所以结果为int。
C. short s=23; s+=12; //相当于s=(short)(s+12)
D. float f = 23+23.23; //23+23.23的结果为double
4. 下面程序执行的结果是?(B)
1
2
3
4
5
6
7
|
class Test
{
public static void main(String[] args)
{
System.out.println(“”+‘a'+ 1 );
}
}
|
A. 98
B. a1
C. 971
D. 197
//空串放前相当于字符串的拼接,空串放后,‘a'+1,先做运算,再与空串进行拼接,byte,short,char可以自动转为int,
5. 下面程序执行的结果是?(B)
1
2
3
4
5
6
7
8
9
|
int i = 100 ;
while ( true )
{
if (i++ > 100 ) //i先计算在自加
{
break ;
}
System.out.println(i);
}
|
A. 100
B. 101
C. 102
D. 报错
6. 下面程序的运行结果是 ( D )
1
2
3
4
5
|
int a= 3 ,b= 1 ;
if (a==b)
{
System.out.println( "a=" +a);
}
|
A. a=1
B. a=3
C. 编译错误
D. 正常运行但没有输出
7. 下面程序的运行后,结果正确的是:(B)
1
2
|
inta= 1 ,b= 2 ;
intc=(a+b> 3 ?a++:++b); //a=1,b=3,c=3
|
A. a=2,b=3
B. a=1,b=3
C. a=1,b=2
D. c=2
8. 下面程序的运行结果(B)
1
2
3
4
5
6
7
8
9
10
11
12
|
classDemo
{
public static int fun( int c)
{
return c+= 2 ;
}
public static void main(String[] args)
{
int temp = fun( 2 );
System.out.println(temp);
}
}
|
A. 2
B. 4
C. 6
D. 8
9. 下面数组定义错误的是(C)
A. int [] arr ={23,45,65,78,89}; //静态初始化
B. int [] arr=new int[10] ; //动态初始化
C. int [] arr=new int[4]{3,4,5,6};
D. int [] arr={‘a', 23 , 45 , 6};
//‘a'可以自动转为int,
10. 下面程序执行的结果是?(D )
1
2
3
4
5
6
7
|
int x= 1 ,y= 1 ;
if (x++== 2 & ++y== 2 )
//x=2,y=2,&与&&的结果相同但是&不具有短路效果
{
x= 7 ;
}
System.out.println( "x=" +x+ " , y=" +y);
|
A. x=1 y=2
B. x=7 y=1
C. x=7 y=2
D. x=2 y=2
11. 下面不属于基本数据类型的是(D)
A. int
B. double
C. long
D. int[] //引用类型
12. 下面程序执行的结果是?( C)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
booleanb= true ;
if (b= false ) //将false赋值给b,则b=false
{
System.out.println( "a" );
} elseif(b)
{
System.out.println( "b" );
} elseif(!b)
{
System.out.println( "c" );
} else
{
System.out.println( "d" );
}
|
A. a
B. b
C. c
D. d
13. 下面程序执行的结果是?(D)
1
2
3
4
5
6
7
8
9
10
11
12
|
intx=2,y=3;
switch(x)
{
default :
y++;
//y=4,但是没有break,程序继续向下执行
case 3:
y++;
case 4:
y++;
}
Sysetem. out .println( "y=" +y);
|
A. 3
B. 4
C. 5
D. 6
14. 下面程序执行的结果
1
2
3
4
5
6
7
8
|
for ( int i= 1 ;i<= 10 ;i++)
{
if (i% 3 == 0 )
{
continue ; //continue跳出本次循环
}
System.out.println(“java基础班”);
}
|
在屏幕上打印几次“java基础班”?( C )
A. 5
B. 6
C. 7
D. 8
15.阅读下面代码段:
1
2
3
4
5
6
7
8
|
classDemo
{
public static void main (String[] args)
{
int [] arr = new int [ 10 ];
System.out.println(arr[ 1 ]);
}
}
|
执行结果正确的说法是( C )
A. 编译时将产生错误
B. 编译时正确,运行时将产生错误
C. 输出零
D. 输出空
16 .和下面代码能完成相同的选项是(B)
1
2
3
4
5
6
7
8
9
10
|
int i= 1 ;
intsum= 0 ;
while (i<= 100 )
{
if (i% 2 == 0 )
{
sum=sum+i;
}
i++;
}
|
A. for (int x=1; x<=100;x++){ sum=sum+x;}
B. for (int x =0; x<=100;x+=2){ sum=sum+x;} //偶数求和
C. for (int x =1; x<=100;x+=2){ sum=sum+x;} //奇数求和
D.上述全对
17. 以下代码输出是( D )
1
2
3
4
5
6
7
8
9
10
|
int i= 0 ;
int sum= 0 ;
while (i<= 10 )
{
i++;
if ( i% 2 != 0 )
continue ;
sum+=i;
}
System.out.println(sum); //sum=2+4+6+8+10
|
A. 55
B. 45
C. 35
D. 30
18. 给出下列代码片段:
1
2
3
|
if ( x> 0 ) { System.out.println(“Hello”); }
else if (x >- 3 ) { System.out.pirntln ( “I am Tom”); }
else {System.out.println (“How are you?”); }
|
请问将打印字符串 “How are you ?”的x的范围是( C)
A. x>0
B. x > -3
C. x <= -3
D. x <=0 & x >-3
19. 下列代码执行的结果为( A )
1
2
3
4
5
6
7
8
9
10
11
12
13
|
classDemo
{
public static void main(String[] args)
{
int num =max( 43 , 34 );
//num=43
System.out.println(num);
}
public static int max( int a, int b)
{
returna>b?a:b;
}
}
|
A. 43
B. 23
C. 77
D. 9
20 .下面程序执行的结果是( A )
1
2
3
4
5
6
7
8
9
10
11
12
|
classDemo
{
public static void main(String [] args)
{
int a= 10 ;
if (a++> 10 )
{
a= 20 ;
}
System.out.println(a);
}
}
|
A. 11
B. 12
C. 20
D. 21
多选题:(每道题目3分)
21. 下面哪些是合法的标志符( B.C.D)
A. 2variable
B. variable2
C. what$
D. _3_
//不能以数字开头,不能是java中的关键字,字母区分大小写
22. 下列方法中能和方法int max(int a, int b, double c)构成重载关系的是( B,C )
A. double max(int a, int b, double c)
B. void max(int a, double c, int b)
C. int max(double a, int b)
D. int max(int x, int y, double z)
//同一个类中,方法名相同,参数类型或参数个数不同,与返回值类型无关
23. 下面的说法正确的是( A,C, )
A. byte ,short,char 数据类型可以自动转化为int
B. float 数据类型可以自动转换为long。
C. 在java语言中默认小数为double
D. byte a=23; byte b=12; a+b的结果为byte类型 //int
24. 下面关于方法描述正确的是(A,D)
A. 方法是对功能代码块的封装
B. 方法没有返回值的时候什么都不用写
C. 没有返回值的方法,不能有return 语句
//每句后面都可以以有默认的return ;也可以手动加上
D. 方法是可以没有形参的
25. 下面关于循环描述正确的是(A,D)
A. while循环先判断循环条件,后执行循环操作
B. while 至少会执行一次
C. do-while先进行循环条件判断,后执行循环操作
D. do-while循环至少执行一次,后进行循环判断
简答题目:(每道题目5分)
26:JDK,JRE,JVM是什么,有什么用,它们之间又有什么关系?
JDK:java程序的开发环境,包含JRE和java开发工具
JRE:java程序的运行环境,包含jvm和java的核心类库
JVM:保证java语言的跨平台性
27:数组是基本类型吗? Java中基本数据类型分类有哪些?
不是,基本数据类型分为4类8种;
整型:byte short int long
字符型:char
布尔类型:boolean
浮点型:float double
28:方法是什么?它的运行特点是什么?
方法:完成特定功能的代码块
运行特点:不调用不执行;方法调用的时候不用再传递数据类型;方法与方法是平级的,不能嵌套调用;方法定义的时候参数之间用逗号隔开;方法不调用不执行;如果方法有明确的返回值,一定要用return带回一个值。
29:数组是什么?我们根据什么可以获取数组中的元素呢?
数组是存储同一种数据类型并且可以存储多个元素的容器;我们可以根据数组的索引来获取数组中的元素。
30:请说说什么时候使用变量,什么时候使用if语句,什么时候使用循环语句?说的有理即可得分。
当一个值不固定,在一定范围内改变时,就需要将其定义为变量。
当需要进行判断的时候用if语句;
当出现大量重复的代码时,就需要使用循环语句。
编程题目:(每道题目10分)
注意:格式,命名规范,注释。
31:在main方法中写一段代码,实现在控制台输出九九乘法表。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.practice1;
//在main方法中写一段代码,实现在控制台输出九九乘法表。
public class PrintTable {
//定义程序入口
public static void main(String[] args) {
//控制外层循环,即第一个乘数
for ( int i = 1 ; i < 10 ; i++) {
//控制内层循环即第二个乘数
for ( int j = i; j < 10 ; j++) {
System.out.print(i+ "*" +j+ "=" +i*j+ " " );
}
//每打印一行将换行
System.out.println();
}
}
}
|
32:请写一个方法sum,实现求两个数之和。要求在main方法中调用。
1
2
3
4
5
6
7
8
9
10
11
12
|
package com.practice1;
//请写一个方法sum,实现求两个数之和。要求在main方法中调用。
public class SumDemo {
//提供程序入口
public static void main(String[] args) {
//调用求和的方法
System.out.println(add( 10 , 20 ));
}
public static int add( int i, int j) {
returni+j;
}
}
|
33:请写一个方法printArray,实现遍历数组。要求在main方法中调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.practice1;
//请写一个方法printArray,实现遍历数组。要求在main方法中调用。
public class ArrayDemo {
//提供程序入口
public static void main(String[] args) {
//定义一个数组
int [] arr={ 1 , 2 , 5 , 3 , 6 , 8 };
//调用数组的遍历方法
printArr(arr);
}
// 定义一个遍历数组的方法
private static void printArr( int [] arr) {
System.out.print( "[" );
for ( int i = 0 ; i < arr.length; i++) {
if (i==arr.length- 1 ){
System.out.print(arr[i]);
} else {
System.out.print(arr[i]+ " " );
}
}
System.out.print( "]" );
}
}
|
总结
以上就是本文关于Java编程基础测试题分享的全部内容,有问题可以随时留言,小编会及时回复大家的。希望对大家学习Java有所帮助!感谢阅读。
原文链接:http://blog.csdn.net/zhangwen809877665/article/details/59112146