数据类型 | 包装类 |
| 范围 | 默认值 | 大小 |
byte | Byte | 字节 | -128 - 127 | 0 | 8 |
shot | Shop | 短整型 | -32768 - 32768 | 0 | 16 |
int | Integer | 整型 | -2147483648-2147483648 | 0 | 32 |
long | Long | 长整型 | -9233372036854477808-9233372036854477808 | 0 | 64 |
float | Float | 浮点型 | -3.40292347E+38-3.40292347E+38 | 0.0f | 32 |
double | Double | 双精度 | -1.79769313486231570E+308-1.79769313486231570E+308 | 0.0d | 64 |
char | Character | 字符型 | 范围:0到65535 unicode:'\u0000 - \ u ffff ’ | '\u0000 ’ | 16 |
boolean | Boolean | 布尔型 | True/false | false | 1 |
java数据类型图:
┏数值型━┳━整数型:byte short int long
┏基本数据类型━━┫ ┗━浮点型:float double
┃ ┣字符型:char
数据类型╋ ┗布尔型:boolean
┃ ┏类(class)
┗引用数据类型━━╋接口(interface)
┗数组(array)
java的数据类型分基本数据类型(原始数据类型)和引用数据类型;
1.基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:short a; java会在可使用的内存空间寻找一个占两个字节的块给a变量;
2.引用数据类型就那三种,类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。
逻辑运算
&是java中的位逻辑运算:
eg: 2&3=2;
分析如下:
2的二进制为10 ;3的二进制为11 ;逻辑&之后为10
&&是boolean的逻辑运算
eg:
if((1> 2)&&(3> 1) )
表示如果两个条件都成立则执行之后的逻辑;
| 逻辑或
A|B,会对A, B都进行判断
||短路或
A||B,只有当A为假的时候才会对B进行判断。若A为真,则不继续对B进行判断。
基本数据类型基本数据类型包装类
* 基本数据类型变为对象的好处:取值范围变大(-2的31方到2的31次方-1)
* 对象包装类的好处:可以将基本数据和字符串之间进行互相转换。
基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换
1、基本数据类型转成字符串。
基本数据类型.toString(基本数据类型值);
如: Integer.toString(34);//将34整数变成"34";
2、字符串转成基本数据类型。
xxx a =Xxx.parseXxx(String);
int a =Integer.parseInt("123");
double b= Double.parseDouble("12.23");
boolean b= Boolean.parseBoolean("true");
Integer i= new Integer("123");
int num =i.intValue();
3、十进制转成其他进制。
toBinaryString();
toHexString();
toOctalString();
4、其他进制转成十进制。
parseInt(string,radix);
三、自动装箱拆箱
Integer x= new Integer(4);
Integer x= 4;//自动装箱。
x = x + 2;x自动拆箱x.intValue()变成int类型,+2后再自动装箱赋给表达式左边的x
Integer m= 128;
Integer n= 128;
System.out.println("m==n:"+(m==n));结果为false,数值超过byte范围,会开辟新的空间
Integer a= 127;
Integer b= 127;
System.out.println("a==b:"+(a==b));结果为true。因为a和b指向了同一个Integer对象。当数值
在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。