java语言

java基础知识习题

时间:2025-04-19 15:24:00 java语言 我要投稿

2016java基础知识习题

  勤能补拙是良训,一分辛劳一分才。以下是百分网小编整理的2016java基础知识习题,欢迎学习!

2016java基础知识习题

  一、选择题(每题1分,共30分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

  1.下列语句序列执行后,k 的值是( )。

  int m=3, n=6, k=0;

  while( (m++) < ( -- n) ) ++k;

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

  2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( )。

  A) i = i + 2 B) a[0] = 7;

  C) i++ - --j; D) a(0) = 66;

  3.Java语言的类间的继承关系是( )。

  A) 多重的 B) 单重的 C) 线程的 D) 不能继承

  4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。

  i += i - 1;

  A) 10 B) 121 C) 11 D) 100

  5.下列选项中,用于在定义子类时声明父类名的关键字是( )。

  A)interface B) package C) extends D) class

  6.若已定义 byte[ ] x= {11,22,33,-66} ;

  其中0≤k≤3,则对x数组元素错误的引用是( )。

  A) x[5-3] B) x[k] C) x[k+5] D) x[0]

  7.下列语句序列执行后,ch1 的值是( )。

  char ch1='A',ch2='W';

  if(ch1 + 2 < ch2 ) ++ch1;

  A) ‘A' B) ‘B' C) ‘C' D) B

  8.下列语句序列执行后,i 的值是( )。

  int i=8, j=16;

  if( i-1 > j ) i--; else j--;

  A) 15 B) 16 C) 7 D) 8

  9.下列语句序列执行后,k 的值是( )。

  int i=10, j=18, k=30;

  switch( j - i )

  { case 8 : k++;

  case 9 : k+=2;

  case 10: k+=3;

  default : k/=j;

  }

  A) 31 B) 32 C) 2 D) 33

  10.下面语句执行后,i 的值是( )。

  for( int i=0, j=1; j < 5; j+=3 ) i=i+j;

  A) 4 B) 5 C) 6 D) 7

  11.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。

  A) x > y || x > z B) x != y

  C) z > ( y + x ) D) x < y & ! ( x < z )

  12.下列语句序列执行后,i的值是( )。

  int i=16;

  do { i/=2; } while( i > 3 );

  A) 16 B) 8 C) 4 D) 2

  13.以下由 for 语句构成的循环执行的次数是( )。

  for ( int i = 0; true ; i++) ;

  A) 有语法错,不能执行 B) 无限次

  C) 执行1次 D) 一次也不执行

  14.定义类头时能使用的修饰符是( )。

  A) private B) static C) abstract D) protected

  15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,

  正确的switch语句是( )。

  A) switch (x + y) B) switch ( ch + 1 )

  { ...... } { ...... }

  C) switch ch D) switch ( a + b );

  { ...... } { ...... }

  16. 下列最终属性 i 的定义中,正确的是( )。

  A) static final int i=100; B) final int i=1.2;

  C) final i='w'; D) final char i;

  17. 下列类定义中,不正确的是( )。

  A) class x { .... }

  B) class x extends y { .... }

  C) static class x implements y1,y2 { .... }

  D) public class x extends Applet { .... }

  18. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是( )。

  A) static x x1; B) public x x1=new x(int 123);

  C) y x1; D) x x1=x( );

  19. 设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。

  A) x( int m){ ... } B) void x( int m){ ... }

  C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }

  20. 下列方法定义中,正确的是( )。

  A) int x( ){ char ch='a'; return (int)ch; }

  B) void x( ){ ...return true; }

  C) int x( ){ ...return true; }

  D) int x( int a, b){ return a+b; }

  21. 用于定义类成员的访问控制权的一组关键字是( )。

  A) class, float, double, public

  B) float, boolean, int, long

  C) char, extends, float, double

  D) public, private, protected

  22. 不能构成循环的语句是( )。

  A) for 语句 B) while 语句 C) switch 语句 D) do__while 语句

  23. 下列程序段执行后 b3 的结果是( )。

  boolean b1=true, b2, b3;

  b3= b1 ? b1 : b2;

  A) 0 B) 1 C) true D) false

  24. 下面数据结构中,属于非线性的是( )。

  A) 线性表 B) 树 C) 队列 D) 堆栈

  25. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。

  A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

  26. 现有一整型数组a[4],它的所有数组元素是( )。

  A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3]

  C) a[1], a[2], a[2], a[4] D) a[0], a[1], a[2], a[3], a[4]

  27. 定义 Java Applet程序时,必须有的 import语句是( )。

  A) import java.applet.Applet; B) import java.io.*;

  C) import java.awt.event; D) import java.lang.*;

  28.现有两个类A、B,以下描述中表示B继承自A的是( )。

  A) class A extends B B) class B implements A

  C) class A implements B D) class B extends A

  29. 下列算法中,不能用来排序的算法是( )。

  A) 冒泡法 B) 插入排序 C) 选择排序 D) 对分法

  30. 堆栈操作的原则是( )。

  A) 先进先出 B) 后进先出 C) 只能进 D) 只能出

  二、填空题(每空1分,共15分)

  请将正确答案填写在答题纸相应位置上,答在试卷上不得分。

  1. 构造函数______有返回值。

  2. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 __________两种具体类型。

  3. 创建类对象的运算符是___________。

  4. 当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_____________ 。

  5. 在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__________。

  6. 定义类就是定义一种抽象的____________,它是所有具有一定共性的对象的抽象描述。

  7. 在Java语言中,使用_____、______等技术,实现软件重用。

  8. Java的复合数据类型有 : 类、数组和_______等。

  9. 表达式3/6 * 5的计算结果是________ 。

  10.定义初值为10的10次方的长整型变量 lvar 的语句是:__________________________。

  11. 顺序结构、分支结构(或称选择结构)、____________是结构化程序设计的三种基本流程控制结构。

  12. 以下方法 m 的功能是求两参数之积的整数部分。

  int m ( float x, float y )

  { __________________; }

  13. Java 源程序文件编译后产生的文件称为________文件,其扩展名为 ___________ 。

  三、判断题( 每小题1分,共15分 )

  下列各题中,你认为正确的就在其题干后的括号内打"√",错误的打"×"。

  1.Java 和 c++都是面向对象的程序设计语言。( )

  2.字符串 "\'a\'" 的长度是5。( )

  3. 同一个类中定义多个参数列表不同的同名方法,叫做方法的重载。( )

  4. 一个类的定义包括定义类头和定义类体两个部分。( )

  5.一个程序里可以有多个父类,也可以有多个主类。( )

  6. 一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值。( )

  7.抽象方法只能存在于抽象类中。( )

  8. 在父类中声明为 final 的方法,也可以在其子类中被重新定义(覆盖)。( )

  9. 接口中所有方法均为抽象方法。( )

  10. False 是合法的 Java 标识符。( )

  11. 子类的类成员变量不能与其父类的类成员变量同名。( )

  12. static 变量不能是 private 变量。( )

  13. 保留字 this 代表当前对象。( )

  14. 类的构造函数名必须和类名相同。( )

  15. 子类的对象能直接向其父类对象赋值。( )

  四、程序填空( 每空2分,共20分 )

  阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。

  1.下面是一个类的定义:

  public class ____________

  {

  int x, y;

  Myclass ( int i, _______) // 构造函数

  {

  x=i;

  y=j;

  }

  }

  2.下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。

  public void paint(Graphics ____ )

  { int i=689;

  a.drawString ( ________+ i ,20,60);

  }

  3.下面是一个Java Application 的主类的定义,其功能是输出所有命令行参数。

  import java.io.*;

  public class MyClass

  {

  public static void main(String args[ ])

  {

  if( args.length !=___)

  for(int i=0; i < args.length; i++)

  System.out.println(___________);

  else System.out.println("没有命令行参数");

  }

  }

  4.下面是一个小程序的主类myprogram的定义, 其中A、B是该主类所在源程序中已定义的另两个类的类名:

  import java awt.*;

  import java applet.*;

  public class myprogram extends Applet//定义小程序的主类

  {

  A a; B b;

  public ________ init( )

  { a=new A( ); b=_____ B( ); }

  }

  5.下面程序的功能是输出数组各元素的和。

  import java.awt.Graphics;

  import java.applet.Applet;

  public class SumArray extends Applet

  {

  float[] a;

  a= new _______[6];

  float sum=0.0f;

  public void init( )

  {

  for ( int j = 0; j < a.length; j++ )

  a[j] = j+1;

  for ( int i = 0 ; i < a.length; i++ )

  sum+= a[i];

  }

  public void paint( Graphics g )

  {

  g.drawString( "Total of array elements: " + ________ , 25, 25 );

  }

  }

  五、简答题( 每1问2分,共20分 )

  阅读程序(或程序片段)并回答问题 。

  1. import java.awt.*;

  import java.applet.*;

  public class Test51` extends Applet

  {

  float[ ] x = {1.2, 3.4, 5.6, 7.8};

  public void paint(Graphics g)

  {

  int s=0;

  for( int i = 0; i < x.length; i++ )

  s += (int)x[i];

  g.drawString(" " + s, 30, 60);

  }

  }

  问题:

  1)程序的输出结果是什么?

  2)方法paint()中的循环体 s += (int)x[i]; 能写为 s +=x[i]; 吗? 为什么?

  2. public class Test52

  {

  String str1="Hello, Java world! \t";

  String str2="Hello, students! ";

  public static void main(String args[])

  {

  System.out.print(str1);

  System.out.println(str2);

  }

  }

  问题:1)这是哪种形式的 Java 程序 ?

  2)程序的输出是什么?输出的结果在 Applet 窗口中吗?

  3. 设ch1, ch2是 char 型变量:

  if ( ch1 == ‘a' )

  {

  if ( ch2 == ‘b' )

  System.out.print(" ch1=\'a\' , ch2=\'b\' ");

  }

  else

  System.out.print(" ch1!=\'a\' ");

  System.out.println(" end ");

  问题: 1)若执行前 ch1 的值为 ‘a', ch2 的值为 'c' 该程序段输出是什么?

  2)若执行前 ch1 的值为 'w', ch2 的值为 'b' 该程序段输出是什么?

  3)若执行前 ch1 的值为 'a', ch2 的值为 'b' 该程序段输出是什么?

  4.有如下源程序:

  import java.awt.*;

  import java.applet.*;

  public class Test54 extends Applet

  {

  B b;

  public void init( )

  {

  b=new B( 'f', 87.6f, 69.1f);

  }

  public void paint(Graphics g)

  {

  g.drawString("序号 "+"性别 "+"成绩1 "

  +"成绩2 ",20,50);

  b.Print(g);

  }

  }

  class A

  {

  static int n=100;

  char ch;

  A( ) { n++; }

  A( char c){ this( ); ch=c; }

  void Print(Graphics g)

  {

  g.drawString(" "+n+" "+ch,20,70);

  }

  }

  class B extends A

  {

  float s1, s2;

  B(float r1,float r2){ s1=r1; s2=r2; }

  B( char c, float r1, float r2)

  {

  super(c);

  s1=r1; s2=r2;

  }

  void Print(Graphics g)

  {

  super.Print(g);

  g.drawString(" "+s1+" "+s2,40,70);

  }

  }

  问题: 该程序的输出是什么?

  5.已知菲波那契数列的数学表达式为:

  fibonacci(n)=n, n=0,1;

  fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n≥2;

  设 m 是 long 型变量,下面是用递归算法求菲波那契数列的方法:

  long fibonacci(long n)

  {

  if(n==0||n==1) return n;

  else return (fibonacci(n-1)+fibonacci(n-2));

  }

  问题: 当语句 m=fibonacci(3); 执行时,方法 fibonacci( )被调用了几次?

  6. 下面是一个排序的程序:

  import java.io.*;

  public class Test56_Sort

  {

  public static void main(String args[ ])

  {

  int[] a={42,99,5,63,95,36,2,69,200,96};

  System.out.println("排序前的数据序列:");

  ShowArray(a);

  Sort(a);

  System.out.println("排序后的数据序列:");

  ShowArray(a);

  }

  public static void Sort(int[] x)

  {

  int w;

  for(int i=1; i

  {

  for(int j=0; j

  if(x[j]>x[j+1])

  { w=x[j]; x[j]=x[j+1]; x[j+1]=w; }

  /* if(i==1||i==2) ShowArray(x);

  if(i==2) break; */

  }

  }

  public static void ShowArray(int b[])

  {

  for(int i=0; i

  System.out.print(" "+b[i]);

  System.out.println(" ");

  }

  }

【java基础知识习题】相关文章:

Java基础知识练习题及答案03-19

Java基础知识精选05-02

java基础知识07-16

java web基础知识06-19

Java基础知识概述07-10

Java基础知识总结12-04

java基础知识汇总07-22

java基础知识大全01-08

java培训的基础知识06-01