int k = 0;
do { ++k; }while ( k < 1 );
A)一次也不执行 B)执行1次 C)无限次 D)有语法错,不能执行 39. 若有循环: int x=5,y=20;
do{ y-=x; x++; } while(++x<--y); 则循环体将被执 行(C )。
A)0次 B)1次 C)2次 D)3次
40.下列循环中,执行break outer语句后,所列(C)语句将被执行。 outer:
for(int i=1;i<10;i++) {
inner:
for(int j=1;j<10;j++) {
if(i*j>50) break outer;
System.out.println(i*j); } next:
A)标号为inner的语句 B)标号为outer的语句 C)标号为next的语句 D)以上都不是
41.下列循环中,执行continue outer语句后,(A)说法正确。 outer:
for(int i=1;i<10;i++) {
inner:
for(int j=1;j<10;j++) {
if(i*j>50)
continue outer;
System.out.println(i*j);
} }
A)程序控制在外层循环中并且执行外层循环的下一迭代 B)程序控制在内层循环中并且执行内层循环的下一迭代 C)执行标号为next的语句 D)以上都不是
2.找出下面各段程序中的错误: a)For (i=100 , i>=1 , i++)
System.out.println(i);
答案:For的F应该小写;For头中应当使用分号,而应当使用逗号;++应当为――
答案:应当在case 0 中放置一条break语句 c)下面的代码应输入从19~1之间的所有奇数: for( i = 19 ; i >= 1 ; i+=2) System.out.println(i); 答案:+=应该为-=
d)下面的代码应输出从2到100之间的所有偶数: counter = 2; do{
System.out.println(counter); counter += 2;
}While (counter < 100)
答案:while的W应当小写;<应当为<= 3.指出并纠正下面各段代码中的错误: a)
while(c<=5) { product *=5; c++;
b)
if ( gender == 1)
System.out.println(“woman”); else ;
System.out.println(“Man”); 答案:
a) 错误:漏掉了while循环的右花括号 纠正:在最后加上右花括号
b) 错误:else后的分号导致一个逻辑错误,第二个输出语句无论如何都会执行。 纠正:去掉else后面的分号。
4.下面的while循环结构有什么错误? while ( z >= 0) sum +=z;
答案:变量z在while循环中一直没有改变,如果循环条件(z>=0)为真,则会出现死循环,为了避免,必须使得变量z递减,使其最终小于0;
5.指出并纠正下列各段代码的错误。(注解:每段代码中可能包含多个错误。) a) if ( age >=65 ) ;
System.out.println( “ Age greater than or equal to 65” ); else
System.out.println ( “Age is less than 65” );
答案:if后不能有分号,将分号去掉可以改正这个错误。 b) int x = 1 ,total ; while ( x <=10 ) { total +=x; ++x; }
答案:total+=x语句中,total没有初始数值,无法使用,在定义total时为其赋值0可以解决这个错误。
c) while ( x<=100 ) total +=x; ++x;
答案:循环为死 循环,直到超出total的取值范围,在(x<=100)后添加{ ,然后在++x;后添加}可以解决这个错误。
6. 找出下面各段代码中的错误,并解释如何改正它。 a)
for ( k = 0 ; k!=1.0 ; k+=0.1) System.out.println(k); b) 如下代码应打印1~10的值 n = 1;
while ( n <10 )
System.out.println( n++ ); 答案:
a)错误:浮点数作控制变量,for循环将不工作,因为浮点数在大多数计算机中只是近似值。
改正:用一个整数取代浮点数,并用适当的计算获取所要的值: for( k =1 ; k!= 10 ; k++)
System.out.println((float) k / 10 );
b) 错误:在while循环继续条件中用了错误的关系运算符。 改正:用<= 代替 < ,或者将10改为11也可以。
Java基础习题(附答案)2 收藏
1. 以下方法fun的功能是求两参数之积。(return a*b) int fun ( int a, int b ) { __________________; }
2. 以下方法fun的功能是求两参数之积。(return (float)a*b) float fun ( int a, double b ) { __________________; } 3. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b) int fun ( int a, int b ) { __________________; } 4. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(a*b))
int m ( float x, float y ) { __________________; } 5. 下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 (void call)
public ___ paint(Graphics ____) { call.drawString(\!\
6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)
public ________ isEven(int a) { if(a%2==0)
return _____; else
return false; }
7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。(参数列表) 二.选择题及答 案
1.下列方法定义中,正确的是( D )。 A) int x( int a,b ) { return (a-b); } B) double x( int a,int b) { int w; w=a-b; } C) double x( a,b ) { return b; } D) int x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( D )。 A) void x( int a,int b ); { return (a-b); } B) x( int a,int b) { return a-b; }
C) double x { return b; }