java练习题

时间:2015-10-08 07:59:09   收藏:0   阅读:279

一.

分析程序EnumTest.Java:

 

public class EnumTest {

 

         public static void main(String[] args) {

                   Size s=Size.SMALL;

                   Size t=Size.LARGE;

                   //s和t引用同一个对象?

                   System.out.println(s==t);  //

                   //是原始数据类型吗?

                   System.out.println(s.getClass().isPrimitive());

                   //从字符串中转换

                   Size u=Size.valueOf("SMALL");

                   System.out.println(s==u);  //true

                   //列出它的所有值

                   for(Size value:Size.values()){

                            System.out.println(value);

                   }

         }

 

}

 enum Size{SMALL,MEDIUM,LARGE};

 

运行结果:技术分享

 

 

二.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原    码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。

 

三.

   Java变量遵循同名变量的屏蔽原则,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试代码,就象本示例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值。

 

public class Test1 {

 

    public static int value = 1;

    public static void main(String[] args) {

       // TODO Auto-generated method stub

         int value = 2;

         System.out.println(value);

        

    }

}

结果为:2

public class Test1 {

 

    public static int value = 5;

    public static void main(String[] args) {

       // TODO Auto-generated method stub

         int value = 3;

         System.out.println(value);      

    }

}

结果为:3

public class Test1 {

    public static int value = 4;

    public static void main(String[] args) {

       // TODO Auto-generated method stub

         System.out.println(value);      

    }}

结果为:4

得出结论:在函数里面的赋值优先于在函数外赋值,函数外的赋值可以赋给类中的多个函数,如果函数里面没有重复的赋值,那么函数的值为函数外的。

四.技术分享

看着这个图,再查查Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?

 

实线代表无精度损失,虚线代表有精度损失,一般来说在实线两端都是由低精度指向高精度的类型,所占的位数从低到高,范围从小到大,所以可得出,低精度向高精度转化不丢失精度,反之,从高精度传向低精度则会损失。

 

n  五.以下代码的输出结果是什么?

       int X=100;

       int Y=200;

       System.out.println("X+Y="+X+Y);

       System.out.println(X+Y+"=X+Y");

输出结果:X+Y=100200

300=X+Y

 

为什么会有这样的输出结果?

因为输出的是字符串,所以前一个分别输出两个字符串,而后一个表示用字符串输出两个整形的和。

原文:http://www.cnblogs.com/xiaosongbiog/p/4859981.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!