• JAVA语法基础——动手动脑


    一、仔细阅读示例: EnumTest.java,运行它,分析运行结果? 你能得到什么结论?

           

           枚举类型是引用类型!

           枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。

           可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

    二、原码、反码和补码

           (一)原码:二进制的定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

           (二)反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

           (三)补码:正数的补码与其原码相同,负数的补码是在其反码末位加1;

          例:  

    数字 原码 反码 补码
    -1 10000001 11111110 11111111
    2 00000010 00000010 00000010

          以2+(-1)=1为例,1的原码为00000001,反码为00000001,补码为00000001。由此得出Java的数是由补码来表示的。

    三、java变量遵循“同名变量的屏蔽原则”

           每一个变量都有一个“有效”的区域,区域外变量将不再有效.java遵循同名变量的屏蔽原则。

           

    四、Java中的类型转换

           java中有8种基本数据类型:byte、int、short、long、boolean、char、float、double

          对应的类为:Byte、Int、Short、Long、Boolean、Charecter、Float、Double

          逻辑型:boolean
          文本型:char
          整数型:byte、short、int、long
          浮点型:float、double
          byte:    1字节 -128~127
          short:   2字节 -2^15~2^15-1
          int :      4字节 -2^31~2^31-1
          long:    8字节 -2^63~2^63-1
          boolean:1字节 true false(java中不能以0或非0代替)
          float:    4字节 -3.403E38~3.403E38
          double:8字节 -1.798E308~- 4.9E324
          char:    2字节  ’u0000‘~‘ ’uffff ‘(16进制的,换算过来即0~65535)(1字节等于8位)
          java中的基本数据类型转换分为自动类型转换和强制类型转换。自动数据类型转换是由优先级别低的数据赋值给优先级别高的变量。强制类型转换是由优先级别高的数据赋值给优先级别低的变量。强制类型转换通常都会有存储精度的损失。在整数之间进行类型转换时,数值不发生改变;而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在精度上的损失。

    五、请运行以下代码(TestDouble.java),分析运行结果? 你能得到什么结论?

           

           使用double类型的数值进行计算, 其结果是不精确的。

    六、以下代码的输出结果是什么?

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

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

           

           JAVA输出语句中的“+”有两种意思:一是运算中的加法,另一是连接符 。其中第一中X与Y中间的+被当作了连接符而二中为加法。

  • 相关阅读:
    fib数列变种题目
    中缀表达式-后缀表达式
    webpy 访问静态文件
    webpy 调试
    树莓派与windows互传文件
    使用图的遍历解决分酒问题
    cogs 48. [NOIP2007] 字符串的展开
    洛谷 P1091 合唱队形
    cogs 1435. [USACO NOV]金发姑娘和N头牛
    codevs 3498 小木棍
  • 原文地址:https://www.cnblogs.com/zql-42/p/11553661.html
Copyright © 2020-2023  润新知