zoukankan      html  css  js  c++  java
  • 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的值。

  • 相关阅读:
    JasperReport环境设置
    JasperReports入门,JasperReports是什么?
    插入算法
    java web项目(spring项目)中集成webservice ,实现对外开放接口
    Java代码中的(解压7z加密版)
    Java底层基础题
    sql执行过长,如何入手优化
    集群环境(session多服务器共享的方案梳理)
    SimpleDateFormat优化写法
    java面试题总结
  • 原文地址:https://www.cnblogs.com/yibao/p/5936962.html
Copyright © 2011-2022 走看看