《java程序设计》复习题(⼀)第⼀,⼆章java语⾔基础1.Java是低级语⾔还是⾼级语⾔2.Java是⾯向对象的程序设计语⾔吗
3. Java是编译型的计算机语⾔还是解释型的计算机语⾔4. Java语⾔的程序设计包含哪3个步骤5. Java源程序⽂件的后缀是什么
6. Java源程序经编译后⽣成什么⽂件其后缀是什么7. Java程序有哪两类8.类的定义由哪两部分组成9.⽅法的定义由哪两部分组成
10.⼀个Java源程序中可以有多个公共类(主类)吗
11.⼀个Java源程序中可以有多个类吗若有多个类时,程序⽂件名是什么12.⼀个Java Applet源程序的主类能有多个⽗类吗
13. Java应⽤程序(Application)的主类的类头应如何写它的主⽅法的⽅法头应如何写Application 的⼊⼝在哪14.Java应⽤程序(Application)的主类中⼀定要有主⽅法(main)吗15. Java⼩程序(Applet)的主类的类头应如何写⼩程序在什么环境下运⾏16.Java⼩程序(Applet)的主类的⽗类必须是类Applet吗17.Java中的的字符使⽤什么编码
18. 在Java语⾔中,将源代码翻译成____________时产⽣的错误称为编译错误,⽽将程序在运⾏中产⽣的错误称为运⾏错误.19. 为了使包sos中的所有类在当前程序中可见,可以使⽤的语句是.A)import sos.*; B)package sos.*;C)sos import; D)sos package;
20. 在Applet 的坐标系中,(0,0) 代表输出窗⼝______⾓的象素点
21.下⾯是⽤户程序对Applet 类中⽅法paint( ) 的重新定义. (public drawString)__________ void paint(Graphics g){ g.____________(\"你好!\练习⼆(数据类型)
1.以下的选项中能正确表⽰Java语⾔中的⼀个整型常量的是.A) 12. B) -20 C) 1,000 D) 4 5 62.下列的变量定义中,错误的是A) int 6_a; B) float a;
C) int i=Integer.MAX_VALUE; D) static int i=100;3.下列的变量定义中,错误的是
A) int a;b; B) float a,b1=1.23f;
C) char ch1='d',ch2='\\''; D) public int i=100,j=2,k;4.下列的变量定义中,错误的是
A) int _a=123; B) long j=123456700L;
C) int m,n; D) static i=100; 5.下列的变量定义中,正确的是A) boolean b1=\"true\"; B) float x=6.6;C) byte i=200; D) double y;6.以下字符常量中不合法的是.A) '@' B) '&' C) \"k\" D) '整'
7.以下的选项中能正确表⽰Java语⾔中的⼀个整型常量的是.A) Integer.MAX_VALUE B) 8.8F C) 2.0E16 D)true8.下列最终属性(常量)i 的定义中,正确的是.A) static final double i; B) abstract final int i=8;C) final double i=3.14159; D) float i=1.2f;
9.以下的选项中能正确表⽰Java语⾔中的⼀个double型常量的是A) Float.MIN_VALUE B) 1.8e-6F C) 2.0 D)'abcf'10.以下的变量定义语句中,合法的是.A) float $_*5= 3.4F; B) byte b1= 15678;
C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L;11.以下字符常量中不合法的是A) '|' B) '\\'' C) \"\\n\" D) '我'
12.定义初值为10的10次⽅的长整型变量var 的语句是:_________________.(long var=10000000000L;或long var=(long)1e10;)
13. Java语⾔中的浮点型数据根据数据存储长度和数值精度的不同,进⼀步分为哪两种具体类型,各占⼆进制的多少位(float 32位,double 位)
15.在Java语⾔中,逻辑常量只有哪两个值(true,false)16.字符串\"\\'a\\'\" 的长度是⼏(即有⼏个字符) (3个字符)
17. Java语⾔中的逻辑变量可以和整型变量相互强制转换吗(不能)18. 在程序中可对⽤final修饰的变量的值进⾏更改吗(不能)《java程序设计》复习题(⼆)
1.已定义a为int类型的变量.以下选项中,合法的赋值语句是( B ).A) a +1= =2; B) a+=a*6; C) a=8.8f; D) int a=8;
2.以下选项中的变量都已正确定义,不合法的表达式是(C ).
A) a >= 4 = = b3; B)t=!false; C)t=(true|false); D)t=(2= =3)?true:false;7.以下变量均已正确定义并赋值,下⾯符合Java语⾔语法的赋值语句是
(A ).
A) m = n>=5; B) m = k % c=h+y;C) j=t+ % 100; D) j = y > 2= x + 3;
8.设i, j, k, m为已赋值的int 型变量,下列表达式的结果属于逻辑值的是( A).A) i==k & j+k >=m B) i+k C) m++ D) m=i+j
9.设a,b,c,d 为已赋值的int 型变量,下列表达式的结果属于⾮逻辑值的是(C ).A)a!=b & c%d =c+d
10.变量a定义为int类型.以下选项中,合法的赋值语句是( B ).A) a +1==2; B) a+=1; C) a=8.8f; D) a=new int(8);
11.若有定义int x = 13;则执⾏完语句x %= 8; 后,x的值是(C ).A) 0 B) 1 C) 5 D) 8
12.以下选项中,合法的赋值语句是( B ).
A) a = = 1; B) ++ i; C) a=a + 1= 5; D) !(++a!=b- -);
13.若所⽤变量都已正确定义,以下选项中,⾮法的表达式是( C).A) a != 4||b= =1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32
14.若有定义int a = 2;则执⾏完语句a -= a * a; 后,a的值是( C).A) 0 B) 4 C) -2 D) –4
15.现有⼀变量声明为boolean aa;下⾯赋值语句中正确的是( A ).A) aa=false; B) aa=False; C) aa=\"true\"; D) aa=0;16. 下列程序段执⾏后b3 的结果是(D).boolean b1=true, b2=true, b3;b3= !b1 b1 :!b2;A) 0 B) 1 C) true D) false
17. 设有定义int i=123; long j=456; 下⾯赋值不正确的语句是(D).A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;
18.若以下变量均已正确定义并赋值,下⾯符合Java语⾔语法的语句是( A).A)b=a!=7; B)a=7+b+c=9; C)i=12.3* %4; D)a=a+7=c+b;19.下列程序段执⾏后t5的结果是(B ).int t1 = 9, t2 = 11, t3=8;int t4,t5;
t4 = t1 > t2 t1 : t2+ t1;t5 = t4 > t3 t4 : t3;A) 8 B) 20 C) 11 D) 9
20.执⾏下⾯程序段后,b, x, y的值分别是( D).int x=6,y=8;
boolean b;b=x>y&&++x==--y;
A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)false, 6, 821.执⾏下列程序段后,m,x,y的值分别是( B).int x=2,y=4;boolean m;m=++x>y--;
A)true , 2,4 B)false , 3,3 C) true, 3,3 D) false, 2,422.下⾯语句序列执⾏后,a的值是(D ).int a=13; a%=a/5;A) 3 B) 13 C) 169 D) 1
23.设x,y,max,min均为int型变量,x,y已赋值.⽤三⽬条件运算符求x,y 的最⼤值和最⼩值,并分别赋给变量max和min,这两个赋值语句分别是______和______.(max=x>y x:y; min=xy), b2=(++x==--y);g.drawString( \"b1和b2相与的结果是:\"+ ( b1 && b2 ), 25, 25 );g.drawString( \"b1和b2相或的结果是:\"+ ( b1 || b2 ), 25, 45 );
g.drawString( \"!b1的结果是:\"+ ( !b1), 25, 65 ); g.drawString( \"x=\" +x+\"; y=\"+y, 25, 85 );}}
问题: 1)程序执⾏后共输出⼏⾏(4⾏)2)输出结果是什么(略)《java程序设计》复习题(三)练习四(条件,分⽀语句)
1.下列语句序列执⾏后,m 的值是( C).int a=10, b=3, m=5;
if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 5
2.下列语句序列执⾏后,k 的值是(B ).int i=4,j=5,k=9,m=5;if(i>j||m
A) 5 B) 10 C) 8 D) 9
3.下列语句序列执⾏后,x 的值是( D ).int a=2, b=4, x=5;if( a<--b ) x*=a;A) 5 B) 20 C) 15 D) 10
4.下列语句序列执⾏后,b 的值是( B).int a=2, b=4;
if( a < - - b ) a*=a;A) 5 B) 3 C) 15 D) 10
5.下列语句序列执⾏后,m 的值是( D ).int i=9, j=8, m=10, n=9;if( i
A) 6 B) 7 C) 8 D) 9
6.下列语句序列执⾏后,x 的值是( A ).int a=3, b=4, x=5;if( ++aA) 5 B) 3 C) 4 D) 6
7.下列语句序列执⾏后,ch1 的值是( B ).char ch1='A',ch2='W';if(ch1 + 2 j||mA) 12 B)11 C) 10 D) 9
10.下列语句序列执⾏后,k 的值是(C ).int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}
A) 31 B) 32 C) 2 D) 33
11.若a和b均是整型变量并已正确赋值,正确的switch语句是(D ).A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }12.下列语句序列执⾏后,r 的值是( C).char ch='8'; int r=10;switch( ch+1 ){
case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r=r+8;}
A) 13 B) 15 C) 16 D) 18
13.设int 型变量a,b,float 型变量x,y,char 型变量ch 均已正确定义并赋值,正确的switch语句是(B ).A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... }C) switch ch { ...... } D) switch ( a + b ); { ...... }14.下列语句序列执⾏后,k 的值是(D ).int x=6, y=10, k=5;switch( x%y ){
case 0: k=x*y;case 6: k=x/y;case 12: k=x-y;default: k=x*y-x;}
A) 60 B) 5 C) 0 D)
15.下列语句序列执⾏后,r 的值是(B ).char ch='A'; int r=6;switch( ch+5 ){
case 'A': r=r+3;case 'B': r=r+5;case 'C': r-=6; break;default : r/=2;}
A) 11 B) 3 C) 2 D) 9
16.如果变量x已正确定义,写出实现以下功能的语句:如果变量x是偶数,则将其增加2.______________________ ;.(if(x%2= =0) x+=2;)17. 设ch1, ch2是char 型变量:if ( ch1 == 'a' ){ if ( ch2 == 'b' )
System.out.print(\" ch1=\\'a\\' , ch2=\\'b\\' \");} else
System.out.print(\" ch1!=\\'a\\' \");System.out.println(\" end \");
问题: 1)若执⾏前ch1 的值为'a', ch2 的值为'c' 该程序段输出是什么(end)2)若执⾏前ch1 的值为'w', ch2 的值为'b' 该程序段输出是什么(ch1='a'end)3)若执⾏前ch1 的值为'a', ch2 的值为'b' 该程序段输出是什么(ch1='a',ch2='b'end)
18.阅读下⾯的程序段,回答问题.if ( x < 5 )
System.out.print(\" one \");else{
if ( y 4);x++);
A)⽆限次B)⼀次也不执⾏C)执⾏4次D)执⾏3次2.下列语句序列执⾏后,j 的值是( A ).int j=1;
for( int i=5; i>0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 0
3.以下for循环的执⾏次数是( B ).for(int x=0;(x==0)&(x0; i-=2 ) j*=2;A) 15 B) 1 C) 60 D) 325.以下for循环的执⾏次数是(B ).for(int x=0,y=0;(y!=0)&&(x= =0); i-- ) j+=i;A) 3 B) 4 C) 5 D) 6
7.以下由for 语句构成的循环执⾏的次数是(B ).for ( int i = 0; true ; i++) ;A)有语法错,不能执⾏B)⽆限次C)执⾏1次D)⼀次也不执⾏8.下⾯语句执⾏后,i 的值是(B).for( int i=0, j=1; j < 5; j+=3 ) i=i+j;A) 4 B) 5 C) 6 D) 7
9.下列语句序列执⾏后,k的值是(D).int j=8, k=15;
for( int i=2; i!=j; i++ ) { j-=2; k++; }A) 18 B) 15 C) 16 D) 17
10.下列语句序列执⾏后,k 的值是(B).int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 3
11.下列语句序列执⾏后,i 的值是( D).int s=1,i=1;
while( i<=4 ) {s*=i;i++;}
A) 6 B) 4 C) 24 D) 5
12. 下列语句序列执⾏后,k 的值是(C ).int m=3, n=6, k=0;while( m 4 ) --j;A) 5 B) 6 C) 7 D) 8
14.下列语句序列执⾏后,j 的值是( C ).int j=8, i=6;while( i >4 ) i-=2;- -j;
A) 5 B) 6 C) 7 D) 8
15.下列语句序列执⾏后,j 的值是( B ).int j=9, i=6;while( i-- >3 ) --j;A) 5 B) 6 C) 7 D) 8
16.下列语句序列执⾏后,j 的值是(D).int j=3, i=2;while( --i!=i/j ) j=j+2;A) 2 B) 4 C) 6 D) 517. 若有循环:int x=5,y=20;
do { y-=x; x+=2; }while(x则循环体将被执⾏(A ).A) 2次B) 1次C) 0次D) 3次
18.以下由do-while语句构成的循环执⾏的次数是(B).int m = 8;
do { ++m; } while ( m 1 );A) 1 B) 5 C) 2 D) 0
20.下列语句序列执⾏后,i的值是(D).int i=10;
do { i/=2; } while( i--> 1 );A) 1 B) 5 C) 2 D) -1
21.下列语句序列执⾏后,i的值是(C ).int i=10;
do { i-=2; } while( i>6 );A) 10 B) 8 C) 6 D) 4
22.下列语句序列执⾏后,i的值是(D).
int i=16;
do { i/=2; } while( i > 3 );A) 16 B) 8 C) 4 D) 2
23.以下由do-while语句构成的循环执⾏的次数是(B).int k = 0;
do { ++k; }while ( k < 1 );
A)⼀次也不执⾏B)执⾏1次C)⽆限次D)有语法错,不能执⾏24. 若有循环:
int x=5,y=20; do{ y-=x; x++; } while(++x<--y);则循环体将被执⾏(C ).A)0次B)1次C)2次D)3次
25.下⾯是⼀个java应⽤程序(Application),它的功能是在屏幕上输出26个⼩写英⽂字母,其中每个字母相隔⼀个制表符,请完成程序填空. (class (c++)+\"\\" 或(c++)+'\')public _____ Class1{
public static void main( String args[] ){
char c='a';
for (int i=1;i<=26;i++){ System.out.print(______); }}}
26.下⾯是⼀个java应⽤程序(Application),它的功能是计算s=1+2+3+...+10 ,请完成程序填空.(class i)public _____ Class1{
public static void main( String args[] ){int s=0;
for (int i=1;i<=10;i++){
s+=______;}
System.out.println(\"s=\"+s);}}
27.下⾯是⼀个java Application 的主类的定义,其功能是输出乘法⼝诀表第⼀列,请完成程序填空.(i<=9 j*i)
import java.io.*;public class MyClass{
public static void main(String[] args){int j=1;
for(int i=1; _______; i++){
System.out.println(i+\"*\"+j+\"=\"+_______);}}}
《java程序设计》复习题(四)练习六(控制结构与循环体内的跳转)
1.结构化程序设计的三种基本流程控制结构是:_______,_______,________. (略)2. 什么语句能构成顺序结构(略)3. 以下语句中能构成分⽀的语句是(B).A) for 语句B) if 语句
C) continue 语句D) ⽅法调⽤语句4. 以下语句中能构成多分⽀的语句是( C ).A) for 语句B) while 语句C) switch 语句D) do - while 语句5. 以下语句中能构成多分⽀的语句是( C ).A)for语句B)while语句
C)if__else语句的嵌套D)do__while语句6. 以下语句中是循环语句的是( D ).
A)break 语句B)switch 语句C)if 语句D)do - while 语句7. 以下语句中不能构成循环的语句是( C ).
A) for 语句B) while 语句C) switch 语句D) do__while 语句8.能从循环语句的循环体中跳出的语句是(B).A)for语句B)break语句C) continue语句D)return语句
9. continue 语句和break 语句可以带标号吗带标号的⽬的是什么
10.下⾯程序的功能是求2 到100 之间的素数,请将程序补充完整. (0 continue )public class Class1{
public static void main( String args[] ){
Label1: for(int i=2;i<100;i++){
for(int j=2;j{
if( i%j= =_____)_________;}
System.out.print(i+\"\\");}}}
11.阅读程序后回答问题.public class ContinueTest{
public static void main( String args[]){
char c='i'; label1:for
for (int n=6; n < 11; n++ ){
if ( n = = 8 ) break label1;System.out.print(\"\\"+(c++));}}}
问题:1)程序的输出结果是什么(i j k l)
2)若将if中的continue语句替换为break语句,输出结果是什么(i j)
12.阅读程序,回答问题.import java.awt.Graphics;import java.applet.Applet;
public class BreakTest extends Applet{
public void paint( Graphics g ){
int count, xPos = 25;
for ( count = 1; count <= 10; count++ ){
if ( count == 8 ) break;
g.drawString( \" \" + count, xPos, 25 );xPos += 10;}}}
问题:1)程序的输出结果是什么(1 2 3 4 5 6 7)
2)⽅法调⽤g.drawString( \" \" + count, xPos, 25 );的第⼀个实参中为什么要有串\" \" (因为该⽅法的第⼀个参数是字符串,串\" \"与count相加表⽰字符串连接,使之成为字符串)13. 阅读程序,回答问题.public class ContinueTest{
public static void main( String args[]){
for (char c='a';cb a:b)
int fun ( int a, int b ) { __________________; }9. 以下⽅法m的功能是求两参数之积的整数部分.(return (int)(a*b))
int m ( float x, float y ) { __________________; }
10. 下⾯是⽤户程序对Applet 类中⽅法paint( ) 的重新定义.(void call)
public ___ paint(Graphics ____){ call.drawString(\"Hello,java!\
11. ⽅法可以没有返回值吗可以有多个返回值吗(可以;不能)12. ⼀个⽅法如果没有返回值,⽅法头定义中的返回值类型为何(void)13. 何为形式参数何为实在参数(略)
14. ⼀个⽅法或⼀个复合语句内定义的变量是否可以在⽅法外或复合语句外使⽤这种变量称为什么变量(不能;局部变量)15. 采⽤_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提⾼.(模块化)16.下⾯⽅法的功能是判断⼀个整数是否为偶数,将程序补充完整.(boolean true)public ________ isEven(int a){ if(a%2==0)
return _____;elsereturn false;}
17.下⾯程序的功能是从⽂本域中输⼊⼀个整数作为⽅法sum( )的参数, 并在⼩程序窗⼝中输出调⽤该⽅法后的结果,请完成程序填空. (implements i)import java.awt.*;import java.applet.*;import java.awt.event.*;
public class Applet1 extends Applet _______ ActionListener{Label a;TextField t1;int i;
public void init( ){
a=new Label(\"请输⼊⼀个整数\");add(a);
t1=new TextField(12);add(t1);
t1.addActionListener(this);}
public void paint(Graphics g)
{ g.drawString(\"sum=\"+sum(______),20,60); }public void actionPerformed(ActionEvent e){
i=Integer.parseInt(t1.getText( ));repaint( );}
long sum(long n) {long s=0;
for(long k=1; k<=n; k++) s+=k;return s;}}
18. 阅读程序,回答问题.
import java.awt.*;import java.applet.Applet;import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener{Label aa;TextField t1;int i=0;
public void init(){
aa=new Label(\"请输⼊⼀个整数:\");add(aa);
t1=new TextField(10);add(t1);
t1.addActionListener(this);}
public void paint(Graphics g){
g.drawString(\"a=\"+( ++i*--i),20,60);g.drawString(\"i=\"+( i),20,80);}
public void actionPerformed(ActionEvent e){
i=Integer.parseInt(t1.getText()); //转化为整数repaint();}}问题:
1)程序开头的import java.applet.Applet ; 的含义是什么(引⼊程序中要⽤到的⼩程序的主类的⽗类:Applet)
2)ActionListener是类还是接⼝程序中哪个⽅法是ActionListener中的⽅法,其功能为何(接⼝;actionPerformed⽅法)3)若在⽂本域中输⼊6并回车,程序输出什么(输出两⾏,分别是:42; 6)《java程序设计》复习题(五)练习⼋(⽅法重载)
1.同⼀个类中多个⽅法具有相同的⽅法名,不同的_____________称为⽅法的重载.(参数列表)2.在某个类中存在⼀个⽅法:void getSort(int x),以下能作为这个⽅法的重载的声明的是(C).A)public getSort(float x) B)int getSort(int y)C)double getSort(int x,int y) D)void get(int x,int y)
3.在某个类中存在⼀个⽅法:void sort(int x),以下不能作为这个⽅法的重载的声明的是(B).A)public float sort(float x) B)int sort(int y)C)double sort(int x,int y) D)void sort(double y)4. 为了区分类中重载的同名的不同⽅法,要求( A).A) 采⽤不同的形式参数列表B) 返回值类型不同C) 调⽤时⽤类名或对象名做前缀D) 参数名不同
5. 重载的⽅法可以通过它们的返回值类型的不同来区分吗(不能)6. 编译程序如何区分重载⽅法的调⽤(根据参数列表不同来区分)练习九(数组)
1. 在⼀个应⽤程序中定义了数组a:int[ ] a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后⼀个数组元素,下⾯正确的代码是(B).
A) System.out.println(a[10]); B) System.out.println(a[9]);C) System.out.println(a[a.length]); D) System.out.println(a(8));2.下⾯关于数组定义语句不正确的是( D ).A)int[ ] a1,a2; B)int a0[ ]={11,2,30,84,5};
C)double[] d=new double[8]; D)float f[ ]=new {2.0f,3.5f,5.6f,7.8f};3.设有定义语句int a[ ]={3,9,-9,-2,8}; 则以下对此语句的叙述错误的是(C ).
A) a数组有5个元素B) 数组中的每个元素是整型C) a的值为3 D) 对数组元素的引⽤a[a.length-1]是合法的
4.设有定义语句int a[ ]={66,88,99}; 则以下对此语句的叙述错误的是(C).
A) 定义了⼀个名为a的⼀维数组B) a数组有3个元素C) a数组的元素的下标为1~3 D)数组中的每个元素是整型5. 为了定义三个整型数组a1,a2,a3,下⾯声明正确的语句是( B ).A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5};B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5};C)int a1,a2[ ]; int a3={1,2,3,4,5};D)int [ ] a1,a2; int a3=(1,2,3,4,5);
6.设i,j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是(B).A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66;7. 若已定义byte[ ] x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引⽤是( C).
A) x[5-3] B) x[k] C) x[k+5] D) x[0] 8.设有定义int[ ] a=new int[4]; ,a的所有数组元素是(B).A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3]
C) a[1], a[2], a[2], a[4] D) a[0], a[1], a[2], a[3], a[4]
9.设有整型数组的定义:int a[ ]=new int[8]; ,则a.length的值为_____.(8)
10. 定义数组,需要完成以下三个步骤,即:________,_______和________ .(声明数组;创建数组空间;初始化)11. 在Java语⾔中,所有的数组都有⼀个_________属性,这个属性存储了该数组的元素的个数(数组长度).(length)12. 若有定义int[ ] a=new int[8]; 则a的数组元素中第7个元素和第8个元素的下标分别是____和____.(6 7)
13.定义⼀个整型数组y,它有5个元素分别是1,2,3,4,5.⽤⼀个语句实现对数组y的声明,创建和赋值:__________________;.(int y[]={1,2,3,4,5};)
14. 数组⼀定占⽤连续的内存空间吗(是)
15.下⾯程序的功能为计算数组各元素的和,完成程序填空.(i
import java.awt.Graphics;import java.applet.Applet;
public class SumArray extends Applet{
int a[] = { 1, 3, 5, 7, 9, 10 };int total;public void init(){total = 0;
for ( int i = 0; ___________; i++ )total=______________;}
public void paint( Graphics g ){
g.drawString( \"Total of array elements: \" +total, 25, 25 );}}
16.下⾯程序的功能是输出数组各元素的和, 完成程序填空import java.awt.Graphics;import java.applet.Applet;
public class SumArray extends Applet{
float[] a= new _______[6];float sum=0.0f;public void init( )
{ for ( int j = 0; j < a.length; j++ ) a[j] = j+1;for ( int i = 0 ; i < a.length; i++ ) sum+= a[i];}
public void paint( Graphics g )
{ g.drawString( \"Total of array elements: \" + ________ , 25, 25 ); }}
17.下⾯程序的功能为计算数组下标为奇数的各元素的和, 完成程序填空.(extends i+=2)import java.awt.Graphics;import java.applet.Applet;
public class SumOfArray _______ Applet{
public void paint( Graphics g ){
int a[] = { 1, 3, 5, 7, 9, 10 };int total=0;
for ( int i = 1; i < a.length; _______ )total+=a[i];
g.drawString( \"Total of array elements: \" + total, 25, 25 );}}
18.下⾯程序的功能为计算数组各元素和的平均值,完成程序填空.(Graphics; (float)a.length)import java.awt.Graphics;import java.applet.Applet;
public class SumOfArray extends Applet{
public void paint( ___________ g ){
int a[] = { 1, 3, 5, 7, 9, 10 };int total=0; float ave;
for ( int i = 0; i < a.length; i++ )total+=a[i];ave=total/_______;
g.drawString( \"ave= \" + ave, 25, 25 );}}
19.阅读程序,回答问题.import java.awt.*;import java.applet.*;
public class Test51 extends Applet{
float[ ] x = {1.2f, 3.4f, 5.6f, 7.8f};public void paint(Graphics g){int s=0;
for( int i = 0; i y x:y; max_value=temp1>z temp1:z;return max_value;}}
21.下⾯是⼀个类的定义,请将其补充完整___________ A{ String s;_____ int a=666;A(String s1) { s=s1; }static int geta( )}
22.阅读程序,回答问题.public class Test52{
String static str1=\"Hello, Java world! \\";String static str2=\"Hello, students! \";public static void main(String args[])
{ System.out.print(str1); System.out.println(str2); }}
问题:1)这是哪种形式的java 程序
2)程序的输出是什么输出的结果在Applet 窗⼝中吗《java程序设计》复习题(六)
练习⼗四(继承:类,属性和⽅法的继承,属性隐藏和⽅法覆盖,构造函数的继承,⽗类对象和⼦类对象的关系)
1. Java语⾔的类间的继承关系是( B ).A) 多重的B) 单重的C) 线程的D) 不能继承2. 以下关于Java语⾔继承的说法正确的是( C ).A)Java中的类可以有多个直接⽗类B)抽象类不能有⼦类C)Java中的接⼝⽀持多继承D)最终类可以作为其它类的⽗类3. 下⾯是有关⼦类继承⽗类构造函数的描述,其中正确的是( B).A) 如果⼦类没有定义构造函数,则⼦类⽆构造函数
B) ⼦类构造函数必须通过super关键字调⽤⽗类的构造函数C)⼦类必须通过this关键字调⽤⽗类的构造函数D)⼦类⽆法继承⽗类的构造函数
4. 现有两个类A,B,以下描述中表⽰B继承⾃A的是(D).A) class A extends B B) class B implements AC) class A implements B D) class B extends A
5. ⼦类可以继承⽗类的__________成员(⾮私有).构造函数也能被继承和重载.
6. 如果⼦类中的某个变量的变量名与它的⽗类中的某个变量完全⼀样,则称⼦类中的这个变量________了⽗类的同名变量.(隐藏)
7. 属性的隐藏是指⼦类重新定义从⽗类继承来的__________.
8. 如果⼦类中的某个⽅法的名字,返回值类型和________与它的⽗类中的某个⽅法完全⼀样,则称⼦类中的这个⽅法覆盖了⽗类的同名⽅法
9. 抽象,封装,_____和多态是Java语⾔的四⼤特性10. 在Java语⾔中,使⽤_____和多态等技术,实现软件重⽤11. Java 仅⽀持类间的____重继承
12. ⼦类的成员变量能与其⽗类的成员变量同名吗13. 什么是⽅法覆盖
14. ⼀个⼦类可以重新定义从⽗类那⾥继承来的同名⽅法.但是,允许它们有不同类型的返回值吗15. ⼦类对象如何引⽤被它隐藏了的⽗类的属性和调⽤被它覆盖了的⽗类的⽅法16. ⼦类的对象能直接向其⽗类对象赋值吗反之呢⼦类对象⼀定是⽗类的对象吗17. Java语⾔中定义接⼝的关键字是什么接⼝的继承应如何实现接⼝⽀持多继承吗18. java中,⼀个⼦类可以有多个⽗类吗可以为⼀个(⽗)类定义多个⼦类吗19. 保留字this 代表什么
20.下⾯是⼀个⼩程序的主类myprogram的定义, 其中A,B是该主类所在源程序中已定义的另两个类的类名,完成程序填空import java awt.*;import java applet.*;
public class myprogram extends Applet //定义⼩程序的主类{A a;
B b;
public ________ init( ){ a=new A( ); b=_____ B( ); }}
21.下⾯是⼀个类的定义,完成程序填空.(Youwrite this.x=x;)public class Youwrite{int x;
_______( ) {x=0;}Youwrite ( int x){ _____; }}
22.现有类说明如下,请回答问题:public class A{
String str1=\" Hello! \\";String str2=\" How are you \";public String toString( ){ return str1+str2; } }public class B extends A{
String str1=\"\\b\\b,Bill.\";public String toString( ){ return super.str1+str1; }}问题:
1)类A和类B是什么关系
2)类A和类B都定义了str1属性和⽅法toString( ), 这种现象分别称为什么3)若a是类A的对象,则a.toString( )的返回值是什么4)若b是类B的对象,则b.toString( )的返回值是什么23.现有⼀个类定义如下,请回答问题:class Employee{
String name;int age;
double wage;static int No=0;
Employee(String a1,int a2,double a3){
name=a1; age=a2; wage=a3;No++;}}
在使⽤该类时,已使⽤下⾯语句⽣成了该类的对象:Employee e1,e2;
e1=new Employee(\"王劲\e2=new Employee(\"张⼭\问题:
1)http://www.doczj.com/doc/03743d7dfd0a79563d1e727b.html ,e2.age,e2.wage的值各是什么2)⽣成对象e1,e2后,e1.No值为多少能否通过类名做前缀引⽤属性No24.有如下源程序,请回答问题:import java.awt.*;import java.applet.*;
public class Javaapplet extends Applet{B b;
public void init( )
{ b=new B( 'f', 87.6f, 69.1f); }public void paint(Graphics g){
g.drawString(\"序号\"+\"性别\" +\"成绩1 \"+\"成绩2 \b.print(g);}}class A{
static int n=100;char ch;A( ) { n++; }
A( char c){ this( ); ch=c; }
void print(Graphics g)
{ g.drawString(\" \"+n+\" \"+ch,20,70); } }class B extends A{
float s1, s2;
B(float r1,float r2){ s1=r1; s2=r2; }B( char c, float r1, float r2){ super(c); s1=r1; s2=r2; }void print(Graphics g){
super.print(g);
g.drawString(\" \"+s1+\" \"+s2,40,70); }}
问题: 该程序的输出是什么25.阅读程序,回答问题.public class InheritTest1{
public static void main (String[] args) {A aa;B bb;
aa=new A( ); bb=new B( );aa.show( ); bb.show();}}class A{int a=1;
double d=2.0; void show( )
{ System.out.println(\"Class A: \"+\"\a=\"+a +\"\d=\"+d); }}
class B extends A{
float a=3.0f;
String d=\"Java program.\";int b=4;
void show( ){
System.out.println(\"Class A: \"+\"\a=\"+super.a +\"\d=\"+super.d); super.show( );System.out.println(\"Class B: \"+\"\a=\"+a +\"\d=\"+d+\"\b=\"+b); }}
问题:1)这是哪⼀类java程序2)类A和类B是什么关系
3)按程序输出的格式写出程序运⾏后的结果.26.现有类说明如下,请回答问题:class A{int x=10;
int getA(){return x;}}
class B extends A{
int x=100;int getB(){return x;}}
问题:1)类B是否能继承类A的属性x
2)若b是类B的对象,则b.getB()的返回值是什么3)若b是类B的对象,则b.getA()的返回值是什么4)类A和类B都定义了x属性,这种现象称为什么27.有如下源程序,请回答问题:class A
{ String s=\"class A\"; }class B extends A{ String s=\"class B\"; }public class TypeConvert{
public static void main(String args[]){
B b1,b2=new B();A a1,a2;a1=(A)b2;
a2=b2;
System.out.println(a1.s);System.out.println(a2.s);b1=(B)a1;
System.out.println(b1.s);System.out.println(b2.s);}}
问题: 该程序的四⾏输出各是什么28.现有类说明如下,请回答问题:public class A{
int x=888;String str=\"I like: \";public String toString(){ return str+x; }}
public class B extends A{
String x=\"java\";public String toString(){ return str+x+\" and \"+super.x; }}
问题:1)类A和类B是什么关系
2)类A和类B都定义了x属性和⽅法toString(),这种现象分别称为什么3)若a是类A的对象,则a.toString( )的返回值是什么4)若b是类B的对象,则b.toString( )的返回值是什么《java程序设计》复习题(七)
练习⼗五(多态:抽象类和抽象⽅法,最终类和最终⽅法,接⼝)
1. 下列选项中,⽤于定义接⼝的关键字是( A). A)interface B) implements C) abstract D) class2. 下列选项中,⽤于实现接⼝的关键字是( B).A)interface B) implements C) abstract D) class3. 抽象⽅法只有⽅法头,没有________. (⽅法体)
4. Java 语⾔的接⼝是特殊的类,其中包含______常量和_______⽅法.(static(静态) ; abstract(抽象))5. 接⼝中所有属性均为_________,_________和________的. (public,static,final)
6. ⽤那个关键字定义抽象类和抽象⽅法(abstract)
7. 抽象类只能做为⽗类吗(也可以包含抽象⽅法,做为抽象⼦类)8. 可以定义抽象类的对象吗(不能)9. 抽象⽅法能被继承吗(能)
10. 抽象⽅法只能存在于抽象类中吗(是;也可以存在在接⼝中)11. 声明为final的⽅法能在⼦类中重新定义吗(不能)12 ⽤那个关键字定义最终类和最终⽅法(final)13. 最终类能做为⽗类吗(不能)14. 最终⽅法能被继承吗(能)
15. 最终⽅法只能存在于最终类中吗(不⼀定)
16. 声明为static和private 的⽅法是final的吗(实际上是)17. 接⼝中所有⽅法均为抽象⽅法吗(是)18. 接⼝中所有⽅法均为public的吗(是)19. abstract 和final能同时修饰⼀个类吗(不能)20.下⾯是定义⼀个接⼝的程序,完成程序填空.public _______ ITF{
public static final double PI=Math.PI;
public ______ double area(double a, double b);}
21.下⾯是定义⼀个接⼝A的程序,完成程序填空.public interface A{
public static _______ double PI=3.14159;
public abstract double area(double a, double b)_____}
22.阅读下⾯的程序,回答以下问题:import java.awt.*;import java.applet.*;import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener{
Label label;TextField t1;int i=0;
public void init(){
label=new Label(\"请输⼊⼀个整数:\");add(label);
t1=new TextField(10);add(t1);
t1.addActionListener(this);}
public void paint(Graphics g){
int product=1;for(int k=1;k<=i;k++)product+=k;
g.drawString(\"product=\"+product,20,60);}
public void actionPerformed(ActionEvent e){
i=Integer.parseInt(t1.getText());repaint();}}
(1)ActionListener是类还是接⼝程序中哪个⽅法是ActionListener中的⽅法,其功能为何
( ActionListener是接⼝;程序中actionPerformed()⽅法是ActionListener 中的⽅法,它在程序中实现的功能是:在⽂本域中回车时,将⽂本域中输⼊的数字字符串转化为整数,并重新调⽤paint()⽅法输出结果.)(2)若在⽂本域中输⼊3并回车,写出程序输出的结果(在⼩程序界⾯坐标为20,60处输出:product=7)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务