JAVA复习带答案_第1页
JAVA复习带答案_第2页
JAVA复习带答案_第3页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. java语言的特点:简单,面向对象,安全,跨平台,支持多线程。简单:(丢弃了 C+中难于理解的运算符重载,多继承,指针等,并且提供自动垃圾回收机制)面向对象:只支持单继承,纯面向对象的语言。安全:不支持指针,一切内存访问必须通过对象实例来实现,从而使应用更安全。跨平台:同一段程序既可以在window运行也可以在 Linux运行多线程:支持多线程。下列选项哪个不属于java语言包含的内容?()A具有类与对象 B 一次编译处处运行 C具有多线程的能力D具有多继承的特点下列关于java语言特点错误的是()A. java语言可以进行面向对象编程也可以面向过程编程B. java语言是面向对象的语言

2、C. java语言支持跨平台编程D. java语言支持多线程下列特点不属于java语言的是()A. 多线程B. 多继承C. 跨平台D. 垃圾自动回收2. java程序为什么能跨平台?通过java虚拟机可以达到跨平台的特性。3. java程序的编译过程:源文件 a.java- 编译a.class (字节码文件)9虚拟机运行下面哪种类型的文件可以在java虚拟机中运行?A. .java B. .jre C. .exe D. .class在 Java中()。A. 垃圾回收器B.虚拟机C.编译器D.多线程机制编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为

3、()。A. .javaB. .classC. .htmD. .exe第一章java编程基1. java代码基本格式java语言区分大小写,程序代码必须写在一个类中D、 voidB方法体为空D.定义方法时必须使Java中ma in ()函数的返回值是()A、String B、intC、void(char)A方法没有返回值C没有意义$组成,但不能以数2. java 标识符可以由任意顺序的大小写字母、数字、下划线一和美元符号字开头,不能是java关键字。以下选项中,哪个是合法标识符()A. abc B. class C. 123sb D byte如下哪个不是 Java中有效的变量名。()A、if B

4、、_hello C、name D、$goodF面选项中哪个是Java中的标识符A.publicB. superC. 3 n umberD. widthF面哪个单词是Java语言的关键字()A.False B. FOR C. For D. for下列标识符中,正确的是一0A、l Back B、$_Mo neyC、$-moneyD、a.b下列标识符中,合法的一个是A. $#!$B. $我们$C.$22$D.2$23.设 x=l,y = 2,z = 3 A.以下程序的运行结果是:B. 3.5()运算符表达式条件循环y+=z- -/+ x 的值是(C.4D. 5+?./public class In

5、creme nt(public static void main( Str ing args)( int a;a = 6;System.out.pri nt(a);System.out.pr in t(a+);System.out.pri nt(a);)A. 666 B. 667 C. 677 D. 676下列代码输出结果是()int i = 10; while ( i > 0)(i = i+ 1 ;if( i = =10)break; )A. while循环执行10次B.死循环C.循环一次都不执行D.循环执行一次执行下面代码结果()for ( int i=0;)(System.out.

6、println ("这是"+i);Break; A、语法错误,缺少表达式2和表达式3B、死循环C、程序什么都不输出D、输岀:这是 0int x=182; int a,c;c=x/100;a=x%10;A) 12B)21 C) 1.82,2D)100,82下列语句执行后,k的值是()in tj=4, i, k=10;for(i=2; i!=j; i+) k=k_i;D 7A. 4 B. 5C. 6break中断语句for语句中加入break语句A. 对for语句执行没有影响B. 中断本次循环C. 退岀for循环for语句后面的语句结论是正确的。inta,b,c;B. a的值是

7、1 b的值是3D.c的值是falseD. 以上说法均不对执行完下面程序片段后a=l; b=2c = (a+b>3 ?a+:b+);A. a的值是2 b的值是3C.a的值是1 b的值是24. 方法(函数)方法的重载:函数名相同,参数个数和参数类型不同。返回值不同不算重载。方法的重写:在继承关系中,子类重新定义父类的同名方法(参数个数和类型与父类一样)。P116方法递归是指在一个方法的内部调用自身的过程。必须给岀结束条件,不然会陷入死循环。函数重载是指()。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不

