java语言基础
一、java语言基础概念
1.Java是低级语言还是高级语言
答:高级语言。
2.Java是面向对象的程序设计语言吗
答:是。
3. Java是编译型的计算机语言还是解释型的计算机语言。
答:
一种说法:Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。
另一种说法:Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。
对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。
所以Java的执行经历了编译和解释的过程,是一种先编译,后解释执行的语言,不可以单纯归到编译性或者解释性语言的类别中。
4. Java语言的程序设计包含哪3个步骤
答:编辑源程序、生成字节码、解释运行字节码。
5.Java源程序文件的后缀是什么。
答:.java
6. Java源程序经编译后生成什么文件 其后缀是什么
答:.class.
7. Java程序有哪两类
答:java程序可以分为两类:java application 和java applet。 前者是完整的应用程序,需要独立的解释器来解释运行;后者则是嵌在网页中的非独立程序,由浏览器所自带的java解释器来解释运行。
8.类的定义由哪两部分组成
答:类由两部分组成,类名和类体。
9.方法的定义由哪两部分组成
答:方法的定义包括两个部分:方法的声明和方法体。
10.一个Java源程序中可以有多个公共类(主类)吗
答:
一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。
拓:
一个包里确实可以有数量不限的public类,但是一个文件里只能有一个public类,如果想要public多个类,就要新开一页代码:在同一个包下新建类,然后在那一页代码又可以public一个类了
11.一个Java源程序中可以有多个类吗 若有多个类时,程序文件名是什么。
答:如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。 2、如果源文件中没有public类,那么源文件的名字可以任意取。
12.一个Java Applet源程序的主类能有多个父类吗
答:
Java中一个类只能有一个直接父类,但是它可以实现多个接口。因此,如果一个Java Applet的主类需要继承多个类的功能,则可以使用接口来实现这种多重继承的效果。具体实现方式是在类声明时使用关键字
implements
,后面跟随着需要实现的接口名称,多个接口之间用逗号分隔。例如:复制public class MyApplet extends Applet implements ActionListener, MouseListener { // 类的定义 }
在上面的例子中,
MyApplet
类直接继承自Applet
类,同时实现了ActionListener
和MouseListener
两个接口,从而获得了这两个接口所定义的方法。
13. Java应用程序(Application)的主类的类头应如何写 它的主方法的方法头应如何写 Application 的入口在哪。
答:
Java应用程序(Application)的主类的类头应该写成这样:
public class Main { // class body }
其中,
Main
是类的名称,类名的首字母通常大写,类名后面要跟着一对花括号{}
,类的内容写在花括号里面。Java应用程序的主方法的方法头应该写成这样:
public static void main(String[] args) { // method body }
其中,
main
是方法的名称,方法名全部小写,方法名后面要跟着一对圆括号()
,圆括号里面可以包含参数,这里的参数是一个字符串数组String[] args
。public
表示这个方法可以被其他类访问,static
表示这个方法是类方法,不需要创建实例即可调用,void
表示这个方法没有返回值。Java应用程序的入口在主方法中,也就是在
main
方法中编写应用程序的代码。当我们在命令行中执行Java应用程序时,会自动调用main
方法作为程序的入口点。
14.Java应用程序(Application)的主类中一定要有主方法(main)吗
答:
Java 应用程序是由若干类和接口组成的,为了使Java 应用程序能够运行,至少要有一个类含有main()主方法,因为main()主方法是Java 应用程序的入口点,Java 应用程序就是从这里开始运行的,我们把含有main()主方法的类称为Java 应用程序的主类。
15. Java小程序(Applet)的主类的类头应如何写 小程序在什么环境下运行。
答:
Java小程序(Applet)的主类的类头应该如下所示:
import java.applet.Applet; import java.awt.Graphics; public class MainApplet extends Applet { // Applet代码 }
其中,
MainApplet
为主类名,需要继承java.applet.Applet
类,同时需要重写init()
和paint()
方法来编写小程序的逻辑。Java小程序运行在Web浏览器中,需要将Java Applet嵌入到HTML页面中并通过浏览器打开HTML页面来运行小程序。在运行Java小程序之前,需要确保浏览器支持Java插件,并且需要安装JRE(Java Runtime Environment)环境。
16.Java小程序(Applet)的主类的父类必须是类Applet吗?
答:是的
17.Java中的的字符使用什么编码。
答:java中的字符就是指char类型的变量,无论中文还是英文,都是占2个字节,因为都是用Unicode编码,一个Unicode编码就是16位,也就是2个字节。
18. 在Java语言中,将源代码翻译成字节码时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
19. 为了使包sos中的所有类在当前程序中可见,可以使用的语句是.
A)import sos.*; B)package sos.*;
C)sos import; D)sos package;
20. 在 Applet 的坐标系中,(0,0) 代表输出窗口_左上_角的象素点
21.
二、数据类型
1.以下的选项中能正确表示Java语言中的一个整型常量的是( B ).
A) 12. B) -20 C) 1,000 D) 4 5 6
答:
1000和456可能是字符型,12.0是浮点型
2.下列的变量定义中,错误的是( A).
A) int 6_a; B) float a;
C) int i=Integer.MAX_VALUE; D) static int i=100;
答:定义变量的规则:数字不打头
3.下列的变量定义中,错误的是(A).
A) int a;b; B) float a,b1=1.23f;
C) char ch1='d',ch2='\''; D) public int i=100,j=2,k;
答:
4.下列的变量定义中,错误的是(D).
A) int _a=123; B) long j=12345678900L;
C) int m,n; D) static i=100;
5.下列的变量定义中,正确的是(D).
A) boolean b1="true"; B) float x=6.6;
C) byte i=200; D) double y;
6.以下字符常量中不合法的是(C).
A) '@' B) '&' C) "k" D) '整'
答:
字符常量: 一个用单引号括起来的单个字符(或字符转义序列或三字母词).在Java中,字符常量必须使用单引号括起来,表示单个字符。
7.以下的选项中能正确表示Java语言中的一个整型常量的是( A ).
A) Integer.MAX_VALUE B) 8.8F C) 2.0E 16 D)true
答:8.8F是浮点型,2.0E是2.0E在Java中表示的是浮点型数据,具体来说是双精度浮点数(double)。true是boolean型
8.下列最终属性(常量)i 的定义中,正确的是(C).
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型常量的是(C).
A) Float.MIN_VALUE B) 1.8e-6F C) 2.0 D)'abcf'
答:A是folat,C不一定 , D 是字符常量
10.以下的变量定义语句中,合法的是(C).
A) float $_*5= 3.4F; B) byte b1= 15678;
C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L;
答:A:命名问题,B越界,D,L同B
11.以下字符常量中不合法的是(C).
A) '|' B) '\'' C) "\n" D) '我'
答:
12.定义初值为10的10次方的长整型变量 var 的语句是:_________________.
答:(long var=10000000000L;或 long var=(long)1e10;)
13. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为哪两种具体类型,各占二进制的多少位.
答:(float 32位,double 64位)。
15.在Java语言中,逻辑常量只有哪两个值?
答:(true,false)。
16.字符串 "\'a\'" 的长度是几(即有几个字符)
答:(3个字符)
17. Java语言中的逻辑变量可以和整型变量相互强制转换吗 ?
答:(不能)
18. 在程序中可对用final修饰的变量的值进行更改?
答:final修饰的变量不能被修改,一般视为常量。
三、综合演练
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 B) a++ = =a+b+c+d C) ++a*b--+d D) a+b>=c+d
10.变量a定义为int类型.以下选项中,合法的赋值语句是( B ).
A) a +1==2; B) a+=1; C) a=8.8f; D) a=new int(8);
常见答案:类型,语法
语法指的是( 左边的操作数必须是变量,不能是常量或表达式)
A.注这种写法也是错的,==也错了n+1=3;//Variable expected;
类型指的是(不能给小的赋值大的类型)
int a=8.4;// Incompatible types. Found: 'double', required: 'int' byte b=128;//Incompatible types. Found: 'int', required: 'byte'
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
int a=1,b=3;
boolean o= a != 4||b==1 ;
char g= 'a' % 3;
char aaa= 'a' = 1/2 ;//Variable expected
char aa='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;(C语言这个是对的)
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, 8
21.执行下列程序段后,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,4
22.下面语句序列执行后,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=x>y?y:x;.
24.
import java.awt.Graphics;
import java.applet.Applet;
public class Applet1 extends Applet
{
public void paint( Graphics g )
{
int c1, c2;
boolean b1, b2;
c1 = 5;
c2 = 7;
b1 = false;
b2 = true;
g.drawString( "b1和b2相与的结果是:"+ ( b1 & b2 ), 25, 25 );
g.drawString( "b1和b2相或的结果是:"+ ( b1 | b2 ), 25, 45 );
g.drawString( "c1=" + ++c1, 25, 85 );
g.drawString( "++c1 == --c2为" + ( ++c1 == --c2 ), 25, 105 );
}
}
问题: 1)程序执行后共输出几行 (4行)
2)输出结果是什么 ()
答:
四、条件,分支语句
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
关于解题技巧:
先判断if能成立否,如果能执行后面一句(语句块),否则跳过后面一句(或者语句块);
while同理,但do while()不管条件成立与否都要执行一次。其他注意一下,++前置:是先加后运算,后置是:先运算,再加;Switch语句:注意:case如果没有break所以会一直执行到default.
2.下列语句序列执行后,k 的值是(B ).
int i=4,j=5,k=9,m=5;
if(i>j||m<k++) k++; else k--;
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<j||m--<n) i++;else j--;
A) 6 B) 7 C) 8 D) 9
6.下列语句序列执行后,x 的值是( A ).
int a=3, b=4, x=5; if (+ + a<b)x=x+1;
A) 5 B) 3 C) 4 D) 6
7.下列语句序列执行后,ch1 的值是( B ).
char ch1='A',ch2='W';
if(ch1 + 2 j||m
A) 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.下列语句序列执行后,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
12.若a和b均是整型变量并已正确赋值,正确的switch语句是(D ).
A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }
C) switch a { ...... } D) switch ( a%b ) { ...... }
关于B选项:
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) 54
执行顺序:k=0;(k=x/y),k=-4;(k=x-y),k54(k=x*y-x;)因为没有break;所以会一直执行到default.
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' 该程序段输出是什么
2)若执行前 ch1 的值为 'w', ch2 的值为 'b' 该程序段输出是什么
3)若执行前 ch1 的值为 'a', ch2 的值为 'b' 该程序段输出是什么
答: (end);(ch1='a'end);(ch1='a',ch2='b'end);
18.下列语句序列执行后,j 的值是( A ).
int j=1;
for( int i=5; i>0; i-=2 ) j*=i;
A) 15 B) 1 C) 60 D) 0
19.以下for循环的执行次数是( B ).
for(int x=0;(x==0)&(x0; i-=2 ) j*=2;
A) 15 B) 1 C) 60 D) 32
20.以下for循环的执行次数是(B ).
for(int x=0,y=0;(y!=0)&&(x= =0); i-- ) j+=i;
A) 3 B) 4 C) 5 D) 6
21.以下由 for 语句构成的循环执行的次数是(B ).
for ( int i = 0; true ; i++) ;
A)有语法错,不能执行 B)无限次 C)执行1次 D)一次也不执行
22.下面语句执行后,i 的值是(B).
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;
A) 4 B) 5 C) 6 D) 7
23.下列语句序列执行后,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
24.下列语句序列执行后,k 的值是(B).
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A) 0 B) 1 C) 2 D) 3
25.下列语句序列执行后,i 的值是( D).
int s=1,i=1;
while( i<=4 ) {s*=i;i++;}
A) 6 B) 4 C) 24 D) 5
25. 下列语句序列执行后,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) 5
17. 若有循环:
int x=5,y=20;
do { y-=x; x+=2; }while(x<=10)则循环体将被执行(A ).
A) 2次 B) 1次 C) 0次 D) 3次
18.以下由do-while语句构成的循环执行的次数是(B).
int m = 8;
do { ++m; } while ( m <=5 );
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次
执行第一次:先判断:x=5+1;y=19; 条件成立,进去:y=y-x=13;x=6+1;
执行第二次:先判断:x=8;y=12 条件成立,进去:y=y-x=4 ;x=8+1;第三次判断不成功
25.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空.
public class Class1 {
public static void main( String args[] )
{
char c='a';
for (int i=1;i<=26;i++) { System.out.print(______); }
}
}
答案:(class (c++)+"\t" 或 (c++)+'\t')
26.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空.
import java.io.*;
public class A {
public static void main( String args[] ){
int s=0;
for (int i=1;i<=10;i++){
s+=______;
}
System.out.println("s="+s);
}
}
答:(class i)。
27.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空.
import java.io.*;
public class A {
public static void main(String[] args) {
int j=1;
for(int i=1;1. _______; i++) {
System.out.println(i+"*"+j+"="+2._______);
}
}
}
答: i<=9 j*i
五、控制结构与循环体内的跳转
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 之间的素数,请将程序补充完整.
public class A {
public static void main(String[] args) {
Label1: for(int i=2;i<100;i++){
for(int j=2;j<i;j++){
// if( i%j==0)
if( i%j==_____)
_____;// continue Label1;
}
System.out.print(i+"\t");
}
}
}
答:0 ,continue Label1;
11. 方法可以没有返回值吗 可以有多个返回值吗?
答:(可以;不能)
12.阅读程序,回答问题.
import java.awt.Graphics;
import java.applet.Applet;
public class BreakTest extends Applet{
public static void main(String[] args) {
}
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. 一个方法如果没有返回值,方法头定义中的返回值类型为何?
答:(void)
14. 一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用 这种变量称为什么变量。
答:(不能;局部变量)
15. 采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高.
答:(模块化)
16.下面方法的功能是判断一个整数是否为偶数,将程序补充完整.
public 1.________ isEven(int a){ if(a%2==0)
return 2._____;
else
return false;
}
答:boolean true
17.下面程序的功能是从文本域中输入一个整数作为方法sum( )的参数,并在小程序窗口中输出调用该方法后的结果,请完成程序填空.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Applet1 extends Applet 1._______ 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(2._______ ),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;
}
}
答: implements i
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 的含义是什么;
2)ActionListener是类还是接口 程序中哪个方法是ActionListener中的方法,其功能为何?
3)若在文本域中输入6并回车,程序输出什么
答:
1)(引入程序中要用到的小程序的主类的父类:Applet;
2)接口;actionPerformed方法
3)输出两行,分别是:42; 6
19. 以下方法m的功能是求两参数之积的整数部分.
int m ( float x, float y ) { _________________; }
答:(return (int)x*y))
20. 下面是用户程序对 Applet 类中方法 paint( ) 的重新定义.
public ___ ____
{ call.drawString("Hello,java!",10,20); }
答:(void call) ;paint(Graphics);
21.
22. 何为形式参数 何为实在参数 ?
答:
形式参数是在函数或方法的定义中声明的参数,它们用于接收函数或方法被调用时传递的实际参数的值。形式参数在函数或方法内部被使用,用于执行特定的操作。它们通常是在函数或方法的括号内定义的变量,可以在函数或方法的主体中使用。
实际参数是在函数或方法的调用时传递给形式参数的具体值。它们是函数或方法调用中的实际数据,用于提供给函数或方法内部使用。实际参数可以是常量、变量或表达式。
如方法 int m(int a){System.out.println(a);} 调用方法m(33);形参为a,实参为33.文章来源:https://www.toymoban.com/news/detail-794590.html
23.文章来源地址https://www.toymoban.com/news/detail-794590.html
到了这里,关于Java ---基础知识& 期末复习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!