zoukankan      html  css  js  c++  java
  • 闲来无事——第一弹 Java基础 基本数据类型

      一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头;虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业内潜规则!潜规则!潜规则!重要的事情说三遍!(因为看过一些新手写代码,发现小写的类名,瞬间哭晕在厕所,记忆太深刻了)另外,类、方法、变量的取名尽量要见名思义,方便别人看代码。
      一个类中只能有一个public的class,另外main方法也必须是public的,并且一个类中只有一个main方法,main方法还必须是一个静态方法。传说:Java SE1.4之前是没有要求main方法必须是public,于是乎这就成了一个bug,因为当main方法不是public的时候,有些版本的Java解释器也可以执行Java应用程序。

      重点来了,Java的基本数据类型,统称为四类八种(四类:整型、字符型、浮点型、布尔型;八种:byte、short、int、long、char、float、double、boolean)。

      1、整型

      

     
    类型 所占字节数
    byte 1字节
    short 2字节
    int 4字节
    long 8字节

      一个字节占8位(1byte=8bits),那么这些类型能表示的最大数是多少呢?各位听众,看仔细咯:

      以short类型为例,2个字节,16位,用二进制表示最大数就是 1111 1111 1111 1111,理论上来说最大数应该是2^16 - 1,但实际上由于整型是可以为负数的,那么他就是有符号位的,那没办法高位的1就是表示符号位了(最高位为1表示负数,0表示正数),所以正整数的最大数为 0111 1111 1111 1111,即为32627(2^15 - 1);负数的最大数1111 1111 1111 1111,反码(正数没有反码,负数的反码符号位保留,其他位取反)为:1000 0000 0000 0000,补码(补码为反码+1)为:1000 0000 0000 0001,即为-32628(-2^15)。如果不太理解反码和补码的童鞋,速度找度娘去......

    类型 取值范围
    byte -2^7 ~ 2^7 - 1
    short -2^15 ~ 2^15 - 1
    int -2^31 ~ 2^31 - 1
    long -2^63 ~ 2^63 -1

      所以呢,在进行项目设计的时候,要注意项目可能达到的数据量,确定好范围,在确定数据类型(直接取long型的可以无视这句话)。

      2、字符型

      字符类型主要是char类型,虽然说还有一个String类型,但是String已经是对象的概念了,不属于基本数据类型。但是char类型在实际应用使用较少,基本上已经都会用String类型来代替。

      当然,char型数据和整型是可以互相转换的,主要是因为编码的原因,如: 

     1 public class MathTest {
     2 
     3     public static void main(String[] args) {
     4         int n = 'a';
     5         long s = 'A';
     6         char m = 97;
     7         System.out.println(n);
     8         System.out.println(s);
     9         System.out.println(m);
    10     }
    11     
    12 }

      执行结果:97  65  a

      3、浮点型

      浮点型就是float和double两种数据类型,其实也就是我们常说的小数,float是单精度,double是双精度,一般来说使用double较多,精度高,而且所能代表数据范围更大。

      注意:  a、由于二进制没有办法精确的表示分数,所以在进行浮点型数据计算的时候会损失精度,所以一般不推荐直接使用浮点型数据进行计算,一般是使用BigDecimal类型。

           b、需要注意的一点是,在进行数据定义的时候,浮点型数据的默认类型是double类型,所以像float a = 0.1;这样的写法是错误的,float类型的数据定义一定要在数据后加上f;

      在计算过程中三个比较特殊的情况:正无穷大,负无穷大,NaN,这三个值都有常量与之对应

          

      另外,对NaN值的判断不能使用“==”来判断,Java中提供了专门的方法进行判断,Double.isNaN();

      4、布尔类型

      布尔类型只有一个------boolean,它的值也只有true和false两个;主要用于逻辑判断。

      另外,八大基本数据类型都有它们所对应的封装类,主要的区别就是对null值的容纳和封装类还有许多方法。(关于封装类,现阶段了解较少,后期再补上....)

      

      

  • 相关阅读:
    Tomcat
    二叉树
    CDOJ 1962 天才钱vs学霸周2【最大流】
    次小生成树(POJ1679/CDOJ1959)
    CDOJ1927 爱吃瓜的伊卡洛斯(2) 【并查集】启发式合并+set
    HDU 1074 Doing Homework(DP状态压缩)
    uva 11367 (Dijkstra+DP)
    线段树模板
    openpose pytorch代码分析
    opencv图片坐标和数组下标
  • 原文地址:https://www.cnblogs.com/gkbgy/p/6043186.html
Copyright © 2011-2022 走看看