网站首页 > java教程 正文
Java是一种面向对象的编程语言,数据类型是编程中的重要概念。Java数据类型主要分为两大类:基本数据类型和引用数据类型。
基本数据类型
Java有八种基本数据类型,分别是:byte、short、int、long、float、double、char和boolean。这些基本数据类型都是预定义的,且范围和大小都是固定的。
类型关键字 | 所占字节数 | 取值范围 | |
整数型 | byte(字节类型) | 1 | -27~27或-128~127 |
short(短整型) | 2 | -215~215-1 | |
int(整型) | 4 | -231~231-1 | |
long(长整型) | 8 | -263~263-1 | |
浮点型 | float(单精度) | 4 | 3.4e-038~3.4e+038 |
double(双精度) | 8 | 1.7e-308~1.7e+308 | |
字符型 | char(字符型) | 2 | 0~65535 |
布尔型 | boolean(布尔型) | 1 | true和false |
在java中,编写的整数值默认是int类型,编写的小数值默认就是double类型。
每种基本数据类型的定义和初始化:
public class BasicDataTypesDemo {
public static void main(String[] args) {
// 定义并初始化 byte 类型的变量
byte myByte = 10;
System.out.println("myByte: " + myByte);
// 定义并初始化 short 类型的变量
short myShort = 200;
System.out.println("myShort: " + myShort);
// 定义并初始化 int 类型的变量
int myInt = 1000;
System.out.println("myInt: " + myInt);
// 定义并初始化 long 类型的变量
long myLong = 10000000000L;
System.out.println("myLong: " + myLong);
// 定义并初始化 float 类型的变量
float myFloat = 3.14F;
System.out.println("myFloat: " + myFloat);
// 定义并初始化 double 类型的变量
double myDouble = 3.141592653589793;
System.out.println("myDouble: " + myDouble);
// 定义并初始化 char 类型的变量
char myChar = 'a';
System.out.println("myChar: " + myChar);
// 定义并初始化 boolean 类型的变量
boolean myBoolean = true;
System.out.println("myBoolean: " + myBoolean);
}
}
引用数据类型
引用数据类型是对对象的引用,而不是对象本身。引用数据类型包括类、接口、数组等。
- 类(Class):类是Java面向对象编程的基础,定义了一组具有共同属性和行为的对象。
- 接口(Interface):接口是一种引用类型,是方法的集合,定义了一组方法但没有实现。接口允许类实现接口定义的方法,实现多态性。
- 数组(Array):数组是一种存储相同类型元素的线性数据结构。Java中的数组是对象,因此数组也是引用数据类型。
数据类型转换
自动类型转换:
从取值范围小的类型向取值范围大的类型转换(如:byte,short,char—> int —> long—> float —> double)
强制类型转换:
从取值范围大的类型向取值范围小的类型转换,需要进行强制转换,可能会导致数据丢失或溢出。
格式:目标数据类型 变量=(目标数据类型) 值;
例如:
byte b = (byte)257;
自动装箱和拆箱
Java 5及以后的版本引入了自动装箱和拆箱的概念。
自动装箱:指的是将基本数据类型自动转换为对应的包装类(如Integer、Double等)
自动拆箱:指的是将包装类自动转换为对应的基本数据类型。
基本类型 | byte | short | int | long | float | double | char | boolean |
包装类 | Byte | Short | Integer | Long | Float | Double | Character | Boolean |
- 上一篇: Java中基本数据类型与包装数据类型的区别
- 下一篇: 盘点JAVA中基于CAS实现的原子类
猜你喜欢
- 2025-01-13 java泛型generics泛型类的用法
- 2025-01-13 java final详解
- 2025-01-13 Java精选十大语法,快来瞅瞅
- 2025-01-13 java 整型类型_Java基本类型-整型解读
- 2025-01-13 I/O流之File类的用法和实例详解——Java进阶知识讲义系列(八)
- 2025-01-13 java简历包装2年工作经验,为什么公司面试通不过?
- 2025-01-13 java 核心技术-12版 卷Ⅰ- 5.4 对象包装器与自动装箱
- 2025-01-13 盘点JAVA中基于CAS实现的原子类
- 2025-01-13 Java中基本数据类型与包装数据类型的区别
- 2025-01-13 Java基本数据类型及其包装类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)