javaSE习题 第三章 运算符、表达式和语句


问答:

1.下列System.out.printf的结果是什么?

        int a=100,x,y;
        x=++a;
        y=a--;
        System.out.printf("%d,%d,%d",x,y,a);        
     101,101,100

2.下列哪句语句有错误?

        int x=0;
        x=5.0/2;//不能把double型赋给整型
        float y=12.5F;
        y=5.0/2;//不能把double型赋给float型

3.下列哪句语句有错误?

        byte x=32;
        char c='a';
        int n=c-x;
        c=c-x;//c-x转成int型

4.下列表述正确的是(A)

A.表达式“12+56>34”的值是true

B.表达式“12+56||34”是非法表达式

C.表达式“x+y=12”是非法表达式

D.表达式“12+56>34”的值是13

5.对于一个整数m,m<<1的结果一定是2*m吗?

不一定,万一超出范围引起越界

6.对于2个int类型的变量

  int m=120,n=240;

那么,m^m和m^n^n结果分别是多少?

  0,240(^表示异或)

7.下列System.out.printf的结果是什么?

        int x=10,y=10,z=10;
        if(x>9) {
            y=100;
            z=200;
        }
        else {
            y=-100;
        }
        z=-200;
        System.out.printf("%d,%d,%d", x,y,z);    
      
    10,100,-200

8.下列for语句的执行结果是什么?

    for(int i=1;i<=4;i++) {
            switch(i) {
                case 1:System.out.printf("%c",'a');
                case 2:System.out.printf("%c",'b');
                    break;
                case 3:System.out.printf("%c",'c');
                case 4:System.out.printf("%c",'d');
                    break;
            }
        }
    abbcdd

9.下列System.out.printf执行的输出结果是?

     char[] a= {'a','b','c','d','e'};
        for(int i=0;i<a.length/2;i++) {
            char c=a[i];
            a[i]=a[a.length-(i+1)];
            a[a.length-(i+1)]=c;
        }
        System.out.printf("%c%c%c%c%c",a[0],a[1],a[2],a[3],a[4]);
    edcba

10.下列System.out.printf执行的输出结果是?

        int[] a= {3,4,1,2,-6};
        for(int i=0;i<a.length;i++) {
            for(int j=i+1;j<a.length;j++) {
                if(a[j]<a[i]) {
                    int n=a[j];
                    a[j]=a[i];
                    a[i]=n;
                }
            }
        }
        System.out.printf("%d,%d,%d,%d,%d",a[0],a[1],a[2],a[3],a[4]);
     -6,1,2,3,4

11.下列程序输出结果是什么?

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);
    }
}
x=-5,y=-1

作业题:

1.有如下一个函数:

编写一个java程序,从键盘输入一个x值,程序输出一个y值。

public static void main(String[] args) {
        int y;
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        if (x<0) {
            y=x*2-1;
        }
        else if(x==0) {
            y=-1;
        }
        else {
            y=3*x-1;
        }
    }

2.编写一个java程序,使用while循环语句计算1-1000之间能被3和7同时整除的整数之和。

public static void main(String[] args) {
        int sum=0;
        for(int i=1;i<10000;i++) {
            if(i%3==0&&i%7==0) {
                sum+=i;
            }
        }
        System.out.println(sum);
    }

3.编写一个java程序,使用for循环计算8+88+888+8888+88888+……的前10项之和。

public static void main(String[] args) {
        long sum=0,temp=0;
        for(int i=0;i<10;i++) {
            temp+=8*Math.pow(10,i);
            sum+=temp;
        }
        System.out.println(sum);
    }

4.编写一个java程序,计算1-1/3+1/5-1/7+1/9-1/11……前10000项之和。

public static void main(String[] args) {
        double sum=0,temp;
        for(double i=0;i<10000;i++) {
            temp=Math.pow(-1, i)*1.0/(2.0*i+1.0);
            sum+=temp;
        }
        System.out.println(sum);
    }

5.编写一个java程序,计算1+2!+3!+4!……从第100项到第200项之和。

public static void main(String[] args) {
        long sum=0;
        for(int i=100;i<=200;i++) {
            sum+=factoria(i);
        }
    }
    public static long factoria(int i) {
        if(i==1) return i;
        else return factoria(i-1)*i;
    }

优质内容筛选与推荐>>
1、Hdu 1151
2、异步IO
3、c# winform 打包部署 自定义界面 或设置开机启动
4、AddEventListener 如何传递函数参数
5、分区排名


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn