1、 5000/applet存放在另一个目录中。 以书中小应用程序为例进行说明:编写Java 小应用程序源代码import java.applet.*;import java.awt.*;public class Boy extends Appletpublic void paint(Graphics g)g.setColor(Color.red);g.drawString(我一边喝着咖啡,一边学Java 呢,5,30);g.setColor(Color.blue);我学得很认真,10,50);将上述代码命名为Boy.java 并进行编译得到Boy.class 字节码文件;将得到的字节码文件存放在
2、 三车资料库学习资源共享专家C:5000 文件夹下;编写小应用程序的HTML 源文件:applet code=Boy.class wdith=200 height=300 codebase=C:5000 将上述编写好的代码命名为Boy.html;并将此文件存放在C:5000 文件夹以外的任意一个文件夹中(如C:1000);运行Boy.html。第2 章标识符、关键字和数据类型1. 什么叫标识符?标识符的规则是什么?用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。2. 什么叫关键字?请
3、说出5 个关键字。Java 语言中已经被赋予特定意义的一些单词。class break public return static extends 等。3. Jav a 的基本数据类型都是什么?boolean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。4. 下列哪些语句是错误的:int x = 8;byte b = 127;b = x;答:b=x 语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。5. 下列程序的输出结果是什么?public class Epublic static
4、void main(Strin g args)long a=1,2,3,4 ;long b=100,200 ,300,400,500;b=a;System.ou t.println(数组b 的长度:+b.length );b0=+b0) ; 数组b 的长度:4b0=16. 上机运行下列程序,注意观察输出结果。for(int i=20302;i 20322;i+)System.ou t.println(char)i); 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡7. System.out.p rintln(“你好”);可输出字符串,也可以使用System.out. println( )输出变量或表
5、达式的值,只需使用并置符号“+” 将变量、表达式或一个常数值与一个字符串并置即可, 如:System.ou t.println(“ ”+x);System.out. println(“:”+123+“大于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out. print( )和System.out.p rintln( )的区别。public class OutputDataint x=234,y=432 ;System.ou t.println(x+(2*x);System.ou t.print(我输出结果后不回车);我输出结果后自动回车到下一行x+y= +(x+y)
6、; +x+y+=234 432 234468我输出结果后不回车我输出结果后自动回车到下一行x+y= 666234432=2344328. 编写一个Jav a 应用程序,输出全部的希腊字母。public class XLWordspublic static void main(String args)for(int i=913;930;System.out.print(char)i+for(int j=931;j938;j+)System.out.print(char)j+for(int k=945;k962;k+)System.out.print(char)k+for(int t=963;tA
7、)y=爱z= 情else我她+x+y+ z) ; 你爱她2. 下列程序的输出结果是什么?public class E3char c=0for(int i=1;=4;i+ +)switch(i)case 1:c=bSystem.ou t.print(c);case 2:break;case 3:pdefault:!beep!3. 编写应用程序,求1!+2!+10!。class Factint fact,sum=0;=10;fact=1;for(int j=1;=i;fact*=j;sum+=fact;System.out.println(1 到10 的阶乘之和是:+sum);4. 编写一个应用程
8、序,求10 0 以内的全部素数。class Primesint w=1;for(int i=2;=100;for(int j=2;i;w=i%j;if(w=0)if(w!=0)System.out.println(i+是素数5. 分别用dowhil e 和fo r 循环计算1+1/2!+1/3!+1/4!+的前2 0 项和。 for 循环class Sumsum=0;for(i=1;x;if(x%i=0)sum+=i;if(x=sum)System.out.println(x+是完数7. 编写应用程序,分别使用whil e 和fo r 循环计算8+88+888+前1 0 项之和。class T
9、heSumlong sum=0,data=8;sum=sum+data;data=data*10+8;System.out.println(sum);while 循环long sum=0,data=8,i=0;while(+i=10)8. 编写应用程序,输出满足1+2+3+n888 8 的最大正整数n。class Maxnint k=1,sum=0;while(sum+=k)8888)k+;k-;最大能取到:+k);第4 章类、对象和接口1. 类中的实例变量在什么时候会被分配内存空间? 当该类创建对象之后,实例变量才会被分配相应的内存空间。2. 什么叫方法的重载?构造方法可以重载吗?一个类中可
10、以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。构造方法可以重载。3. 类中的实例方法可以操作类变量(stati c 变量)吗?类方法(stati c 方法)可以操作实例变量吗?类中的实例方法可以操作类变量。类方法不可以操作实例变量4. 类中的实例方法可以用类名直接调用吗? 类中的实例方法不可以用类名直接调用。5. 举例说明protecte d 方法和友好方法的区别。 当子类与父类不在同一个包中时,子类可以继承父类的protected 方法;而友好方法此时则不能被子类继承。6. 举例说明类变量和实例变量
11、的区别。书写: 定义成员变量时,类变量有static 修饰;实例变量没有static 修饰。例: class Aint x; /实例变量static int y; /类变量内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。一个对象的实例变量发生改变,不影响其他对象的相应实例变量。 执行语句: A1.x=10; A1.y=20;这时A2.x 的值也是10;而A2.y 的值保持原来的初值。使用: 类变量可以被类方法操作;而实例变量不
12、能被类方法操作。例:static void func()b=10; /合法a=20; /非法类变量可以通过类名访问;实例变量不能通过类名访问。class Bpublic void func();A.x=10;A.y=20;7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?子类和父类在同一个包中时,子类可以继承父类的除private 属性的所有方法和成员变量,当子类与父类不在同一个包中时,子类只能继承父类的protected 和public 属性的成员变量和方法。子类中定义的成员变量和父类中的成员变量同
13、名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。在子类中允许有一个方法和父类的方法名字相同而类型不同。8. 父类的fina l 方法可以被子类重写吗? 父类的final 方法不能被子类重写。9. 什么类中可以有abstrac t 方法? abstract 类中可以有abstract 方法。10.什么叫对象的上转型对象? B 类是A 类的子类或间接子类,当用子类B 创建一个对象b 并把这个对象的引用放到A 类的对象a 中时,称A 类对象a 是子类对象b 的上转型对象。11.什
14、么叫接口的回调? 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。12.下列程序有什么错误?public class Takecareint a=90;static float b=10.98f;float c=a+b;c=+c); 语句float c=a+b;错误。原因是类方法main 操作了实例变量a。13. 请写出下列程序的输出结果。class Apublic int f(int x)return x+1;class B extends Areturn x*x;A a=new B();int m=a.f(10);System.ou t.println(m); 10014
15、. 请写出下列程序的输出结果。public void setX(int x)this.x=x;int getX()return x;public void f(A a)a.setX(100 );A a=new A();a.setX(8);System.ou t.println(a.getX();B b=new B();b.f(a); 810015.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。一个类使用接口时,要有implements 关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;使用接口的类除abstract 类外,必须实现接口的所有方法,并且实现接口的
16、方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public 修饰,如果接口方法的返回类型不是void 型,在类中实现接口时,方法体至少有一个return 语句。 interface 表面积double allArea(double r);interface 体积double volu(double r);class Sph implements 表面积,体积double PI=3.14159;public double allArea(double r)return 4*PI*r*r;public double volu(double r)re
17、turn 4.0/3*PI*r*r*r;public class Testdouble r=5.0;Sph a=new Sph();半径为5 的球的表面积是:+a.allArea(r);半径为5 的球的体积是:+a.volu(r);16.编写一个类A,该类创建的对象可以调用方法f 输出英文字母表,然后再编写一个该类的子类B,要求子类B 必须继承A 类的方法f(不允许重写),子类创建的对象不仅可以调用方法f 输出英文字母表,而且调用子类新增的方法g 输出希腊字母表。int m;void f()for(m=65;m91;m+)System.out.print(char)m+for(m=97;123
18、;int i;void g()for(i=913;for(i=931;for(i=945;for(i=963;970;我调用方法f 输出英文字母表:b.f();我调用方法g 输出希腊字母表:b.g();17.编写一个异常类MyException,再编写一个类Studen t,该类有一个产生异常的方法public voidspeak(int m) throws MyException,要求参数m 的值大于100 0 时,方法抛出一个MyExceptio n 对象。最后编写主类,在主类的mai n 方法中用Studen t 创建一个对象,让该对象调用spea k 方法。 class MyException extends ExceptionString str1;MyException(int m)str1=m+出现错误可能造成的原因是取值大于10
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1