收藏 分享(赏)

Java基础习题课.ppt

上传人:yjrm16270 文档编号:4789686 上传时间:2019-01-13 格式:PPT 页数:45 大小:614KB
下载 相关 举报
Java基础习题课.ppt_第1页
第1页 / 共45页
Java基础习题课.ppt_第2页
第2页 / 共45页
Java基础习题课.ppt_第3页
第3页 / 共45页
Java基础习题课.ppt_第4页
第4页 / 共45页
Java基础习题课.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、Java基础习题课,第二章课后习题,【3】声明变量的作用是什么? 解答:变量时一个数据存储空间的表示,将数据指定给变量,就是将数据存储至对应的内存空间,调用变量,就是将对应的内存空间的数据取出来使用。声明变量就是申请一个内存空间。,【4】若x=4,y=2,计算z值: (1) z=x&y (2) z=x|y (3) z=x|y (4) z=xy (5) z= x (6) z= x y,【5】假设x=10,y=20,z=30,求下列布尔表达式的值: (1) xy & yx (3) (xx (6) xy | yx (7) !(xy+z) | !(x+10=20) (8) ( !(x=y) & (x

2、!=y) & (xy | yx),【9】有一函数:x (x1)y = 3x-2 (1x10)4x (x10) 编写一程序,给定x值,输出y值。,if (x = 1 ,【11】写出下列语句执行后的结果: for (k=1;k4) break; System.out.println(“k=”+k); ,【13】编写一程序,输入3个数,能按大小顺序输出。int a = new int3;int k, temp;/输入3个数至A数组for (int i = 0; i a.length; i+) k = i;for (int j = k + 1; j a.length; j+) if (aj ak) k

3、 = j;if (k != i) temp = ai;ai = ak;ak = temp;,【15】运行下面程序,并分析其执行过程: Public class multiplicationpublic static void main(String args ) int i,j;for (i=1;i10;i+)for (i=1;i10;i+)System.out.print(i+”*”+j+”=”+i*j+”);System.out.println(); ,【17】编写打印下列图形的程序: (1) (2) (3)# * * * * * * * $ # # * * * * * $ $ $# #

4、# * * * $ $ $ $ $# # # # * $ $ $,public class Test_17_1 public static void main(String args) int i, j;for (i = 1; i = 4; i+) for (j = 1; j = i; j+) System.out.print(“#“ + “ “);System.out.println(); ,public class Test_17_2 public static void main(String args) int i, j, k;for (i = 0; i 4; i+) for (k =

5、 0; k i; k+) System.out.print(“ “);for (j = 0; j = 6 - 2 * i; j+)System.out.print(“*“);System.out.println(); ,public class Test_17_3 public static void main(String args) int i=0,blank,j,star;String s=“;for( i = 0;i 5; i+ ) blank = Math.abs( i - 5/2);for( j = 1 ; j = blank; j+ ) s += “ “; star = 5 -

6、2 * blank; for( j = 1; j = star ; j+ )s += “$“; s += “n“ ; System.out.print( s ); ,【21】设一字符串中包含有大写字母的字符,也有下写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。 public class Test_21 public static void main(String args) String s=“sdfKJjKjjsjdfKKJkjkjSDFsdf“;String s1=“,s2=“,s3;for(int i=0;is.length();i+)s3=“ABCDEFGHIJKLMNO

7、PQRSTUVWXYZ“;,if(s3.indexOf(s.charAt(i)!=-1)s1=s1+s.charAt(i);elses2=s2+s.charAt(i);System.out.println(“大写字母 :“);System.out.println(s1);System.out.println(“小写字母 :“);System.out.println(s2); ,期中综合练习题,一、选择题 1、main方法是Java应用程序执行的入口点,以下哪项是main方法头?( ) Apublic static int main(String arg) Bpublic static void

8、 main(String arg) Cpublic static void main(String args) Dpublic static void main(),2、以下哪个不是Java的关键字?( )Ado Btry Cfinal DWhile 3、以下哪项标识符是不合法的。( )AString B$1 Cx D3_a 4、以下哪个修饰符可用于定义成员常量?( ) Afinal Bstatic Cabstract Dconst,5、以下关于构造函数的描述正确的是( )。 A构造函数是特殊的方法,返回类型只能为void B可以定义多个构造函数,但每个方法名需各不相同 C在类定义中必须定义构

9、造函数,而且只能定义一个构造函数 D构造方法与类同名,在创建新对象时系统会自动调用构造函数,6、关于类的继承以下说法错误的是( )。 A在java中类只允许单一继承 B在java中一个类可实现多个接口 C在java中一个类可以同时继承一个类和实现一个接口 Djava允许多重继承,7、设有下面两个类的定义: class Person class Student extends Person long id; / 身份证号 int score; / 入学总分String name; / 姓名 int getScore()return score; 则类Person和类Student的关系是( )。

10、 A、包含关系 B、继承关系 C、关联关系 D、上述类定义有语法错误,8、关于修饰符static以下叙述错误的是( )。 Astatic方法不可被覆盖 Bstatic可以用来修饰类 Cstatic方法不可以直接访问非静态的方法,否则编译出错 Dstatic方法只能访问类变量或方法参数,不可直接访问成员变量,9、关于Java的修饰符,以下说法错误的是( )。 A抽象类中的方法不一定都是抽象方法 Bfinal类中的属性和方法都必须被final修饰符修饰 C类及其属性、方法可以同时有一个以上的修饰符来修饰 D要使类中某个成员变量只能被它自身访问到,该变量只能用private修饰,10、给出如下代码:

11、 class Test/定义成员apublic static void fun() / some code. 要在函数fun()中直接访问a,以下成员变量a定义正确的是( )。 Apublic int a; Bstatic int a; Cint a; D protected int a;,11、有以下程序片段,下列哪个选项不能插入到行1。( ) 1. 2.public class A 3./do sth 4. A、public class MainClass B、package mine; C、class ANotherClass D、import java.util.*;,12、在使用in

12、terface声明一个接口时,只可以使用( )修饰符修饰该接口。 A、private B、protected C、private protected D、public,13、关于以下application的说明,正确的是( )。 1 class StaticStuff 2 3 static int x; 4 static x+=5; 5 public static void main(String args ) 6 7 System.out.println(“x=” + x); 8 9 static x/=5; 10 A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,

13、因为只能有一个静态初始化器 C、编译通过,执行结果为:x=1 D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化,14、有程序如下,关于程序的描述哪个是正确的?( ) public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A、编译将产生错误 B、编译时正确,但运行时将产生错误 C、正确,输出0 D、正确,输出 null,15、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A、8 B、1

14、6 C、32 D、64 16、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。A、隐藏 B、覆盖 C、重载 D、Java不支持此特性,17、以下哪个接口的定义是正确的?( ) A、interface B void print() ; B、abstract interface B void print() ; C、abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ; D、interface B void pr

15、int();,18、下面哪个函数是public void aMethod().的重载函数?( ) A、void aMethod( ). B、public int aMethod(). C、public void aMethod ( ). D、public int aMethod ( int m).,19、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明: A a0=new A();A a1 =new B();A a2=new C(); 问以下哪个说法是正确的? ( ) A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、

16、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的,20、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( ) class A int i;static String s;void method1() static void method2() A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2(),21、将以下哪个方法的定义插入第6行后,会引发编译错误?( ) 1 class Super 2 public void a() 3 4 5 public class Sub exten

17、ds Super 6 7 Afloat a()return 1; Bpublic void a(int x) Cpublic void a(float f) Dpublic float a(int x)return (float)x;,22、以下方法的返回类型是( )。ReturnType function( int x , double y )return x+y/2; Abyte Bshort Cfloat Ddouble,二、程序阅读 1、写出以下程序的运行结果。 public class Test2_2 public static void main(String args) Syst

18、em.out.println( fun(3, 4, 5) ); static int fun(int x, int y, int z) return fun( x, fun(y,z) ); static int fun(int x,int y) return x*y; ,2、写出以下程序的运行结果。 class OverloadDemovoid testOverload( int i )System.out.println(“integer“);void testOverload(String s)System.out.println(“String“);public static void

19、main(String args )OverloadDemo a=new OverloadDemo ( );char ch=k;a.testOverload(ch); ,3、写出以下程序的运行结果。 class StaticStuff static int x; static x+=7; public static void main(String args )System.out.println(“x=“ + x); static x%=4; ,、写出以下程序的运行结果。public class Test2_3 static int x;public Test2_3( )x+; public

20、 static void main(String args)Test2_3 s1=new Test2_3();System.out.print (s1.x+“,“);s1=new Test2_3();System.out.println(s1.x+“,“);s1=new Test2_3();System.out.println(s1.x);static x=1; ,5、写出以下程序的运行结果。 public class Test2_4 public static void main(String args) System.out.println( doSth(1, 2, 3) ); stati

21、c int doSth(int x, int y, int z) return doSth( x, doSth(y,z) ); static int doSth(int x,int y) return xy?x:y; ,7、以下程序段的输出结果为 。 public class C public static void main(String args ) int i , j ;int a = 2,1,4,8,9,5,3;for ( i = 0 ; i a.length-1; i + ) int k = i;for ( j = i ; j a.length ; j+ )if ( ajak ) k

22、 = j;int temp =ai;ai = ak;ak = temp; for ( i =0 ; ia.length; i+ )System.out.print(ai+“ “);System.out.println( ); ,8、阅读以下程序段: class Parent void printMe()System.out.println(“parent”); class Child extends Parent void printMe()System.out.println(“child”);void printAll()super.printMe();this.printMe();pri

23、ntMe(); ,public class Test_this public static void main(String args )Child myC=new Child();myC.printAll(); ,编写一个完整的Java Application 程序。包含类Circle,类Cylinder, 类Test,具体要求如下: (1)类Circle属性radius: double型,表示圆的半径。方法Cirle( double r):构造函数,将半径初始化为r。double findArea():返回圆的面积。double getRadius ():返回圆的半径。 (2)类Cylin

24、der继承Circle类,并有以下属性和方法:属性length: double型,表示圆柱体的高。方法Cylinder(double r, double l ):构造函数,给圆柱体的半径和高赋初值。double findVolume():返回圆柱体的体积。toString():返回圆柱体的半径、高、体积等信息。 (3)主类Test 生成Cylinder对象。调用对象的toString方法,输出对象的描述信息。 (注:程序框架和部分源码已给出,请补充完整),import java.io.*; public class Test /主类定义已给出 public static void main(S

25、tring args) Cylinder c=new Cylinder(2, 5);System.out.println(c.toString(); ,class Circle /类Circle定义,请填写完整 final float PI=3.14159f; /添加属性radius double radius;/添加构造函数Circle (double r) public Circle (double r) radius=r; /添加getRadius()方法 public double getRadius() return radius;/添加findArea()方法 public dou

26、ble findArea() return PI*getRadius()*getRadius(); ,(1)类Circle 属性 radius: double型,表示圆的半径。 方法 Cirle( double r):构造函数,将半径初始化为r。 double findArea():返回圆的面积。 double getRadius ():返回圆的半径。,class Cylinder extends Circle /类Cylinder定义,请填写完整 /添加属性length double heigth; /添加构造方法Cylinderpublic Cylinder(double r, doubl

27、e h )super(r);heigth=h; /添加findVolume()方法public double findvolume()double volume;volume=this.findArea()*heigth;return volume;,/添加toString()方法,返回圆柱体的半径、高、体积等信息 public String toString()String slt=“;slt=“The cylinder information:radius=“+String.valueOf(this.radius)+“,heigth=“+String.valueOf(this.heigth)+“,volume=“+String.valueOf(this.findvolume();return slt;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报