8、同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同一个类可同时定义许多同名的方法,这,传回的值也可以不相同。这种面向对象程序的特性称为()。A、隐臧B、覆盖c、重载D、Java不支持此特性重写与重载的关系是(A、重写只有发生在父类与子类之间而重载可以发生在同一个类中B、重写方法可以不同名而重载方法必须同名C. final 修饰的方法可以被重写但不能被重载D、重写与重载是同一回事F列方法头中哪一个不与其他方法形成重载(overload)关系?( D )A 、 void mmm()B、 void mmm(int i)C、void mmm

9、(String s) D 、int mm()( 方法名不一样 )是( )JAVA 程序经常用到“递归”A. “让别人反复调用自己”B. “自己反复调用别人”C. " 自己反复调用自己 "D. 以上说法都不对5. 数组数组元素的值下列程序段执行后的结果是 () 。String s = new String(" abcdefg");for (int i=0; i<s.length(); i+=2)( System.out.print(s.charAt(i); A) aceg B) ACEG C) abcdefg D) abed应用程序的 main( B

10、 ) 。intx= (125,21,5,168,98;int min = x0;for (int i=l; i<x.length; i+) if(xi <min)min = xi;System.out.println(min);A) 125B)5 C) 98 D) 168若 int a3 =123,345,34,56,34,56, 则 a2l= _56 。设有整型数组的定义:“intx=12,34, -5,3,2,6;贝” x.length 的值为(9 )第三章面向对象(上)1. java的面向对象的特点:封装继承多态。P 78 79java的特性中体现对数据的保护的是()A. 抽

11、象性B.封装性C. 继承性D.多态性java的特性中体现代码重用的是()A. 抽象性B.封装性C.继承性D.多态性2.几个关键字:exte nds impleme nts abstract in terface类的创建,接口,抽象类创建的写法。所有类的父类是Java中用 关键字定义继承(接口,抽象类Java语言中,一是所有类的根类。 Object Root Thread下面是类A的构造方法声明,其中正确的是一%1 void A(intx)(.)A(intx)(.)下列类定义中不正确的是 public class A exte nds B)%1 public class A implements

