java基本数据类型

java基本数据类型

内置数据类型

八种: 6种数字类型(4个整数类型 两个浮点型),一种字符类型 还有一种布尔型。

byte

byte数据类型是8位、有符号的,以二进制补码表示的整数。
最小是 -128 最大 127。
默认值是 0;
byte类型用在大型数组中节约空间,主要代替整数,因为变量占用的空间只有int类型的 四分之一。

short

类型的数据 是 16位、有符号的以二进制补码表示的整数。
最小值是 -32768 最大值是 32767;
short类型 也可以像byte那样节省空间。一个short变量 是 int型变量所占空间的二分之一。
默认值是0;

int

数据类型是32位、有符号的以二进制补码表示的整数。最小值是 -2147483648
最大值是 2147483647
默认值是 0

long

数据类型是64位、有符号的以二进制补码表示的整数。
这种类型主要用在需要比较大整数的系统上
默认值是 0L;

例子: long a = 100000L; long b = 1000000L; L理论上不分大小写,但小写与1容易混淆,最好大写。

float

是单精度、32位,符合 IEEEE 754 标准的浮点数。
float在储存大型浮点数组的时候可以节省内存空间。
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币。
例子: float f1 = 234.5f;

double

double数据类型是双精度、64位,符合 IEEE 754 标准的浮点数。
浮点数的默认类型是double类型。double类型同样不能表示精确的值,如货币。
默认值是 0.0d;
例子 double d1 = 1.23;

boolean

boolean数据类型表示一位的信息。
只有两个取值 true 和 false;
这种类型只作为一种标志来记录 true/false 情况。
默认值是 false;
例子 : boolean one = true;

char

是一个单一的16位Unicode字符。
最小值是 \u0000 (即为0)
最大是 \uffff (即为65535)
char数据类型可以存储任何字符。

引用类型:

在java中,引用类型的变量非常类似于C/C++中的指针。引用类型指向一个对象,指向对象的变量是引用变量。
这些变量在声明时被指定为一个特定的类型。变量一旦声明后,类型就不能被改变了。

对象数组都是引用数据类型。
所有引用类型的默认值都是 null;
一个引用变量可以用来引用任何与之兼容的类型。

java常量:

常量在程序运行时是不能被修改的。在java中使用final关键字来修饰常量,声明方式和变量类似。

final double PI = 3.1415927;
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

字面量可以赋给任何内置类型的变量,例如:
byte a = 68;
char a = 'A';

byte int long short 都可以用 十进制 16进制以及8进制的方式来表示。当使用常量的时候
前缀0表示8进制前缀 0x表示十六进制。

和其他语言一样,java的字符串常量也是包含再两个引号之间的字符序列。

字符串常量和 字符常量都可以包含任何 Unicode字符。

自动类型转换:

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。

低级 --------- 高级

byte,short,char -> int -> long -> float -> double

数据类型转换必须满足如下规则:

  • 不能对 boolean类型进行类型转换。

  • 不能把对象类型转换成不相关类的对象。

  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 转换过程中可能导致溢出或损失精度。

  • 浮点数到整数的转换是通过舍弃小数得到的,而不是四舍五入。

自动类型转换:
必须满足转换前的数据类型的位数要低于转换后的数据类型。
强制类型转换 :
1.条件是转换的数据类型必须是兼容的。
2.格式 (type)value type是要强制转换后的数据类型。

隐含强制类型转换:

  1. 整数的默认类型是int;
  2. 浮点型不存在这种情况,因为在定义 float时,必须在数字后面跟上F或f;
posted @ 2019-08-07 14:58  橙云生  阅读(168)  评论(0编辑  收藏  举报