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)Java中System.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();
}
}