Java考试复习题库
一、填空
1.boolean 类型数据不可以做类型转换。 2.表达式9*4/-5%5的值为 -2。
3.方法头的关键字 void 用来表示方法不返回任何值。 4.continue语句必须用于循环语句中。
5.final 保留字用于定义常值变量,声明该变量以后不会改变。 6.Java语言中的类是程序的基本单位。
7.访问限定符有public、 protected 、private和default等。
8.在java语言中,类按照程序设计所需要的常用方法和接口封装成包。 9.类是变量和算法的集合体。
10.java中,实型变量的类型有float和 double 两种。
11.把编写好的Java源文件保存起来,源文件的扩展名必须是 java 。 12.Java Applet必须有浏览器来运行。 13.用于byte型变量,内存分配1字节 14.class是java的关键字,用于定义类。
15.java中有两种类型的控制语句即if和switch。
16.使用关键字char来定义字符变量,用class是java的关键字来定义。 17.java是目前最广泛的网络编程语言之一。
18.java语言的控制语句有三种类型,即条件语句、循环语句和转移语句。 19.用修饰符 static 说明的成员变量是类变量。
20.package语句作为java源文件的第一条语句指明该源文件定义的类的所在包。 21.java源程序编译后生成的字节码文件扩展名为class。
22.在类体中,变量定义部分所定义的变量称为类的成员变量。 23.对于short型变量,内存分配 2 个字节。
24.用JDK编译java源程序,使用命令是 javac ,编译源文件得到字节码文件。 二、判断
1.continue语句的作用是退出循环,并从紧接着该循环语句的第一条语句开始继续执行。(N) 2.在java语言中,所有的类都是Object的子类。( Y ) 3.运算符的优先级顺序从高到低依次是~、《、》、&。( Y ) 4.在java程序中,通过类的定义可以实现多重继承。( N ) 5.字符串”\\’a\\’”的长度是3。( Y )
6.被Private修饰的成员变量,只能被该自身访问和修改。(Y) 7.按照运算符的数目划分,算术运算符的++属于一元运算符。( Y )
8.为了不允许其他子类继承,简单数据类型的包装类都被声明为Private属性。( N )
9.抽象方法是一种仅有方法头,没有具体方法和操作实现的方法,该方法可以在所有类的定义中定义。( N )
10.双精度数强制转换成单精度数后,其数值数度会提高。( N )
一、简答题
1、什么是包?他的作用是什么?
包是一种松散的类的集合,包的作用在于提供了一种命名机制和可见性机制。
1
2、简述面向过程求解和面向对象问题求解的异同?
面向过程求解,以具体的解题过程为研究和实现主体,其思维特点更接近于计算机,面向对象的问题求解,则是以对象为主体,对象是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 3、使用抽象和封装有哪些好处? 抽象可以提供事物的本质特征。封装是这样一种机制,她把代码和其操作的数据捆绑在一起,从而防止了外部对数据和代码的干扰和滥用,保证了数据和代码的安全性。
4、简述对象、类、和实体及它们之间的关系。尝试从日常接触到的人或物中抽象出对象的概念。
面向对象技术中的对象就是把现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合和抽象。类是一种抽象的数据类型,它是所具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如电视。
5、有人说父母和子女之间是继承关系,这种说法是否正确?为什么?
父母和子女之间不是面向对象意义上的继承关系,因为这里的继承关系是“is a”的关系,男人与人之间可以说是继承关系。
6、对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?
对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 7、面向程序设计方法的优点
由于对象的概念能够以更加接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法存在更好的灵活性,可重用性和扩展性,使得上述“分析—设计—实现”更加快捷、高效。
二、程序填空
1、功能:从命令行传入4个整数,求4个整数的和、积 import java.io.*; public class Prog1
{ public static void main (String[] args) {
/**********************SPACE**********************/ int n=args.length;
/**********************SPACE**********************/ if(n<4)
System.out.println(\请输入四个整数!\ else
{ int a,b,c,d;
/**********************SPACE**********************/ a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]); c=Integer.parseInt(args[2]);
2
d=Integer.parseInt(args[3]);
/**********************SPACE**********************/ System.out.println(\和:\(a+b+c+d)); System.out.println(\积:\
2、功能:从键盘上输入10个int型数,去掉重复的数据之后输出,并 输出剩余数据的个数 import java.io.*; public class Prog1
{ public static void main(String args[]) throws IOException{ final int N=10;
/*******************SPACE*******************/ Int a[]=new int[N]; int i,j,n;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in)); for(i=0;i {System.out.print(\请输入第\个整数:\/*******************SPACE*******************/ a[i]=Integer.parseInt(buf.readLine()); } n=N; for(i=0;i /*******************SPACE*******************/ if(a[i]==a[j]) { a[j]=a[--n]; /*******************SPACE*******************/ j--;}} System.out.print(\删除重复数值后的数据为:\ for(i=0;i System.out.print(a[i]+\ \ System.out.println(); System.out.print(\删除重复数值后的数据的个数为:\3、功能:编写Application,求从命令行传入任意多个整数的最小值 import java.io.*; public class Prog1 { public static void main (String[] args){ /**********************SPACE**********************/ int n=args.length; if(n==0) System.out.println(\ else {int x[]=new int[n]; for(int i=0;i x[i]=Integer.parseInt(args[i]); 3 /**********************SPACE**********************/ System.out.println(\ArrayMin(x)); }} static int ArrayMin( int array[] ) { /**********************SPACE**********************/ int min = array[0]; for( int i =1; i < array.length; i++) /**********************SPACE**********************/ if (array[i] 4、求3个整数的和、积、最大值、最小值 import java.io.*; public class Prog1 { public static void main (String[] args){ /**********************SPACE**********************/ int n=args.length; /**********************SPACE**********************/ if(n<3) System.out.println(\请输入三个整数!\ else{ int a,b,c; a=Integer.parseInt(args[0]); b=Integer.parseInt(args[1]); c=Integer.parseInt(args[2]); System.out.println(\和:\ System.out.println(\积:\ /**********************SPACE**********************/ System.out.println(\最大值:\Math.max(c,Math.max(a,b))); /**********************SPACE**********************/ System.out.println(\最小值:\Math.min(c,Math.min(a,b))); } try {System.in.read();} catch(IOException e) {}}} 5、功能:让小应用程序界面上的文字随鼠标点击移动。 使用mouseDown ( )方法捕获鼠标单击,并按单击点的坐标修改文字位置, 最后使用drawString()方法重绘文字。 import java.awt.*; import java.applet.*; public class T28 extends Applet{ int OutX = 50, OutY = 50; public void paint(Graphics g){ g.drawString(\移动文字\ }public boolean mouseDown(Event e, int x, int y){ 4 /*******************SPACE*******************/ this.OutX=x ; /*******************SPACE*******************/ this.OutY=y ; repaint(); return true; }} 6、功能:判断一个字符串是否具有回文特性。提示:回文是一种文 字游戏。有一种回文顺读、倒读内容相同。如:“上海自 来水来自海上”、“船上女子叫子女上船” public class Prog1{ public static void main(String[] args) { String s1 = \上海自来水来自海上\ String s2 = \ /*****************SPACE*****************/ for(int i=s1.length()-1; i>=0; i--) /*****************SPACE*****************/ s2 += s1.charAt(i); System.out.println(\字符串s1为:\ System.out.println(\字符串s2为:\ /*****************SPACE*****************/ if(s1.compareTo(s2) == 0) System.out.println(\具回文特性\ /*****************SPACE*****************/ else System.out.println(\不具回文特性\ 7、功能:定义一个学生类Prog1,包括姓名、学号、数学成绩、外语 成绩、计算机成绩等属性,以及初始化各属性的构造方法、 计算学生平均成绩的方法、显示学生成绩单的方法 import java.awt.*; public class Prog1 {String name;long no;double math;double english;double computer; /*******************SPACE*******************/ Prog1(string s,long n,double m,double e,double c) {name=s;no=n;math=m;english=e;computer=c;} /*******************SPACE*******************/ public double average() { return (math+english+computer)/3;} /*******************SPACE*******************/ public void print() {System.out.println(\姓名:\ System.out.println(\学号:\ System.out.println(\数学成绩:\ System.out.println(\外语成绩:\ System.out.println(\计算机成绩:\ 5