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有所帮助!感谢阅读。

(0)

相关推荐

  • java获取版本号及字节码编译版本方法示例

    前言 之所以会有这篇文章,是因为公司的开发环境比较老,寻找一些jar包的时候总是会纠结对应的编译版本,感觉很麻烦,所以写了一个工具类用于读取class或jar文件的编译版本,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 package com.jinggujin.util; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.

  • 详解Java中@Override的作用

    详解Java中@Override的作用 @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法. 举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性. @Overr

  • Java 反射机制的实例详解

    Java 反射机制的实例详解 前言 今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来.那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现. 正文 Java反射机制定义 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 用一句话总结就是反射可以实现在运行时可以知道任意一个类的属性和方法. 反射

  • java实现可安装的exe程序实例详解

    java实现可安装的exe程序实例详解 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格式的jar包: 2.通过安装exe4j软件,将导出的.jar格式的文件制作成.exe格式的可执行的文件,(注意:此时的.exe文件只是可以执行,还不能够安装): 3.通过安装Inno setup软件,将可执行的.exe格式的文件..jar格式的文件以及其它需要的文件制作成一个可安装的.exe格式的文

  • Java 动态代理原理分析

    Java 动态代理原理分析 概要 AOP的拦截功能是由java中的动态代理来实现的.说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行.Spring中的动态代理是使用Cglib进行实现的.我们这里分析的是JDK中的动态代理实现机制. 下面我们通过例子快速了解JDK中的动态代理实现方式. 示例 需要代理的接口 public interface IHello { public void sayHel

  • 老生常谈JavaScript面向对象基础与this指向问题

    前 言 我们的程序语言经历了从"面向机器".到"面向过程".再到"面向对象"的一个过程.而JavaScript是一门基于对象的一门语言,它介于面向过程与面向对象之间.在学习JavaScript的过程中,OOP是非常重要的一环,下面我们来一起探讨一下JS中的面向对象吧!!! 1 .OOP的基础问题 1.1什么是面向过程和面向对象? 面向过程:专注于如何去解决一个问题的过程步骤.编程特点是由一个个的函数去实现每一步的过程步骤,没有类和对象的概念. 面

  • 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. 下面程序哪个语句是

  • java编程基础之模仿用户登录代码分享

    上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容. 基于用户从控制台输入模拟的简陋用户登录验证Demo原理: 利用 Scanner 类中 nextLine() 提取用户从控制台输入的字符串信息 利用 String 类的 equals 方法进行用户输入验证 import java.util.Scanner; public class Login { public static void main(String[] args) { //

  • Java编程调用微信分享功能示例

    本文实例讲述了Java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的页面内首先使用AJAX.下面我具体举例. 首先是在页面内写入请求后台的AJAX /** * 调用微信分享接口 * */ public void WXConfig(){ String url = getPara("href"); WXConfigController scan = new W

  • Java编程基础元素-运算符

    目录 1 前言 2 算术运算符 2.1 四则运算 2.2 字符串运算符 2.3 一元运算符 3 关系运算符 4 逻辑运算符 5 位运算符 6 码农洞见 6.1 运算符思维导图 6.2 运算符优先级 1 前言 运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为4类:算术运算符.关系运算符.逻辑运算符和位运算符. 2 算术运算符 2.1 四则运算 算术运算符的用途类似一般数学运算中的加(+).减(-).乘(×)和除(/)四则运算,是经常使用的数学运算符.这

  • Java编程用两个栈实现队列代码分享

    题目:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 经典题,不多说,直接上代码 import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { st

  • Java编程泛型限定代码分享

    泛型 一般 出现在集合中,迭代器中 也会出现! 泛型 是为了 提高代码的 安全性. 泛型 确保数据类型的唯一性. 在我们常用的容器中, 越是单一越好处理啊! 泛型的限定: ? 是通配符 指代 任意类型 泛型的限定上限: <? extends E> 接受 E 或者 E 的子类型. 泛型的限定下限: <?  super   E>  接收  E 或者 E 的父类. 泛型的限定上限 (定义父类 填装子类 类型!) 下面我们看看具体代码示例 package newFeatures8; imp

  • java编程枚举类型那些事!枚举类型定义和重写枚举的方法

    什么是枚举类型 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中. 而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围. 简单的枚举类型定义 假如你希望创建一个颜色库,你可以这样定义枚举类型 enum Color {red, green, yellow, black}; 然后你就可以使用它 Color T = Color.red; if (T

  • Python面向对象编程基础实例分析

    本文实例讲述了Python面向对象编程基础.分享给大家供大家参考,具体如下: 1.类的定义 Python中类的定义与对象的初始化如下,python中所有类的父类是object,需要继承. 由于Python是动态语言,因此可以直接为对象添加属性并赋值而不必在类定义中声明 class Person(object): # 定义一个Person类 pass p = Person() # 初始化一个Person对象 p.name="xiaoming" # 对象属性赋值 Python的类初始化方法

  • Java编程BigDecimal用法实例分享

    Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高精度计算. 其中 BigInteger 类是针对大整数的处理类,而 BigDecimal 类则是针对大小数的处理类. BigDecimal 类的实现用到了 BigInteger类,不同的是 BigDecimal 加入了小数的概念. float和Double只能用来做科学计算或者是工程计算;在商业计算中,对数字精度要求较高,必须使用 BigIn

  • Java编程删除链表中重复的节点问题解决思路及源码分享

    一. 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 二. 例子 输入链表:1->2->3->3->4->4->5 处理后为:1->2->5 三. 思路 个人感觉这题关键是注意指针的指向,可以定义一个first对象(值为-1,主要用于返回操作后的链表),first.next指向head,定义一个last同样指向first(主要用于操作记录要删除节点的前一个节点),定义一个p指向head,指向当前节点.

随机推荐