12、 B, D(C, D,E()下列哪个类声明是正确的 ()oA. public abstract class Car.C. protected private n umber;请看下面的程序段public class Test(long a=new lon g10;pubic static void main( Stri ng args)( System.out.pri ntln( a6);哪一个选项是正确的()=A.不输岀任何内容C.当编译时有错误出现定义类A如下:class A(int a,b,c;public void B(i nt x,i nt y, int z)( a=x;b=y;c=

13、z;Object 类。)o Applet a(i nt x) (. . void a(i nt x)(.)public class A extends B, D()?public class A exte nds B impleme ntsB ? abstract private move() (.D? abstract finalB. 输岀0D.当运行时有错误出现F面对方法B的重载哪些是正确的()A, public void A(i nt xl,i nt yl, i nt zl)( a=x 1 ;b=yl;c=z1;B, public void B(i nt xl,i nt yl, i nt

14、 zl)( a=x 1 ;b=y 1;c=z1;C, public void B(i nt x,i nt y)( a=x;b=y;c=0;D ?public B(int x,int y, int z)( a=x;b=y;c=z;3, 类的设计与封装(属性,方法,继承,接口,抽象类 )程序题private关键字来修饰,私所谓类的封装是指在定义一个类时,将类中的属性私有化,即用下列方法的声明中不合法的是B. void area().A. float area()(.C. area.下面哪一个是正确的类的声明?A、public void HH )C、public class void有属性智能在它所

15、在的类中被访问。D. int area(i nt r) .B、public class Move() (.)D public class Car 4. 构造方法:方法与类名相同,方法名前面没有返回值类型,在方法中不能使用return语句返回一个值,当创建对象时调用,可以重载。构造函数在一个类中肯定存在,如果不定义也不会报错,会有一个默认无参数构造函数,该函数函数体为空,如自己定义则无参数构造函数就没有了。下列关于构造方法错误的是()A. java语言中构造方法名必须与类名相同B. java语言中构造方法没有返回值,所以用void声明C. java语言构造函数可以重载()A、创建对象时C、使用对

16、象的方法时 以下关于构造函数的描述错误的是A、构造函数的返回类型只能是B、D. java语言构造函数是在创建对象时自动调用。B、类定义时D、使用对象的属性时。void 型。C、构造函数是类的一种特殊函数,它的方法名必须与类名相同 构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。在Java中,关于构造方法,下列说法错误的是()A、构造方法的名称必须与类名相同B、构造方法可以带参数C、构造方法不可以重载D、构造方法绝对不能有返回值F面是类A的构造方法声明,其中正确的是A. void A(i nt x) (. . B. A(i nt x) (. . .

17、 C. a(int x) (. D. void a(intx) .)A. void A(int x) B. public A(int x)(-C. AA(intx) D. int A(int x) 以下关于构造函数的描述错误的是 ( ) 。A、构造函数的返回类型只能是void型。B、构造函数是类的一种特殊函数,它的方法名必须与类名相同C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。5. static 关键字 ( 静态 )在定义一个类时,只是在描述某类事物的特征和行为,并没有产生具体的数据。只有通过new 关键字创建类的实例对象后,系统才会为对

18、象分配空间,存储各自的数据。有时候,我们希望某些特定的数据在内存中只有一份,而且能够被一个类的实例对象所共享。静态变量: Static 修饰的变量被称为静态变量,静态变量被所有实例共享,可以使用类名 . 变量名访问。静态方法:有时我们希望不创建对象的情况下可以调用某给方法,也就是说方法不必和对象绑在一起。用 static 修饰的方法是静态方法,可以用类名 . 方法名调用,也可以用实 例对象访问。在一个静态方法中只能访问用 static 修饰的成员,原因是没有被 static 修饰的 成员需要先创建对象 才能访问 , 而静态方法在被调用时可以不创建任何对象。假设A类有如下定义,设 a是A类的一个

19、实例,下列语句调用哪个是错误的?()class A int i;static String s;void methodl() )static void method2() ()A、System.out.println(a.i): B、a.methodl();C、A.methodlQ; D 、A.method2()下面程序中类ClassDemo中定义了一个静态变量 sum,分析程序段的输岀结果。()class ClassDemo C.D.112D. m将 private int m改成 intB.子类D.用户自定义类B . 将 private int m 改成 public int mpubli

20、c static int sum=l;public ClassDemo() (sum = sum + 5;public class ClassDemoTest(public static void main(String args) (ClassDemo demol=new ClassDemo(); ClassDemo demo2=new ClassDemo(); System.out.println(demol .sum);)A. 0 B.6 请看下面的程序段class Test( private int m;public static void fun()(/some code)方法fun

21、()如何来访问变量 m ()A. 将 private int m 改成 protected int mC. 将 private int m 改成 static1. int继承承沁nds声明为 static 的方法不能访问 ( )类成员A. 超类C. 非 static面向对象(下)在Java语言中,下列关于类的继承的描述,正确的是()oA、一个类可以继承多个父类B、一个类可以具有多个子类C、子类可以使用父类的所有方法D、子类一定比父类有更多的成员方法Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()A、C 不仅继承了 B 中的成员,同样也继承了 A 中的成员B、C 只继

22、承了 B 中的成员C、C 只继承了 A 中的成员D、C不能继承A或B中的成员Java语言中对父类和子类关系描述正确的是A. 一个子类可以有多个父类B. 一个子类可以有多个父类c.个子类可以有一个父类D、上述说法都不对有两个类定义: class A (void who () (System, out. print ( /ZA Z) ;) class B extends A void who () (System, out. print (ZZB/Z) ;)则顺序执行如下语句后输出的结果为A a=new B() ;B b 二 new B ();a. who () ; b. who ();?AA A

23、B BB BA已知类关系如下:Class EmployeeClass Manager extends Employee)Class Director extends Employee ) 则下列语句正确的是: ()oA ? Employee e=new Manager();B. Director d=new Manager();C. Director d =new Employee (); D. Manager m=new 关于 Java 中的继承,下列说法错误的是. Director ();A. 继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B. 继承使得程序员可以在原有类

24、的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C. 每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己 的一些特性, 使得它更具体、功能更强大。D. 继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。2. Super 关键字:调用父类的方法。编译运行下面的程序,结果是 ()o public class A(public static void main(String args)( B b=new B(); b.test();void test()(System.out

25、.print("A ;)class B extends A(void test()(super.test();System.out.print("B'');A. 产生编译错误B. 代码可以编译运行,并输出结果: ABC. 代码可以编译运行,但没有输出D. 编译没有错误,但会产生运行时异常Class Parent(Void printMe() ( System.out.println(cuparent");class Child extends Parent(void printMe()( System.out.println("child

26、");void printAll()super. printMe();this. printMe();printMe ();public class Apublic static void main(String args) Child myC=new ChildO ;myC. printAll();)运行结果是:3. Final 关键字可用于修饰类、变量和方法,它有“这是无法改变的”或者“最终”的含 义,因此 被 final 修饰的类、变量和方法将具有以下特性:1、final 修饰的类不能被继承。2、final 修饰的方法不能被子类重写。3、final 修饰的变量 ( 成员变量和局

27、部变量 ) 是常量,只能赋值一次。在 Java 中 final 关键字的说法不正确的是A.如果修饰变量B.如果修饰类C.如果修饰方法D.如果修饰类继承。什么样的方法不能被重写A.私有(private)方法C.B. 最终(final)方法受保护(protected)的方法D.以上都不对4. 抽象类和接口 定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract 关键字来修饰,具体示例如下:abstract void shout () ;3 当一个类中包含了抽象方法,该类必须使用 饰的类为抽象类,具体示例如下:/ 定义抽象类 Anima laa.k>stra.ct

28、 class Animal “/ 定义抽象方法 shout ()3abstract int shout () ; ?/ 定义抽象方法 shout ()abstract 关键字来修饰,使用abstract 关 键字修如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另外一种方式来定义,即接口。在定义接口时,需要使用 interface 关键字来声明。interface Animal -int ID = 1; void breathe () ; run()x/ 定义全局常量/ 定义抽象方法。 void对抽象类的描述错误的是必须被继承使用方法必须被覆盖不能实例化用abstract修饰符修饰下列关

29、于接口的叙述中,一是正确的。接口与抽象类是相同的概念接口之间不能有继承关系3个类只能实现一个接口接口中只含有抽象方法和常量接口是 Java 面向对象的实现机制之一,以下说法正确的是 ()oA. Java 支持多重继承,一个类可以实现多个接口B. Java 只支持单重继承,一个类可以实现多个接口C. Java只支持单重继承,一个类只可以实现一个接口D. Java支持多重继承,但一个类只可以实现一个接口下列有关抽象类与接口的叙述中正确的是哪一个A. 抽象类中必须有抽象方法,接口中也必须有抽象方法B. 抽象类中可以有非抽象方法,接口中也可以有非抽象方法C. 含有抽象方法的类必须是抽象类,接口中的方法

30、必须是抽象方法D. 抽象类中的变量定义时必须初始化,而接口中不是 从下列程序中你发现了几处错误 abstract class A(abstract void f()();public abstract void k();)class B extends A(protected void f()()public void k()(System.out.print("I am subclass");public static void main(String args) (A a=new A();a.f();a.k();)A. 1B. 2C. 3D. 45. 多态 ( 4-13

31、)匿名内部类6. 异常什么是异常? Try catch Finally有时候,我们希望有些语句无论程序是否发生异常都要执行,就需要在try catch 后 加上finally 代码块。自定义异常继承自 Exception 类。finally 语句块中的代码 ( )A. 总是被执行B. 当 try 语句块后面没有 catch 时, finally 中的代码才会执行C. 异常发生时才执行D. 异常没有发生时才被执行 抛出异常应该使用的关键字是 ( )A. throwB ? catchC. finallyD. throws自定义异常类时,可以继承的类是( )A. ErrorB ? AppletC?

32、Exception 及其子类D. Assertio nError)语句块中在异常处理中,将可能抛出异常的方法放在(A. throwsB ? catchC. tryD ? fin ally使用catch (Exception e )的好处是(A. 只会捕获个别类型的异常B. 捕获try语句块中产生的所有类型的异常C. 忽略一些异常D. 执行一些程序第五章线程1. 线程和进程2. Java中如何实现线程(继承 Thread类创建线程,实现Runnable接口)Run函数中定义子线程中要实现的代码,通过start函数来开启子线程。继承 Thread 类 public class Example02

33、( public static void ma in (Str in g args)(MyThread my Thread = new MyThreadQ; / 创建线程 My Thread 的线程对象 myThread.start();/开启线程while (true) (/通过死循环语句打印输岀System.out.println(” 方a法在运行”); class MyThread extends Thread ( publicvoid run() ( while (true) ( /通过死循环语句打印输岀System.out.println("MyThread 类的 run(

34、)方法在运行");实现 Runn able 接口 public class Example03 ( public static void ma in (Stri ng args) MyThread my Thread = new MyThread(); / 创建 MyThread 的实例对象Thread thread=new Thread(myThread); / 创建线程对象 thread.start();/ 开启线程,执行线程中的nm()方法while (true) ( System.out.println(” 方法在运行”); class MyThread implements

35、Runnable ( public void run()( 线程的代码段,当调用start。方法时,线程从此处开始执行while (true) ( System.out.println("MyThread 类的 run()方法在运行"); 在实现多线程的程序时有两种方式,一是通过继承一Thread 类,二是通过实现Runnable 接 口。一个应用程序中有多条并发执行的线索,每条线索都被称作一个一线程一,它们会交替执行。在Thread类中,提供了一个 start。方法,该方法用于开启线程_ _ ,当新线程启动后,系统会自动调用一run()方法。()中启动该线程,需使用以下哪

36、个方法myThread. start ();myThread. run ();)D.mai n()d.mai n()设已经编好了一个线程类MyThread,要在main)A. new MyThreadB. MyThread myThread=new MyThread();C. MyThread myThread=new MyThread();D. new MyThread. start ();以下方法用于定义线程执行体的是(A. start()B. i nit()C. run()以下方法用于启动线程的是(A. start()B. i nit()C. run()第六章java API1.Stri

37、ng 类方法声明功能描述,int in dexOf(mt ch)o:返回指定字符在此字符串中第一次出现处的索引“int last !n dexOf(i nt ch)Q返回指定字符在此字符串中最后一次出现处的索引。char charAt(i nt in dex) o返回字符串中index位置上的字符,其中index的取值范围是: 0序符串长度-1)。boolea n en dsWith( String suffix).:判断此字符串是否以指定的字符串结尾Qint length。/返回此字符串的长度。boolea n equals( Object anO bject):将此字符串与指定的字符串比较

38、。boolean isEmpty。/当且仅当字符串长度为0时返回miB3boolean startsWth( String prefix)*:判断此字符串是否以指定的字符串开始。boolea n contains( CharS eque nee判断此字符串中是否包含指定的字符序列#Spring toLowerCase()A使用默认语言环境的规则将String中的所有字符都转换为小写QStri ng toUpperCaseO*3使用默认语言环境的规则将Strmg中的所有字符都转换为大Stri ng valueOf(i nt i)p与回mt参数的字符串表示形式“char toCharArrayOA

39、将此字符串转换为一个字符数组。Stri ng replace(CharSeque nee oldstr?返回一个新的字符串,它是通过用new*曾逸此字符串中岀现的所有oldstr得到的CharSeque nee n ewstr)''3String。 split(String regex)*,根据参数regex将原来的字符串分割为若干个子字符串。3Stri ng substrmg(i nt begm ln dex)*返回一个新字符串,匕包含字符串中索引begml ndex后的所有Stri ng substr in g(im begi nln dex? int endin dex)

40、 p返符。个新字符串,它包含此字符串中从索引begml ndex到索引endindex之间的所有字符。String trimO返回一个新字符串,它去除了原字符串首尾的空格QSubstring 的包头不包尾 str= ” zhangsanfeng ” str.substring(5结果是 san2.Str in gbuffer 类方法声明功能描述。Str in gBuffer appe nd(char c)“添加参数到Str in gBuffer对象中QStri ngBuffer in sert(mt offset Str ing str)"将字符串中的offset位置插入字符串str

41、pStr in gBuffer deleteCharAt(i nt in dex)/移除此序列指定位置的字符 “StringBuffer delete(mt start, int end)* 3删除StringBuffer对象中指定范围的字符或字符串序列#Str in gBuffer replace(iiit start, int end ? String在StringBuffer对象中替换指定的字符或字符串序列。Void setCharAt(int index, char ch修改指定位置index处的字符序列。Stri ng toStri ngO返回StringBuffer缓冲区中的字符串

42、。Stri ngBuffer reverseO43将此字符序列用其反转形式取代。Delete replace包头不包尾String类型equals。两个字符串内容一样,就返回真=左右两边的对象是一个对象才返回真比较sl种的字符串和s2种的字符串的内容是否相等的表达式是:(sl.equals(s2)已知 sb 为 StringBuffer 的一个实例,且sb="abcde”,贝U sb.reverse(后 sb 的值为:(edcba )已知 Str in gBuffer sb=new StrmgBuffer( nabcn),则 sb.re verse ()后, sb 的值为 cbaSt

43、ri ng sl= "Chi na ; int n=sl.le ngth(); n 的值为 5已知 String 对象 s="abcdefg ” 贝U s.substring(2,5)的返回值为()A. "bcde"C. ” cdef'B. "cdeD. "def'已知s为一个 String对象,s="abcdefg ”贝U s.charAt(l)的返回值为()A. aB. bC. fd. g假设String s="Nice to meet you ,则下面返回” to '的语句为。A. s

44、.substri ng(6,8);B. s.substri ng(5,9);C. s.substri ng(5,7);D. s.substri ng(6,7);己知 String s= "This is a string",贝U s.indexOf( ” i的T值为。A. 1B. 2以下程序段执行的结果为oString strl, str2;strl = "Byebye"str2= “ Byebye ”System.out.print(strl.equals(str2); trueSystem.out.pri ntl n( strl = str2); f

45、alseA. truefalse B. truetrue应用程序的mai nString sl=new Strin g("abc");C. 3D. 4C. falsetrue D. falsefalse(A )oString s2=new String(nabc");boolean bl=sl.equals(s2);boolean b2=(sl= =s2);System.out.print(bl+" "+b2);A)true false B) false true C) true true D)false false已知 Str in gBuf

46、fer sb=new Str in gBuffer( nabcde"),则 sb.delete(l,2)后 sb 的值为A. abcB. abdeC. acdeD. ade下面的程序段执行后输出的结果是。StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,n");System.out.println(buf.toStringO);A) Beijing2008 B) Beijing2008C) Beijing2008 D) Beijing#2008 下列程序段执行后的结果是。Stri

47、n s=newString("abcdefg");for(int i=0;i<s.length();i+=2)(System.out.print(s.charAt(i);A) aceg B) ACEG C) abcdefg D) abed先阅读下面的程序片段:String strl=new String("java");String str2=new String(Hjava");StringBuffer str3=new StringBuffer(Hjava");对于上述定义的变量,以下表达式的值为true的是哪个?A、str

48、l=str2; B、strl.equals(str2); C、strl=str3; D、以上都不对public class B ( public static void main(String args) ( String s = "dfferghuklmbdfd"System.out.printIn("str.length():n + s.length(); 15System.out.printIn("str.charAt(0):" + s.charAt(0); dSystem.out.printIn("lastlndexOf(m)

49、:" + s.lastlndexOf(*m*);10System.out.printIn("substring(2,4):n + s.substring(2, 4); feSystem.out.printin("indexOf(g) :" + s.indexOf(* g*); 5 3. Random 类Random r=new Random();r.nextlnt(lOO);产生一个 0,100)之间的数4, 包装类数据类型过这些包装类a)在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本的值传入。为了解决这样的问题, JDK 中提

50、供了一系列的包装类,通基本数据类型p对应的包装类。byte*21Byterchar*3Character*3intQIn tegersshortsShortslo ng*21Long* 3float* 3Floatsdouble*3Doubleboolea nBoolea n*21表中列举了八种基本数据类型及其对应的包装类。其中,除了Integer和Character类,其它包装类的名称和基本数据类型的名称一致,只是类名的第一个字母大写即可。java语言对简单数据类型进行了包装,int对应的包装类是 In teger.java语言对简单数据类型进行了包装,bool对应的包装类是 Boolean

51、.按要求编写一个 Java应用程序:(1) 定义一个接口 CanCry,描述会吼叫的方法 public void cry() 分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功 能分别为:打印输岀“我是狗,我的叫声是汪汪汪"、“我是猫,我的叫声是嘀嘀日苗”。(3) 定义一个主类G,%1 定义一个 void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。%1在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g),用g调用makecry方法,让狗和猫吼叫。public class G (voidmakeCry(Ca nCry

52、c)(c?cry();public static voidmai n(Stri ngargs) II TODO 自动生成的方法存根Dog d=new Dog();Cat c=new Cat(); G g=new G(); g.makeCry(d); g.makeCry(c);interface CanCry( public void cry(); CanCry public我是狗,我的class Dog implements void cry() (System .OL?t.println( 叫 声是汪汪汪”);class Cat implements CanCry(public void c

53、ry() (System . out. printin ( ”我是猫,我 的叫 声是口苗口苗口苗” );定义一个Father类,包括属性:姓名、性别、年龄;包括方法:工作(打印输岀工作内容(1) 根据Father类,派生一个儿子类,增加属性:国籍;重写工作方法。(2) 定义儿子类的构造函数。List 集合(3) 编写主函数用儿子类的构造函数产生三个实例,然后把这三个实例放到一个 中,然后使用Iterator对象遍历集合打印岀儿子的姓名。public class test public static voidmain(Stringargs) (/ TODO 自动生成的方法存根Son sl=new

54、 Son ( ”王思聪”,”男 ”,28/ 中国。 );Son s2=new Son (" 王思超”,”男”,30/ 中国 ;Son s3=new Son ( ”王思辉”,”男 ",15,”中国”);ArrayList<Son> list=newArrayList<Son>();list.add(si);list.add(s2);list.add(s3);Iterator it=list.iterator(); while (it.hasNext()( Son s=(Son)it.next();System .out. printin();class Father (String name;String sex;int age;void work()(System. out . printin ( ”挣钱” );class Son extends Father(String c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论