JAVA(杂记一)

    最后还是迫于现实(实习项目)要学JAVA(#——# 其实我想学学C#),好吧废话就不多说了

    JAVA的8种基本类型:

    1.  整型  

    byte(1字节,-128~127)   short(2字节,-32768~32767)

    int(4字节,-2147483648~2147473647,20亿左右)

    long(8字节,-9223372036854775808~9223372036854775807,92亿亿左右)

  • JAVA没有任何的unsigned类型


    2.  浮点型

    float(4字节,有效位数为6~7位)

    double(8字节,有效位数为15位)

  • 浮点型还有3个特殊值,无穷大,无穷小和NaN,检测是否为NaN应该使用if(Double.isNaN(x))
  • 另,由于二进制的缘故,浮点数计算会出现误差,如10个0.1相加结果是9.999....,在判断相等时应当取两数相减的绝对值,判断是否小于一个较小的数(如1e-6,1e-9)


    3.  字符型

    char(2字节,\u0000~\Uffff)

  • JAVA采用的是Unicode编码,不同于C/C++的ASCII,因此JAVA中1个char变量也可以存储一个中文啦,不过貌似还有个码点的东西,具体么看懂(=-=)


    4.  布尔型

    boolean(4字节,false和true)

  • 注意是boolean不是bool
  • 其实很不理解为啥要4个字节,明明1个bit就够了,查了下是这样解释的
  • 理由来源是《Java虚拟机规范》一书中的描述“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节”。

---------------------------------------------------------------------------------------------------------------------------

  • JAVA中变量若只声明而未初始化或赋值,则不能够使用
  • Eclipse快速打印System.out.println()的方法是 "syso"+"alt+/"+"回车"
  • Eclipse快速打印Scanner的方法是 "sc"+"alt+/"+"回车"
  • Eclipse单/多行注释或取消注释“//”,选中注释区域,按"ctrl+/";类注释先打“/**”,再回车即可

---------------------------------------------------------------------------------------------------------------------------

  • JAVA中的const是保留字,不能使用,设置常量使用final
  • 一般常量名全大写表示
  • public class Main 
    {
    	public static final double PI = 3.1415926;	//可在多个方法中使用
    	public static void main(String[] args) 
    	{
    		final int N = 32;	//仅在该类中使用
    		
    	}
    }

---------------------------------------------------------------------------------------------------------------------------

  • 移位运算符  <<,>>,<<<
  • 其中右操作数都先完成了模32(若左操作数是long则模64)运算,因此1<<35等价于1<<3
  • >>使用符号位填充,>>>使用0填充

---------------------------------------------------------------------------------------------------------------------------

  • enum枚举类型只能定义在顶级类
public class Main
{
    enum Size{S,M,L,LL};
    public static void main(String[] args)
    {
        //    不能在此处定义enum
        Size size = Size.S;
        switch(size)
        {
            case S:
                ;
            case M:
                ;
            case L:
                ;
            case LL:
                ;
            default:
                ;
        }
        
    }
}

猜你喜欢

转载自blog.csdn.net/love_irelia97/article/details/80521274