数据类型

来源:互联网 发布:单片机与蓝牙模块通信 编辑:程序博客网 时间:2024/06/06 00:21

数据类型

  • 数据类型的作用:开辟空间的方式
  • l数据类型 分为 原始类型(primitive type)引用类型(reference type

简单数据类型

 

数值型:整数型(byte,short,int,long) 精确数据(float,double) 实型数据(表示不精确数据)

byte 1个字节 -128-127    boolean 1个字节 

short 2个字节 -32768-32767   char 2个字节 0-65535

int  4个字节 float 4个字节

long 8个字节 double 8个字节

    

字符型(char) 2个字节  范围 0-65535

 

布尔类型(boolean) 1个字节 只有truefalse字面常量

 

 

引用类型(类,接口,数组)

接口类型:存放该接口类型实现该接口对象的地址(指针,句柄)

 

存放与该类相同类型对象的地址(指针,句柄)

 

Student s1 = new Student();

Strudent s2 ;

s2=s1;

s1的值赋值给s2  其中s1的值就是指向堆中对象的地址(指针,句柄)

其实java只有值传递 (在引用类型时,传递的是对象的地址值)


字符型(表示方式:unicode 八进制 十进制 字符 转义字符)

 

‘a’ 97   \u0061

‘q’ 133

‘A’ 65   \u0041

‘0’ 48   \u0030

‘\r’ 13   \u000d

‘\n’ 10   \u000a

‘ ‘  32   \u0020 空格

转义字符 

\n代表换行 abc\ndddd 打印为 vvv   换行是换到到下一行与b对应的位置

                            dddd

 \r代表回车  ccc\rdd打印为 dd  (退格回到本行的前面)

abc\r\nd abc\n\rd 换车换行 移到下一行中第一个位置

转义字符为:对特殊字符(双引号”字符串的结束和开始标示 单引号’ 定义字符 在正则表达式中 . ?  \  + )进行转义 成正常的字符(它们本身)\” 代表” 

其中对普通字符进行转义( n,r,f,b )成特殊含义的字符  \r回车 \n换行 \b退格 \f分页

“c:\\nabcd” 打印为c:\nabcd  其中对最后一个\进行转义为若 为”c:\nabcd”打印为 

c:

abcd

“c:\\\\abc” 打印为 c:\\abc  其中\\将转义字符转换成原义字符后面\\ 转义成原义字符\ 则结果为 c:\\abc

注:在正则表达式中还会继续用\进行转义正则表达式中特殊字符

av\\.abcd.split(“\\.”); 首先对字符串”av\\.abcd”转义后为av\.abcd  

第一、其中对”\\.”转义成\.

第二、则\.在正则表达式表示对 特殊字符 进行转义成 .  则结果为av\abcd两个字符串 \\.

av\\.abcd.split(“\\\\.”); 首先对字符串”av\\.abcd”转义后为av\.abcd  

第一、其中对”\\\\.”转义成\\.

第二、则\\.在正则表达式表示对 特殊字符 进行转义成 通过正则表达式进行转义后的字符串为 \. 则结果为avabcd两个字符串 

 

 

其中:char 和 byte short几种类型中进行混合运算时内部会进行必然的转换成int 类型

short s = 1;

s = s+1;  编译出错  s+1转换成了int类型

 

s++ 编译通过 单目运算不会改变运算类型 而s=s+1双目运算会改变运算类型

s+=1 复合赋值运算不会改变运算类型 依然是short类型

 

char c = 97 ,int I= 78,long l = 123l; float f = 12.0f double d = 3.;

long lg = c+i+l 自动转换成 运算后自动转换成long 也可以用 floatdouble接受

float fg = c+i+l+f  自动转换成 float 只能用floatdouble接受,不可用long类型接受

double db = c+l+d 自动转换成double 

在型中进行运算时,总是把类型转换成最高字节的数据类型

 

 

0 0
原创粉丝点击