动手动脑学Java

EnumTest:

1.枚举类型是引用类型。

2.枚举不属于原始数据类型(System.out.println(s.getClass().isPrimitive());运行结果为False),它的每个具体值都引用一个特定的对象(Size s=Size.SMALL;     Size t=Size.LARGE;System.out.println(s==t);运行结果为False)。相同的值引用同一个对象(Size u=Size.valueOf("SMALL");System.out.println(s==u);运行结果为      Ture)。

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

动手动脑2:

输出结果为:X+Y=100200

300=X+Y

System.out.println("X+Y="+X+Y);的意思是将y变量和x变量的值作为字符串打印出来所以其结果为 X+Y=100200

而System.out.println(X+Y+"=X+Y");是先计算x+y的值然后再将该值与“=X+Y”一起作为字符打印出来。

课后练习:

数的二进制表示:

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

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

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

变量的作用域:

输出的数值应该是离System.out.print(value)最近的value的值,并要写在public static void main(String[] args){}内才有效。

时间: 2024-10-11 07:54:09

动手动脑学Java的相关文章

动手动脑及java程序之用消息框进行数的运算

    动手动脑     自信成就人生 动手动脑1 ?仔细阅读示例: EnumTest.java,运行它,分析运行结果? package demo; public class Test { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE;                                                    //s和t引用不同对象 System.out.pr

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

一.动手动脑 1)源代码 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue(

java动手动脑08

一.动手动脑 1)源代码: public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue

java多态动手动脑

实验任务一:多态实现ATM工作原理 1)源代码: package demo; import java.util.Scanner; class A{ String name; String date; String mima; int yu; String kahao; public A(String name,String date,String mima,int yu,String kahao) { this.name=name; this.date=date; this.mima=mima;

java的动手动脑10月20日

(1)动手动脑 该函数没有赋初值再就是如果类提供一个自定义的构造方法,将导致系统不在提供默认的构造方法. (2) public class test { /*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubInitializeBlockClass obj=new InitializeBlockClass();System.out.println(obj.field)

java 动手动脑7

---恢复内容开始--- 一.动手动脑:多层的异常捕获-1 阅读以下代码(CatchWho.java),写出程序运行结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 1.源码: public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException

java动手动脑异常处理

实验任务一:多层的异常捕获-1 1.实验内容:阅读(CatchWho.java),写出程序运行结果: public class CatchWho{ public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException(); } catch(ArrayIndexOutOfBoundsException e) { System.out.println(  "ArrayIndexOut

Java(接口与继承)动手动脑

1>继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParent 的另一个构造函数,注意这句调用代码是否是第一句,影响重大 源代码: class Grandparent{ public Grandparent(){ System.out.println("GrandParent Created."); } public Grandparent(Str

Java动手动脑07

(1)现在有三个类: class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} 针对每个类定义三个变量并进行初始化 Mammal m=null ; Dog d=new Dog(); Cat c=new Cat(); 下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 编译错误 d=m;d=c; 不正确 子类对象可以直接赋给基类