当前位置:文档之家› java期末复习参考(最新)

java期末复习参考(最新)

Java语言程序设计一、Java语言基础知识1.双目运算符和单目运算符都有哪些?i++和++i的区别是什么?答:双目运算符有:+(表示加)、-(表示减)、*、/、%,单目运算符有:+(表示正值)、-(表示负值)、++、--。

i++是先赋值,再自加;++i是先自加,再赋值;例如:int a,i=1;如果a=i++;则a=1,i=2;如果a=++i;则a=2,i=2;2.Java语言中,“逻辑与”“逻辑或”“逻辑非”分别用什么表示?答:“逻辑与”用&&表示,“逻辑或”用||表示,“逻辑非”用!表示。

3.表示数组元素个数的属性是什么?答:length二、类与对象的基本概念1.什么是对象、类,它们之间的联系?答:对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力;类是具有相同操作功能和相同的数据格式(属性)的对象的集合与抽象。

类与对象的关系可以表述为:一个类是对一类对象的描述,是构造对象的模版,对象是类的具体实例。

2.请解释类属性、实例属性及其区别。

答:类属性表示类中所有的对象都相同的属性,在声明时加上static修饰符;实例属性用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同,在声明时不加static修饰符。

二者的区别为:类属性为所有的对象拥有;实例属性为每个实例对象自己拥有。

3.请解释类方法、实例方法及其区别。

答:类方法表示具体实例的类中对象的共有行为,在使用时可以将类方法发送给类名,也可以发送给一个类实例,其作用是一样的;实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符。

二者的区别为:类方法在使用时既可以将类方法发送给类名,也可以发送给一个类实例,实例方法在使用时需要发送给一个类实例。

4.类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?答:类成员的访问控制符有 public,private,protected及无修饰符。

用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问(前提是对类成员所在的类有访问权限)。

用private修饰的成员只能被这个类本身访问,在类外不可见。

用proteced修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。

无修饰符表示相应的成员可以被所在包中的各类访问。

5.如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?答:不提供。

三、类的方法1.编写程序,接收用户从键盘上输入的三个整数x,y,z,从中选出最大和最小者,并编程实现。

答:新建Keyboard.java文件,其内容为:import java.util.Scanner;import java.io.*;public class Keyboard{static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in));public static int getInteger(){try{return (Integer.valueOf(inputStream.readLine().trim()).intValue());}catch(Exception e){e.printStackTrace();return 0;}}public static String getString(){try {return inputStream.readLine();}catch (Exception e){e.printStackTrace();return null;}}}新建Ex1.java文件,其内容为:public class Exe1{public static void main (String[] args){System.out.print("请输入x:");int x=Keyboard.getInteger();System.out.print("请输入y:");int y=Keyboard.getInteger();System.out.print("请输入z:");int z=Keyboard.getInteger();if (x>y){if(x>z){System.out.println("最大数为x:"+x);if(y>z){System.out.println("最小数为z:"+z);}else{System.out.println("最小数为y:"+y);}}else{System.out.println("最大数为z:"+z);System.out.println("最小数为y:"+y);}}else{if(x>z){System.out.println("最小数为z:"+z);}else{System.out.println("最小数为x:"+x);if(y>z){System.out.println("最大数为y:"+y);}else{System.out.println("最大数为z:"+z);}}}}}2.求出100以内的素数,并将这些数在屏幕上5个一行地显示出来。

答:新建Exe2.java文件,其内容为:public class Exe2 {public static void main(String[] args) {for(int i = 2, j = 0; i <= 100; i++) {if(sushu(i)) {System.out.printf("%5d", i);j++;if(j % 5 == 0 && j != 0) {System.out.println();}}}}public static boolean sushu(int num) {if(num == 2) return true;boolean a = true;for (int m = 2; m <= (num - 1); m++) {if (num % m == 0) {a = false;break;}}return a;}}3.使用ng.Math类,生成100个0---99之间的随机整数,找出他们之中的最大值和最小值,并统计大于50的整数个数。

答:新建Exe3.java文件,其内容为:public class Exe3{public static void main(String[] args){int min,max,n=0;int[] array=new int[100];array[0]=(int)(Math.random()*100);min=array[0];max=array[0];System.out.println("数列为:");System.out.print(array[0]+" ");for(int i=0;i<100;i++){array[i]=(int)(Math.random()*100);if(array[i]>50)n++;if(array[i]>=max)max=array[i];if(array[i]<=min)min=array[i];System.out.print(array[i]+" ");}System.out.println();System.out.println("最小数为="+min);System.out.println("最大数为="+max);System.out.println("大于50的整数个数有:"+n);}}4.接收用户从键盘上输入的两个整数,求两个数的最大公约数和最小公倍数,并输出。

答:新建Exe4.java文件,其内容为:class CalcGCD {public static int calcGCG(int a, int b ) {int max=0;int min=0;if (a>b) {max=a;min=b;}else {max=b;min=a;}while (max %min !=0) {int temp= max %min;max=min;min=temp;}return min;}}class CalcLCM {public static int calcLCM(int a,int b) {int gcd=CalcGCD.calcGCG(a,b);int lcm=(a/gcd)*(b/gcd)*gcd;return lcm;}}public class Exe4 {public static void main (String[ ] args){System.out.print("请输入第一个整数:");int a=Keyboard.getInteger( );System.out.print("请输入第二个整数:");int b=Keyboard.getInteger( );System.out.print(a+"和"+b+"的最大公约数为:");System.out.println(CalcGCD.calcGCG(a,b));System.out.print(a+"和"+b+"的最小公倍数为:");System.out.println(CalcLCM.calcLCM(a,b));}}5.什么是异常?解释抛出、捕获的含义。

答:异常(exception)又称为例外,是特殊的运行错误对象,对应着Java语言特定的运行错误处理机制。

抛出是指:不在当前方法内处理异常,而是把异常抛出到调用方法中;捕获是指:使用try{}catch(){}块,捕获到所发生的异常,并进行相应的处理。

6.简述Java的异常处理机制。

答:在一个方法的运行过程中,如果发生了异常,则这个方法(或者是Java虚拟机)便生成一个代表该异常的对象(包含了该异常的详细信息),并把它交给运行时系统,运行时系统查找方法的调用栈,从生成异常的方法开始进行回溯,直到找到包含相应异常处理的方法为止。

相关主题