动手动脑课后试验博文

1.枚举类型的使用方法:

  1)课堂例子运行截图:

 

2)程序源代码及自行注释(个人理解)

package test;

enum Size{SMALL,MEDIUM,LARGE};

//定义一个枚举类型,名字叫Size

public class EnumTest 

{

public static void main(String[] args) 

{

Size s=Size.LARGE;

Size t=Size.LARGE;

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

//s、t并不是同一个引用

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

//是原始数据类型吗?

//不是原始数据类型

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

//当且仅当这个类表示一个基本类型此方法返回true

//从字符串中转换

//"SMALL"在这里是基本数据类型,通过valueOf()方法将它转化为Size类型,并把它赋值给u

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

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

//列出它的所有值

for(Size value:Size.values())

{

System.out.println(value);

}

}

}

//JDK1.5以上的版本才支持这种写法

/*不严格的说,Java的第二种for循环基本是这样的格式:

for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

借助这种语法,遍历一个数组的操作就可以采取这样的写法:

清单3:遍历数组的简单方式

/* 建立一个数组 */

//int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

//for (int i : integers) {

//System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */

//}

// }

//}*/

2)计算机的原码、补码和反码:

1.原码:原码表示法是机器数的一种简单的表示法。其符号位用 0表示正号,用1表示负号,数值一般用二进制形式表示。

2.补码:机器数的补码可由原码得到。如果机器数是正数,则该 机器数的补码与原码一样;如果机器数是负数,则该机器数的补 码是对它的原码(除符号位外)各位取反,并在未位加1而得到 的。

3.反码:机器数的反码可由原码得到。如果机器数是正数,则该 机器数的反码与原码一样;如果机器数是负数,则该机器数的反 码是对它的原码(符号位除外)各位取反而得到的。

例如:[X1] = +1010110(二进制)

[X1] = 01010110

[X1] = 01010110

[X1]反 = 01010110

[X2] = -1001010(二进制)

[X2]原 = 11001010

[X2] = 10110110

[X2] = 10110101 

3)同名变量的屏蔽原则:

在一个方法内,可以定义和成员变量同名的局部变量或参数,此 时成员变量被屏蔽。此时如果想要访问成员变量,可以通过 this  关键字来访问,this 关键字来访问,this 为当前实例的引用,如 果要访问类变量,可以通过类名来访问。

4)JavaSystem.out.println()+的使用:

字符串之后的加号起连接作用,加号后的数字1转化为字符串。

动手动脑中程序运行结果截图如下:

 

程序源代码及其注解如下:

package demo;

public class TestAll {

public static void main(String[] args) {

int intValue = 100;

long longValue = intValue;

double doubleValue = 1234567890;

float floatValue = (float) doubleValue;

System.out.println(floatValue);// 1.23456794E9

int X = 100;

int Y = 200;

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

//字符串后面的加号起的是连接的作用,即"X+Y"后面的加号会自动的把X转换为字符串100,这样X也就成为字符串了

//同样的道理,X后面的加号会把Y转化为字符串200,所以最后的输出结果为"X+Y="100200

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

//因为X前面没有字符串,所以X和Y要先进行普通的加法运算,所以最后的输出结果为300=X+Y

doNotRunme();

String string = "";

double d1 = 1000.123;

double d2 = 1000.123;

if (Math.abs(d2 - d1) < 1e-10) {

doNotRunme();

}

// System.out.println(string);

}

public static void doNotRunme() {

doNotRunme();

}

}

原文地址:https://www.cnblogs.com/1102whw/p/4858260.html