一、java基础-数据类型_数据类型转化_字符编码_转义字符

1、Java  支持的8种基本数据类型:

java的四种整数数据类型:byte 1    short 2     int4     long8
    byte     8位带符号整数 -128到127之间的任意整数     即-2的7次方     到    2的7次方减1
    short   16位无符号整数-32768~32767之间的任意整数  即-2的15次方   到   2的15次方减1
    Int       32位带符号整数 -2^31到2^31-1之间的任意整数
   Long     64位带符号整数 -2^63到2^63-1之间的任意整数
浮点型:float4     double8
   Float 32位单精度浮点数 根据IEEE754-1985标准
   Double 64位双精度浮点数  根据IEEE754-1985标准
布尔型:boolean1/8
字符型:char2 一个字符能存储一个中文汉字
备注:
  1)自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 double,等等。反之就是自动拆箱。
  2)在栈中可以直接分配内存的数据是基本数据类型,而引用数据类型是数据的引用在栈中,但是它的对象在堆中。
  3)java中默认的整数类型是int类型,如果要定义为float类型,则要在数值后加上l或者L,默认的浮点型是双精度浮点,如果要定义为float型,则要在数值后加上f或者F

2、数据类型转

转化分为默认转化和强制转化
    1)默认转换:容量小的类型会默认转化为容量大的类型。
        byte->short->int->long->float->double
    float,double是带小数的,带小数的任何一个数据不管是4个字节还是8个字节,统一比所有的整数类型都大,所以排序为此
        char->//short 和char 在同一个等级上面
        byte short char 之间计算不会相互转化,首先转换成int
备注:小数型默认的是double类型,如果是float要在小数的后面加f  例如:1.23f;
   在java中基本数据类型可以相互转化;boolean类型比较特殊不可以转化成其他类型;
    2)强制转换:
        将容量大的类型转成容量小的类型,需要强制转化。 在多种类型混合运算过程中,首先选择将所有数据转化成容量最大的那种,再运算。
        注意只要不超出范围可以将整数类型直接赋值给byte, short,char

3、3种引用数据类型

String类型(8种基本数据类型里面并没有提到String类型,说明String类型属于引用类型)
 数组
 类
 接口

4、java中八种基本数据类型对应的包装类型:

基本数据类型     包装类型

byte            java.lang.Byte
short            java.lang.Short
int              java.lang.Integer
long             java.lang.Long;
float            java.lang.Float
double         java.lang.Double
boolean       java.lang.Boolean
char            java.lang.Charcter; //性格,特性,字符

5、常见的字符编码:

ASCII:采用一个字符编码,主要针对英文编码。列如:'a': 97   'A':65    '0':48

ISO-8859-1:又称Latin-1是国际化标志组织,ISO指定的,主要是为了西欧语言中的字符编码,和ASCII字符编码兼容

GB2312<GBK<GB18030:主要是汉子编码,三种编码从容量上看是包含关系

Unicode:Unicode 统一了世界上所有的文字编码,Unicode 有几种实现UTF-8,UTF-16,UTF-32

备注:java采用的是Unicode 码,char是字符类型,java中的char可以储存1个汉字;

6、转义字符

//斜线即\,在java语言中有转义的功能,可以将普通的t字符,转换成“制表符”
 1) char c1='\t';  //输出:一个制表符
  System.out.print(c1);
  System.out.println("abd");

2)

/*  char c2='''; 
  System.out.println(c2);//无将'即单引号输出,因为'即单引号在java语言中有特殊的含义,所以无法将其当做普通的字符输出
*/

char c3='\''; //输出:'
  System.out.println(c3);//可以将'即单引号输出,因为\作为转义字符,可以将java中有特殊含义的字符,作为普通的字符输出。

3)

/*  char c4='\';
  System.out.println(c4);//无法将\即斜线输出,因为\即斜线在java语言中有特殊的含义,所以无法将其当做普通的字符输出。
*/
  char c5='\\';//输出:\
  System.out.println(c5);//可以将\即斜线输出,因为\作为转义字符,可以将java中有有特殊含义的字符,做为普通的字符输出。

5)char c6='中';
  char c7='\u4e2d';//可以得出结论,'中'字对应的Unicode码是 4e2d
  System.out.println(c7);//输出:\中

上一篇:NO.5   算法测试(词条统计)


下一篇:【转】apache与tomcat的区别