Java复习资料
一、知识点
(1) Java支持分布式计算 (2) Java是跨平台的编程语言 (3) Java支持多线程
(4) 内存回收程序负责释放无用内存 (5) main()方法的返回类型是void
(6) 子类能继承父类的所有方法和状态
(7) 若需要定义一个类域或类方法,应使用的修饰符是static (8) 如要抛出异常,应使用的子句是throw
(9) 流使用结束后,关闭流并释放资源,使用close()方法。
(10)Java语言的各种数据类型之间提供两种转换:自动转换和强制转换。 (11)Java语言中,调用方法时,参数传递是值调用,而不是地址调用。 (12)面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类
是变量和方法的集合体。
(13) 在Java程序中,要实现多重继承需要使用接口。 (14) 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节
内存空间。
(15)计算机中的流是流动的数据缓冲区
(16)RandomaccessFile是java.io包中的一个兼有输入输出功能的类。 (17)开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释
执行字节码。
(18)如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类
MyApplet必须是Applet类的子类。 (19)抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类
之中定义。Final方法是不能被当前类的子类重新定义的方法。 (20)在Java语言中,package语句必须出现在程序文件的首行。 (21)在Java语言中,位异或的运算符为^。
(22)Java语言提供两个用于处理字符串的类:String类用于处理不可改变的字符串,而
StringBuffer类用户处理可改变的字符串。 (23)Date类位于Java语言的java.util包中。
(24)Java程序实现多线程应用的途径之一是:定义一个实现Runnable接口的类,并在类中
提供该接口的所有方法。
(25)键盘事件的接口是KeyListener。 二、写出程序功能 1.
public class Sum
{ public static void main( String args[ ]) { double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + ) sum += 1.0/(double) i ;
System.out.println( \
} }
计算 1/1+1/2+1/3+...+1/100 的值。 2.
import java.io.* ;
public class Reverse
{ public static void main(String args[ ]) { int i , n =10 ;
int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try {
BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― ) System.out.print(a[i]+\ \ System.out.println( ); } }
从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 3.
import java.awt.*; public class abc
{ public static void main(String args[]) { new FrameOut(); } }
class FrameOut extends Frame // Frame为系统定义的窗框类 { Button btn; FrameOut( )
{ super(\按钮\
btn = new Button(\按下我\ setLayout(new FlowLayout( )); add(btn);
setSize(300,200); show( ); } }
创建一个标题为\按钮\的窗框,窗框中显示有\按下我\字样的按钮。 4.
import java.io.*; public class abc
{ public static void main(String args[])
{ SubClass sb = new SubClass( ); System.out.println(sb.max( )); } }
class SuperClass
{ int a = 10 , b = 20 ; }
class SubClass extends SuperClass
{ int max( ) { return ((a>b)?a:b); } } 求两个数的最大值。 三、写出程序运行结果 1.
import java.io.*; public class abc
{ public static void main(String args[ ])
{ AB s = new AB(\VA.\ System.out.println(s.toString( )); } }
class AB { String s1; String s2;
AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2;} }
结果:Hello! I love JAVA. 2.
import java.io.* ; public class abc {
public static void main(String args[ ]) { int i , s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ } }
结果:s = 180 3.
public class testClass {
static public void main(String args[]) {
boolean bTb1[][]=new boolean[4][]; for (int i=0;i bTb1[i]=new boolean[i+1]; } for (int i=0;i for(int k=0;k System.out.print(bTb1[i][k]+\} System.out.println(\} } } 结果: false false false false false false false false false false 四、编程题 1. 25. 编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。 import java.io.* ; public class abc { public static void main(String args[ ]) { int i , n = 10 , max = 0 , min = 0 , temp = 0; try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); max = min = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = 2 ; i <= n ; i ++ ) { try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); temp = Integer.parseInt(br.readLine( )); if (temp > max ) max=temp; if (temp < min) min=temp; } catch ( IOException e ) { } ; } System.out.println(\ } } 2. 编写一个方法,要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组的元素的值是参数数组各元素的一半。 double[] arraymethod(int a[]) { double x[]=new double [a.length]; for(int i=0;i x[i]=a[i]/2.0; } return x; } 3. 编写一个方法,要求将一个十进制正整数n转换成十六进制数,其中n为方法参数,十六进制数以字符串形式返回。 String hexmethod(int n) { int c[]=new int[8]; int i=0; while(n>0) { c[i++]=n; n=n/16; } String s[]={“A”,”B”,”C”,”D”,”E”,”F”},str=””; while(--i>0) { str=str+(c[i]<10?c[i]:s[c[i]-10]); } return str; } 4. 编写一个方法,要求该方法有一个元素类型为整型的数组参数,方法的功能是把参数数组中元素值相同的元素删成只剩一个,经过删除后会得到一个新数组,方法返回这个新数组。 int[] fmethod(int[] a) { int[] b=new int[a.length]; int i,j,k=0; b[k]=a[0]; for(i=1;i for(j=0;j<=k;j++) if(a[i]==b[j])break; if(j>k) { k++; b[k]=a[i]; } } int[] c=new int[k+1]; for(i=0;i<=k;i++) c[i]=b[i]; return c; } 5. 编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。