Java 2 实用教程(第5版)耿祥义版 习题三

一、问答题
1.关系运算符的运算结果是怎样的数据类型?
2.if语句中的条件表达式的值是否可以是int型?
3.while语句中的条件表达式的值是什么类型?
4.switch语句中必须有default选项码?
5.在while语句的循环体中,执行break语句的效果是什么?
6.可以用for语句代替while语句的作用吗?
二、选择题
1.下列哪个叙述是正确的?
A.  5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.'苹'+ '果'的结果是char型数据。
D.(short)10+'a'的结果是short型数据。
2.用下列哪个代码替换程序标注的【代码】会导致编译错误?
A.m-->0  B.m++>0  C.m = 0  D.m>100&&true
public class E {  
    public static void main (String args[ ]) { 
      int m=10,n=0;
      while(【代码】) {
         n++;
      }  
    }
}
3.假设有int x=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误。
A.short t=12+'a';  B.char c ='a'+1;  C.char m ='a'+x;  D.byte n ='a'+1;
三、阅读程序
1.下列程序的输出结果是什么?
public class E {  
public static void main (String args[ ])   {  
 char x='你',y='e',z='吃';
       if(x>'A'){ 
           y='苹';
           z='果';
        }
       else
          y='酸';
       z='甜';
       System.out.println(x+","+y+","+z); 
   }
}
2.下列程序的输出结果是什么?
public class E {
  public static void main (String args[ ]) {
        char c = '\0';
        for(int i=1;i<=4;i++) {
          switch(i) {
             case 1:  c = 'J';
                     System.out.print(c);  
             case 2:  c = 'e';
                     System.out.print(c); 
                     break; 
             case 3:  c = 'p';
                     System.out.print(c);
             default: System.out.print("好");
          }   
        }
    }
}
3.下列程序的输出结果是什么?
public class E {
   public static void main (String []args)   {
      int x = 1,y = 6;
      while (y-->0) {
          x--;
      }
      System.out.print("x="+x+",y="+y);
   }
}
四、编程序题
1.编写应用程序求1!+2!+…+10!。
2.编写一个应用程序求100以内的全部素数。
3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!…  … 的前20项和。
4.一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。
5.编写应用程序,使用for循环语句计算8+88+888…前10项之和。
6.编写应用程序,输出满足1+2+3…+n<8888的最大正整数n。
 

一、问答题
1.boolean
2.不可以
3.boolean
4. 不是必须的
5.结束while语句的执行
6.可以
二、选择题
1.A。 2.C。 3.C。
三、阅读程序
1.你,苹,甜
2.Jeep好好
3.x=-5,y=-1
四、编程序题
1.public class Xiti1 {
  public static void main(String args[]) {
double sum=0,a=1;
int i=1;
      while(i<=20) {
          sum=sum+a;
          i++;
          a=a*i;
      }
      System.out.println("sum="+sum);
   }
}
2.public class Xiti2 {
  public static void main(String args[]) {
      int i,j;
      for(j=2;j<=100;j++) { 
          for(i=2;i<=j/2;i++) {
             if(j%i==0) 
               break;
          }
          if(i>j/2) {
             System.out.print(" "+j);
          }
      }
   }
}
3.class Xiti3 {
  public static void main(String args[]) {
      double sum=0,a=1,i=1;
      do { sum=sum+a;
           i++;
           a=(1.0/i)*a;
       }
       while(i<=20);
       System.out.println("使用do-while循环计算的sum="+sum);
       for(sum=0,i=1,a=1;i<=20;i++) {
          a=a*(1.0/i);
           sum=sum+a;
       }
       System.out.println("使用for循环计算的sum="+sum);
   }
}
4.public class Xiti4 {
  public static void main(String args[]) {
     int sum=0,i,j;
     for(i=1;i<=1000;i++) {
        for(j=1,sum=0;j<i;j++) {
           if(i%j==0)
               sum=sum+j;
        }
        if(sum==i)
           System.out.println("完数:"+i);
     }
  }
}
5.public class Xiti5 {
  public static void main(String args[]) {
     int m=8,item=m,i=1;
     long sum=0;
     for(i=1,sum=0,item=m;i<=10;i++) {
        sum=sum+item;
        item=item*10+m;
     }
     System.out.println(sum);
  }
}
6. public class Xiti6 {
  public static void main(String args[]) {
      int n=1;
      long sum=0;
      while(true) {
        sum=sum+n;
        n++;
        if(sum>=8888) 
          break;
      }
      System.out.println("满足条件的最大整数:"+(n-1));
   }
}

 

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值