第1章Java 语言入门1-1开发与运行Java程序需要经过哪些主要步骤和过程?1-2怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?1-3Java程序是有什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?1-4在运行小应用程序的html文件中可以使用codebase属性制定小应用程序的字节码所驻留的目录。
如果不使用codebase属性,小应用程序的字节码文件必须和运行它的html在同一目录中,编写一个小应用程序并将它的字节码存放在某个目录中,比如c:\Boy. 把运行该小应用程序的html文件(注意其中的codebase属性):< applet code=你的小程序的字节码wdith=20 height=30codebase=c:\boy> </applet>存放在另一个目录中(查阅有关编写网页方面的书籍,会有更详细的关于怎样在一个网页中嵌入一个小应用程序的讲解)。
第2章标识符、关键字和数据类型2-1上机运行下列程序,注意观察输出的结果。
public class E{ public static void main ( string args [ ] ){ for (int i=20302; i<=20302; i++){ System.out. println (( char ) i );}}2-2System.out. println (“你好”);可输出字符串值,也可以使用System.out. println()输出变量或表达式的值,只需使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置即可,如System.out. println(“”+x);System.out. println(“:”+123+“大于”+122)等。
上机调试下列程序,注意观察结果,特别注意System.out. print()和System.out. println()的区别。
public class OutputData{ public static void main ( string args [ ] ){ int x=234, y=432 ;System.out. println (“:” +x+“<”+2*x);System.out. print (“我输出结果后不回车“);System.out. println (“我输出结果后自动回车到下一行”);}}第3章运算符、表达式和语句3-1分别编写一个应用程序和小应用程序求1!+2!+…+20!。
3-2编写一个小应用程序求100以内的全部素数。
3-3分别用do-while和for循环计算1+1/2!+1/3!+1/4!…的前20项和。
3-4一个数如果恰好等于它的因子之和,这个数就称为“完数”。
分别编写一个应用程序和小应用程序求1000之内的所有完数。
第4章类、对象和接口4-1举例说明protected 方法和友好方法的区别。
4-2举例说明类方法和实例方法以及类变量和实例变量的区别。
4-3子类将继承父类的那些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?说明你的理由。
4-4下列程序有什么错误?public class Takecare{ int a=90;static float b=10.98fpublic static void main ( string args[ ] ){ float c=a +b;System. out. println (“=”+c);}}4-5使用接口有哪些注意事项?模仿例子4.28,编写一个类实现两个接口的程序。
4-6上机编译运行下列程序。
class 学生{ string 书,笔;int 学号,年级;学生(int number ,int grade){ 学号=number; 年级=grade;}void 去教室(){ System. out . println (“我带着”+书+“和”+笔+“来到教室,准备听课”);}}第5章数组与字符串5-1使用String类的public String toUpperCase()方法可以将一个字符串中的小写字母变成大写字母;使用public String toLowerCase()方法可以将一个字符串中的大写字母变成小写字母。
编写一个程序,使用这个两个方法实现大小写的转换。
5-2使用String类的public String concat(String str)方法可以把调用该方法的字符串与参数制定的字符串连接,把str 指定的串连接到当前串的尾部获得一个新的串。
编写一个程序通过连接两个串得到一个新串,并输出这个新串。
5-3String类的public char charAt( int index )方法可以得到当前字符串index位置上的一个字符。
说出下列程序的输出结果。
class E4{ public static void main ( String args [ ] ){ String s=“中国科学技术大学”;char a=s. charAt(2), b=s. charAt (6);System. out .print(a);System. out .println(b);}}5-4使用java. util包中的Arrays类的静态方法:public static voidsort( double a[ ]) 可以把参数a指定的double型数组按升序排序。
使用使用java. util包中的Arrays类的静态方法:public static void sort( double a[ ],int start,int end )可以把参数a指定的double型数组中从位置start到end位置的数按升序排序。
说出下列程序的输出结果。
import java. util. *;class E5{ public static void main ( String args [ ] ){ int a[ ]={23,67,89,90,-987}; doubleb[ ]={12.89,90.87,34,678.987,-98.78,0.89};Arrays.sort( a ); Arrays.sort( b,1,4);for( int i=0; i<=4; i++){ System.out.print (a[i]+“,”);}for( int i=0; i<b.length;i++){ System.out.print (b[i]+“,”);}}}5-5使用ng 包中System类的静态方法arraycopy 可以实现数组的快速复制,上机实习下列程序,并总结出arraycopy方法参数的使用规则。
class Array Copy{ public static void main ( String args [ ]){ char al[ ]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’},bl[ ]={‘1’,‘2’,‘3’,‘4’,‘5’,‘6’};System .arraycopy( al,0,bl,l,al.length-1 );System.out.println (new String( al )); System.out.println(new String( bl ));bytea2[ ]={97,98,99,100,101,102},b2[ ]={65,67,68,69,70,71};System .arraycopy( b2,0,a2,3,b2.length-3 );System.out.println (new String( a2 ));System.out.println (new String( b2 ));}}第6章时间、日期和数字6-1输出某年某月的日历页,通过main方法的参数将年份和月份时间传递到程序中。
6-2计算某年、某月、某日和某年、某月、某日之间的天数间隔。
要求年、月、日通过main方法的参数传递到程序中。
6-3编写练习Math类的常用方法。
第7章AWT工具集简介7-1 下列程序中,一共有多少个组件,哪些组件既是组件又是容器?import java . awt. *;class E6{public static void main ( String args [ ] ){Frame fra=new Frame(“? ”);Fra . setVisible ( true );fra. setBounds ( 120,100,200,180 );Panel p=new Panel ( );Button b=new Button ( “java”);TextField text = new TextField( 10 );Label label=new Label(“how are you”);Checkbox box=new Checkbox (“Wa”);p.add (box);p.add (b);fra. add (lable,“North”);far. add ( p, “Center”);far. add ( text, “South”);}}第8章Java Applet基础8-1查阅编写网页的有关书籍,总结出在网页中加入小应用程序的更多技术细节。
8-2我们可以在超文本中使用若干个‹Param...›标志把值传递到小程序中,例如:‹param name=名字串 value=值串›写出下列小程序的输出结果。
小程序和运行该小程序的超文本文件如下。
E2.html;‹applet code=E2.class width=200 height=200›‹param name=“girl”value=“160”›‹param name=“boy” value=“175”›‹/applet ›E2.java:import java.awt.*;import java.applet.*;public class E2 extends Applet{ int x=8,y=9 ;public void init( ){ String sl=getParameter(“girl”);//从html 得到girl的值(字符串类型)String s2=getParamete(“boy”);//从html得到boy的值(字符串类型)x=Integer. parseInt(s1);y= Integer. parseInt(s2);}public void paint(Graphics g){ g. drawstring(“x=“+x+”, “+”y=”+y,90,120); }}第9章文本框和文本区9-1编写有两个文本区的小应用程序。