JAVA语法基础(课堂ppt问题总结)

一:运行源代码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};

结果截图:

枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。

二:原码,反码,补码的区别辨析

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值,
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
示例程序:
public class qq {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
			  System.out.println(0xffffffff);
			}
	}

 得到结果为-1

java中数据使用的是反码表示的。

 三:通过原始类型的包装类完成类型转换

源代码:

public class qq {

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

 截图:

四:Java变量遵循“同名变量的屏蔽原则”


Java变量是有作用域的。如果两个作用域完全不同的变量同名,不会引起冲突。
举一个简单的例子:一班有一个学生叫小明,二班也有一个学生叫小明,在一班和二班分开上课的时候,点名就不会有冲突。
验证代码:
public class qq {

	/**
	 * @param args
	 */
	private static int code=12;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int code=-10;
		System.out.println(code);

	}

}

 结果截图:

五:为什么double类型的数值进行运算得不到“数学上精确”的结果?
这个涉及到二进制与十进制的转换问题。
N进制可以理解为:数值×基数的幂,例如我们熟悉的十进制数123.4=1×10²+2×10+3×(10的0次幂)+4×(10的-1次幂);其它进制的也是同理,例如二进制数11.01=1×2+1×(2的0次幂)+0+1×(2的-2次幂)=十进制的3.25。
double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差(除非实际数据恰好是2的n次方)。
六:java中输出格式
源代码如下:
public class qq {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int X=100;
		int Y=200;
		System.out.println("X+Y="+X+Y);
		System.out.println(X+Y+"=X+Y");
		

	}

}
 
 

 结果截图:

因为+X+Y表示只是输出X和Y的值,X+Y表示输出X+Y的值。

转载于:https://www.cnblogs.com/yibao/p/5936962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值