Java基础3月15号-Java八种数据类型

文章目录

  • 1.1、数据类型有什么用,
  • 1.2、数据类型在java语言中包括两种:
  • 1.3、8中基本数据类型中
  • 1.4、byte类型的取值范围?
  • 1.5、对于8种基本数据类型来说

1.1、数据类型有什么用,

 *    数据类型用来声明变量,程序在运行过程中根据不同的数据类型分配不同大小的空间
 *    int i = 10;
 *    double d = 1.23
 *    那么i变量和d变量类型不同,分配的空间大小就不同。
 *

1.2、数据类型在java语言中包括两种:

 *    第一种:基本数据类型
 *        基本数据类型又可以划分为4大类8小种:
 *            第一类:整数型  byte(1个字节),short(2),int(4),long(8)
 *            第二类:浮点型  float,double
 *            第三类:布尔型  boolean  只有两个值true和false,true表示真,false表示假
 *            第四类:字符型  char    java中规定字符字面量必须使用单引号括起来,属于文字。
 *        8小种:
 *            byte,short,int,long
 *            float,double
 *            boolean
 *            char
 *
 *    第二种:应用数据类型
 *        字符串型String属于引用数据类型,他不属于基本数据类型范畴,java中除了基本数据类型之外,剩下的都是引用数据类型。

1.3、8中基本数据类型中

 *     整数型:byte,short,int,long有什么区别
 *     浮点型:float和double有什么区别
 *     区别:占用的空间大小不同
 *
 *     关于计算机存储单位?
 *         计算机只能识别二进制。(10010010011100.....)
 *         1字节 = 8bit(8比特) ---> 1byte = 8bit
 *         1bit就是一个1或0
 *
 *         byte b = 2;  在计算机中是这样表示的:00000010
 *         short s = 2;在计算机中是这样表示的:00000000 00000010
 *         int i = 2;   在计算机中是这样表示的:00000000 00000000 00000000 00000010;
 *
 *         类型         占用字节数量
 *         ---------------------------------
 *         byte            1
 *         short           2
 *         int             4
 *         long            8
 *         float           4
 *         double          8
 *         boolean         1
 *         char            2

Java基础3月15号-Java八种数据类型_第1张图片

1.4、byte类型的取值范围?

    byte[-128 ~ 127]共可以标识256个不同的数字。
    byte类型的最大值是怎么计算出来的(27次方-1)?
      byte1个字节,是8个比特位,所以byte可以存储的最大值是:01111111
     注意:在计算机当中,一个二进制位最左边的是符号位,当为0时表示正数,当为1时表示负数。所以byte类型最大值是:01111111,那么是不是27次方-1呢?

   有几个取值范围是需要记住的
      (1个字节)byte[-128 ~ 127]
      (2个字节)short[-32768 ~ 32767]  加起来也是可以表示65535个不同的数字
      (4个字节)int[-2147483648 ~ 2147483647]
      (2个字节)char[0~65535]   char不是字符吗,怎么和数字挂钩了呢?再是汉字,底层存储的也是二进制的方式。可以表示65535个不同的数字

     shortchar实际上容量相同,不过char可以标识更大的数字。因为char表示的是文字,文字没有正负之分,所以char可以表示更大的数字。

1.5、对于8种基本数据类型来说

 *      其中byte,short,int,long,float,double,boolean,这7种类型计算机表示起来比较容易,因为他们都是数字。其中布尔类型只有两个值true和false,
 *      实际上true和false分别在C++中对应的是1和0,1为true,false为0.
 *      
 *      对于char类型来说计算机表示起来就比较麻烦,因为char对应的是文字,每一个国家的文字都不一样,文字不能直接通过“自然算法”转换成二进制。
 *      这个时候怎么办呢?这个时候字符编码就诞生了。
 * 
 *      什么是字符编码?
 *          字符编码是人为(某个计算机协会)定义的一套转换表,
 *          在字符编码中规定了一系列的文字对应的二进制。
 *          字符编码其实本质上就是一本字典,该字典中描述了文字与二进制之间的对照关系。
 *
 *      字符编码涉及到编码和解码两个过程,编码和解码的时候必须采用同一套字符编码方式,不然就会出现乱码。
 *  *      关于字符编码的发展过程?
 *          起初计算机是不支持文字的,只支持科学计算。实际上计算机最开始时为了战争而开发的,是为了计算导弹的运动轨迹...
 *
 *          后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文对应的字符编码方式是:ASCII吗。
 *
 *          ASCII码采用1byte进行存储,因为英文字母只有26个。(键盘上所有的键全部加起来也不超过256个。
 *          1byte可以表示256种不同的情况。所以英文本身在计算机方面就占有优势。)
 *              'a' -----> 97(采用ASCII码进行编码)---> 01100001---(采用ASCII码进行解码)--->'a'
 *              'b' -----> 98
 *              'c' -----> 99
 *               ......
 *              'A' -----> 65
 *              'B' -----> 66
 *               ......
 *              '0' -----> 48

你可能感兴趣的:(基础不牢,地动山摇,java,jvm,开发语言)