第二章java编程基础测试题_Java编程基础测试题分享

单选题:(每道题目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)

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)

int i =100;

while(true)

{

if (i++ > 100) //i先计算在自加

{

break;

}

System.out.println(i);

}

A. 100

B. 101

C. 102

D. 报错

6. 下面程序的运行结果是 ( D )

int a=3,b=1;

if(a==b)

{

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

}

A. a=1

B. a=3

C. 编译错误

D. 正常运行但没有输出

7. 下面程序的运行后,结果正确的是:(B)

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)

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 )

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)

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)

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. 下面程序执行的结果

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.阅读下面代码段:

classDemo

{

public static void main (String[] args)

{

int[] arr = new int[10];

System.out.println(arr[1]);

}

}

执行结果正确的说法是( C )

A. 编译时将产生错误

B. 编译时正确,运行时将产生错误

C. 输出零

D. 输出空

16 .和下面代码能完成相同的选项是(B)

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 )

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. 给出下列代码片段:

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 )

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 )

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方法中写一段代码,实现在控制台输出九九乘法表。

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方法中调用。

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方法中调用

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高级面试题小结,Java常见数据结构面试题(带答案)、关于Java数组查询的相关问题及实例,有问题可以随时留言,小编会及时回复大家的。希望对大家学习Java有所帮助!感谢阅读。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值