仔细阅读示例:EnumTest.Java,运行它,分析运行结果?

你能得到什么结论?你掌握了枚举类型的基本用法了吗?

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};

运行结果:

false,false,true,SMALL,MEDIUM,LARGE

阅读相应教材,或者设用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出

 结果,与手工计算的结果进行比对,看看Java中的数是采用上述那种码表示的

真值:带符号为的机器数的对应的真正数值称为机器数的真值
例:0000 0001真值为+1
原码:符号位加上真值的绝对值,即用第一位表示符号,其余位表示数值
反码:正数的反码是其本身
负数的反码在其原码的基础上,符号位不变,其余位取反
补码:正数的补码是其本身,负数的补码在其原码的基础上,符号位不变,其余位取反,最后加1(即在反码的基础上加1)
 
源代码:
public class Bit {
public static void main( String [] args ){
System.out.println(3<<2);
System.out.println(-3<<2);
System.out.println(9>>3);
System.out.println(-9>>3);
}
}

运行结果:

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

输出顺序按照就近原则,先在本方法内查找,如果没有,去到本类中查找,如果也没有,再去到上一级的接口或者父类中查找。如果上一级接口和父类都同时有,那么程序就会报错

源代码:

public class Father {
protected int a = 2;
}
public class Child extends Father{
private int a = 3;
public int getA(){
return a;
}
}
public class SameName {

    public static int a = 0;
public static void main( String [] args ){
int a =1;
Child c = new Child();
System.out.println(a);
System.out.println(c.getA());
}
}

运行结果:

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

int     32位  4字节       -2147483648~2147483647

short    16位  2字节        -32768~32678

long       64位     8字节        -9223372036854775808~9223372036854775807

float       32位     4字节        -340292347E+38~+340292347E+38

double   64位  8字节        -1.79769313486231576E+308~.79769313486231576E+308

char    16位  2字节        ‘\u0000′‘~‘\uFFFF’

boolean  1位   0.125字节     true/false

byte    8位   1字节         -128~127

低精度型向高精度型转换

请运行以下代码

public class TestDouble {

    public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}

你看到了什么输出,意外吗?

运行结果

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

     int x = 100;
int y = 200;
System.out.println("x+y="+x+y);
System.out.println(x+y+"=x+y");

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

当+号两个操作数都是数字时为运算符,存在一个是" "时为连接符

Java语法基础动手动脑的更多相关文章

  1. java语法基础--动手动脑问题及课后实验问题

    ---恢复内容开始--- 动手动脑: 1:仔细阅读示例:EnumTest.java,运行它,分析运行结果 结果 :枚举类型是引用类型!枚举类型不属于原始数据类型,它的每个具体指都引用一个特定的对象.相 ...

  2. java第二节课 java语法基础动手动脑

    动手动脑1:枚举变量   运行EnumTest.java package test2; public class EnumTest {  public static void main(String[ ...

  3. Java语法基础动手动脑实践

    输出结果为: 0.05+0.01=0.0600000000000000051.0-0.42=0.58000000000000014.015*100401.49999999999994123.3/100 ...

  4. 00-JAVA语法基础--动手动脑

    1.运行EnumTest.java,并分析结果,得出结论. 其源代码以及运行结果截图如下: 枚举类型的常量以字符串的形式顺序储.源代码中s和t不是原始数据类型.getCLass():取得当前对象所属的 ...

  5. Java语法基础课 动手动脑

    1.枚举类型 它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象. 枚举类型不是java原有数据类型 2.为什么double类型的数值进行运算得不到“数学上精确”的结果? 我们给出的数值,在 ...

  6. JAVA 数组作业——动手动脑以及课后实验性问题

    JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...

  7. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  8. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  9. Java语法基础课后作业

    1.动手动脑 运行它EnumTest.java,分析运行结果 s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDI ...

随机推荐

  1. Ant 之 Task

    Ant提供了大量的核心task和可选task,除此之外,Ant还允许用户定义自己的task,这大大扩展了Ant的功能.本书由于篇幅关系,所以不可能详细介绍Ant所有的核心task和可选task,本书将 ...

  2. IDEA 创建HDFS项目 JAVA api

    1.创建quickMaven 1.在properties中写hadoop 的版本号并且通过EL表达式的方式映射到dependency中 2.写一个repostory将依赖加载到本地仓库中 这是加载完成 ...

  3. linux自旋锁、互斥锁、信号量

    为了避免并发,防止竞争.内核提供了一组同步方法来提供对共享数据的保护. 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别. Linux 使用的同步机制可以说从2.0到2 ...

  4. CSS3实现图片循环旋转

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. Tomcat端口的改变和编码的设置

    1.更改默认的端口: 在默认情况下,tomcat的端口是8080,如果出现8080端口号冲突,用如下方法可以修改Tomcat的端口号: 首先: 在Tomcat的根(安装)目录下,有一个conf文件夹, ...

  6. supervisor 使用教程(转)

    原文地址:https://word.gw1770df.cc/2016-08-04/linux/supervisor-%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/ Supe ...

  7. mysql的事务,隔离级别和锁

    事务就是一组一起成功或一起失败的sql语句.事务还应该具备,原子性,一致性,隔离性和持久性. 一.事务的基本要素 (ACID) 1.原子性:事务开始后,所有的操作,要么全部成功,要么全部失败,不可能处 ...

  8. jwplayer使用方法

    网盘:https://pan.baidu.com/s/1mmtppZSFOni5tLI2TJWKrw <script type="text/javascript"> v ...

  9. 函数名、闭包、装饰器 day11

    1, 函数名的内存地址,print(func) 2, 函数名可以赋值给其他变量 3, 函数名可以当做容器类的元素 4, 函数名可以当做函数的参数. 5, 函数名可以当做函数的返回值. 学名:第一对象 ...

  10. c# mac地址 和http://xx.xx.xx/ 正则表达式匹配

    Mac  :^([0-9a-fA-F]{2})(([/\s:][0-9a-fA-F]{2}){5})$ C# 书写方式 一下是允许mac中间间隔符是“:”或者“-”两种输入方式 并且我把上边的正则表达 ...