本文主要是介绍阿药陪你学Java(第零讲),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第零讲:基本数据类型
Java包括两种数据类型,分别是内置数据类型(基本数据类型)和引用数据类型。
内置数据类型
Java提供了8中内置类型,其中包括4种数字整型、2种数字浮点型、1中字符型、1中布尔型。下面进行详细介绍:
类型 | 长度 | 范围 | 默认值 | 其它 |
---|---|---|---|---|
byte | 8位 | -128 ~ 127 | 0 | 有符号;可以替代int类型整数用于大型数组中,好处是可以节约空间 |
short | 16位 | -2^15 ~ 2^15-1 | 0 | 像byte一样,可以替代int类型整数使用节约空间 |
int | 32位 | -2^31 ~ 2^31-1 | 0 | 最常用的整型,一般整型变量默认位int类型 |
long | 64位 | -2^63 ~ 2^63-1 | 0L | 主要用在需要比较大的整数时;注意:定义常量时数值结尾需要加L(或小写l,推荐使用大写,易于与1进行区分) |
float | 32位 | - | 0.0f | 存储大型浮点数组的时候相较于double可以节约空间;注意:不能表示精确的值,如货比;定义常量时结尾需要加f |
double | 64位 | - | 0.0d | 同float类型一样不能表示精确的值,定义常量时结尾可以不加d |
boolean | - | true/false | false | 表示一位的信息,做为一种标志记录 |
char | 16位 | \u0000 ~ \uffff | ‘\u0000’ | 可以存储任何字符,范围转换为数值即为0 ~ 65535 |
扩展
问:boolean类型的长度?
如果boolean是单独使用:boolean占4个字节。
如果boolean是以boolean数组的形式使用:boolean占1个字节。
答疑 | boolean类型占几个字节?
实战
除布尔类型外其它7种类型都可以通过其包装类(这个后面会介绍)打印他们的位数、范围等,无需强制记忆。
示例:
public class Demo {public static void main(String[] args) {// intSystem.out.println("基本类型:int 二进制位数:" + Integer.SIZE); System.out.println("包装类:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); }
}输出:
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647
引用类型
在Java中引用类型指向一个对象,指向对象的变量就是引用变量。引用类型的变量类似C/C++中的指针,变量保存的是对象的地址。
字符串、数组、对象等都是引用类型,默认值为null。注意:对象使用前一定要初始化,否则会出现空指针(几乎是每个程序员必然遇到的问题)。
示例:
public class Demo {public static void main(String[] args) {//变量类型 变量名称 指向 创建的对象Demo demo = new Demo();}
}
类型转换
低 -----------------------------------------------------> 高
byte -> short -> int -> long -> float -> double
类型转换包括自动类型转换和强制类型转换两种,自动类型转换是从低到高,而强制类型转换是从高到低。
示例:
char ch = 'a'
int a = ch; // 变量a的最终值为97,char类型自动转换为int类型
char ch1 = (char) a; // 变量ch1的最终值为'a',int类型强制转换成char类型
数据类型的转换要满足如下规则:
-
不能对boolean类型进行转换。
-
不能把对象转换成不相关类的对象。
示例:
String str = new String("abc");
Object obj = (Object) str; // 可以,因为Object是String的父类
Integer num = (Integer) str; // 不可以,Integer与String无关
- 由高向低转换时需要采用强制类型转换,且转换过程中如果超出低类型范围会导致溢出。
示例:
int a = 128;
short b = (short) a; // short类型最大值为127,这里会出现溢出,变量b最终为-128
- 浮点数在向整数进行转换时会舍弃小数部分
示例:
float a = 1.23f;
int b = (int) a; // 变量b最终为1
这篇关于阿药陪你学Java(第零讲)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!