Java学习-3-基本数据类型

2019-06-21  本文已影响0人  持之以蘅

变量申请内存来存储值。当创建变量的时候,需要在内存申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能来存储该类型数据。


内置数据类型

八种基本类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔类型

byte
short
int
long

float

double
boolean
char

引用类型

Java常量
final double PI = 3.1415929;
byte a =68;
char a = 'A'

byte、 int、long、short都可以用十进制、16进制以及8进制的方式来表示。
当使用常量的时候,前缀0表示8进制、而前缀0x代表16进制。例如:

int decimal = 100;
int octal = 0144;
int hexa = 0x64;

和其他语言一样,Java的字符串也是包含在两个引导之间的字符序列。下面是字符串型面量的例子:

"Hello world"
"two\nlines"
"\"this isin quotes\""

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

char a = '\u0001";
String a = "\u0001";

特殊的转义字符序列


image.png
自动类型转换
  1. 不能对boolean类型进行类型转换。
  2. 不能把对象类型转换成不相关类的对象。
  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  4. 转换过程中可能导致溢出或损失精度,例如:
int i = 128;
byte b =(byte)i;

byte类型是8位,最大值是127,所以当int强制转换为byte类型时值128时候就会导致溢出。

  1. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23
(int)-45.89f ==-45
自动类型转换

必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。


强制类型转换
  1. 条件是转换的数据类型必须是兼容的。
  2. 格式:(type)value type是要强制类型转换后的数据类型 实例:

public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于"+b);
}
}
运行结果:
int强制类型转换为byte后的值等于123


隐含强制类型转换
  1. 整数的默认类型是 int。
  2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
    这一节讲解了 Java 的基本数据类型。下一节将探讨不同的变量类型以及它们的用法。

引用了大部分介绍数据类型的内容

上一篇 下一篇

猜你喜欢

热点阅读