zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    swift中的"类型擦除"
    Swift Pointer 使用指南
    Swift Method Dispatching — a summary of my talk at Swift Warsaw
    Swift库二进制接口(ABI)兼容性研究
    编译器最重要的工作就是确定对象内存模型
    Objective-C类成员变量深度剖析--oc对象内存模型
    Swift进阶之内存模型和方法调度
    Swift 对象内存模型探究(一)
    编程领域中的 "transparent" 和 "opaque"
    structure vs class in swift language
  • 原文地址:https://www.cnblogs.com/littlepage/p/9747624.html
Copyright © 2011-2022 走看看