深入理解Java基础类型

来源:互联网 发布:股票书籍 知乎 编辑:程序博客网 时间:2024/06/07 01:20
1、Java基础数据类型
     Java的基本数据类型可以分为两大类:数值类型和布尔类型。而数值类型又可以分为整型和浮点型,整型里的字符型往往也被单独对待。因此常常也把Java里的基本数据类型分为四类:

a、整数类型(整型)
     byte:在内存中占1个字节(8位),表数范围-2^7到2^7-1(-128到127)
     short:在内存中占2个字节(16位),表数范围-2^15到2^15-1(-32768到32767)
     int:在内存中占4个字节(32位),表数范围-2^31到2^31-1
     long:在内存中占8个字节(64位),表数范围-2^63到2^63-1
 整数常量的表示方式:10进制、8进制(0开头)、16进制(0x或者0X开头)
b、字符型
     字符型char在内存中占两个字节。Java语言使用16进制的Unicode编码集作为编码方式,支持世界上所有的书面语言字符。
     字符型常量必须使用单引号括起来,有三种表示形式:
     1>直接通过单个字符来表示字符常量,比如'A'、'9'
     2>通过转义字符表示特殊的字符常量,比如'\n'、'\t'
     3>直接使用Unicode值来表示字符常量,格式是'\uXXXX',其中XXXX表示一个16进制的整数
附:字符常量可以采用十六进制的编码方式来表示,范围为'\u0000'到'\uFFFF',一共可以表示65535个字符,其中前256个('\u0000'到'\u00FF')字符与ASCII码中的字符完全重合。
     同时由于char类型的值在内存中存储的依然是数字,因此其可以和整数型的值互相赋值,但注意表数范围是16位的无符号正数(0到65535)
  // 直接通过单个字符表示字符常量
  charcharData0='A';
  charcharData1='蔡';
  System.out.println("charData0="+charData0);
  System.out.println("charData1="+charData1);
  // 使用Unicode编码值来表示字符常量
  charcharData2='\u0041';// 字符A的十进制ASCII值是65,十六进制的ASCII码值是41,其Unicode码也是41
  charcharData3='\u8521';// 字符'蔡'的Unicode表示\u8521
  System.out.println("charData2="+charData2);
  System.out.println("charData3="+charData3);
  // 使用转义字符来表示特殊的字符常量
  charcharData4='\n';
  System.out.println("charData4="+charData4);
              
  /************整型和字符型变量互换***********/
  // 直接将字符型变量赋给整型变量
  intintData0='蔡';
  System.out.println("intData0="+intData0);
  // 直接将一个0到65535范围内的整数赋给一个字符型变量
  charcharData5= 34081;// 字符'蔡'的十进制表示34081
  charcharData6= 0x8521;// 字符'蔡'的十六进制表示0x8521
  System.out.println("charData5="+charData5);
  System.out.println("charData6="+charData6);
输出:charData0=A
     charData1=蔡
     charData2=A
     charData3=蔡
     charData4=

     intData0=34081
     charData5=蔡
     charData6=蔡

c、浮点型
     Java浮点类型只有两种,分别是float和double。其中float(单精度浮点数)在内存中占4个字节(32位),double(双精度浮点数)在内存中占8个字节(64位)。
     单精度浮点型常量必须以f或者F结尾,而double则不需要。表示方式有两种:标准小数形式和科学计数法形式(略)。
d、布尔型
     Java中的布尔型的数值只能是true或者false,不能使用0或者非0来表示。其他基本数据类型的值也不能转换成boolean类型。
     booleanbooleanData0=false;
  // 错误写法,java的布尔类型只能是true或者false,不能使用0或非0来替换
  // boolean booleanEData1 = 2;
  // boolean booleanErrorData2 = 0;

附:全部代码:
packagejavabase;

publicclassDataType {
      publicstaticvoidmain(Stringargs[]){
            // 直接通过单个字符表示字符常量
            charcharData0='A';
            charcharData1='蔡';
            System.out.println("charData0="+charData0);
            System.out.println("charData1="+charData1);
            // 使用Unicode编码值来表示字符常量
            charcharData2='\u0041';// 字符A ASCII值65 ,转换成十六进制的Unicode码是41
            charcharData3='\u8521';// 字符'蔡'的Unicode表示\u8521
            System.out.println("charData2="+charData2);
            System.out.println("charData3="+charData3);
            // 使用转义字符来表示特殊的字符常量
            charcharData4='\n';
            System.out.println("charData4="+charData4);
            
            /************整型和字符型变量互换***********/
            // 直接将字符型变量赋给整型变量
            intintData0='蔡';
            System.out.println("intData0="+intData0);
            // 直接将一个0到65535范围内的整数赋给一个字符型变量
            charcharData5= 34081;// 字符'蔡'的十进制表示34081
            charcharData6= 0x8521;// 字符'蔡'的十六进制表示0x8521
            System.out.println("charData5="+charData5);
            System.out.println("charData6="+charData6);
            
            booleanbooleanData0=false;
            // 错误写法,java的布尔类型只能是true或者false,不能使用0或非0来替换
            // boolean booleanEData1 = 2;
            // boolean booleanErrorData2 = 0;
      }
}



0 0
原创粉丝点击