Java SE 数据类型

简介: Java中数据类型主要分为两类,而基本数据类型可分为四类八种

Java SE 数据类型

@[toc]

1、字面常量

public class hello{
   
   
    public static void main(String[]args){
   
   
        System.out.println("hello,world");
    }
}

上述代码中,hello,world是字面常量。

字面常量的分类:

  1. 字符串常量:由 “ ”括起来的,比如 “hello,world”,"123","嗨嗨嗨" 。
  2. 整形常量:程序中直接写的数字,如:123,456。(注意没有小数点)
  3. 浮点数常量:在程序中小数称为浮点数。
  4. 字符常量:有单引号括起来的单个字符,如:'A','1'。
  5. 布尔常量:只有true和false。

2、数据类型

Java中数据类型主要分为两类,如下图:

image.png

而基本数据类型可分为四类八种

image.png

数据类型 关键字 包装类 内存占用
字节型 byte Byte 1 byte
短整型 short Short 2 byte
整形 int Integer 4 byte
长整型 long Long 8 byte
单精度浮点型 float Float 4 byte
双精度浮点型 double Double 8 byte
字符型 char Character 2 byte
布尔型 boolean Boolean 没有明确规定

注意:

  • 在Java中没有32位、64位之分,因此int都占4字节,long都占8字节。
  • 整形和浮点型都是带符号的
  • 整型默认类型为int型,浮点型默认为double

3、变量

3.1概念

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的
计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的

3.2格式

数据类型 变量名 = 初始值; 定义方式与C语言中定义方式相同

3.3注意

  • 在给变量设定初始值时,值不能超过对应的数据类型的范围,否则会溢出。
数据类型 范围
byte -128~127
short -32768~32767
int $-2^{31}$~$2^{31}-1$
long $-2^{63}$~$2^{63}-1$
float 有范围,一般不关注
double 有范围,一般不关注
char 0~65535
boolean true和false
  • 长整型变量的初始值后加L或者l,推荐加L,小写l易被看作是数字1。

  • 神奇代码一:

  • int a=1;
    int b=2;
    System.out.println(a/b);//输出结果会是0.5吗?
    
  • 在Java中,int除以int的值任然是int(会直接舍弃小数部分)。想要得到0.5,需要使用double类型计算。

  • double a=1;
    double b=2;
    System.out.println(a/b);//输出0.5
    
  • 神奇代码二:

  • double a=1.1;
    System.out.println(a*a);//结果会是1.21吗
    
  • image.png

  • 浮点数与整数在内存中的存储方式不同,不能单纯使用$2^n$的形式计算。浮点数类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

  • 计算机中的字符本质上是一个整数。 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。

  • boolean类型的变量只有两种取值:true表示真,false表示假。

  • Java的boolean类型不能与int类型之间相互转换,不存在1表示true,0表示false。

3.4类型转换

image.png

3.5类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的

目录
相关文章
|
2月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
207 2
|
2月前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
144 1
|
3月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
166 12
|
9月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
186 13
|
3月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
469 1
|
4月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
5月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
261 0
|
6月前
|
设计模式 算法 Java
Java SE 与 Java EE 组件封装使用方法及实践指南
本指南详细介绍了Java SE与Java EE的核心技术使用方法及组件封装策略。涵盖集合框架、文件操作、Servlet、JPA、EJB和RESTful API的使用示例,提供通用工具类与基础组件封装建议,如集合工具类、文件工具类、基础Servlet、实体基类和服务基类等。同时,通过分层架构集成示例展示Servlet、EJB和JPA的协同工作,并总结组件封装的最佳实践,包括单一职责原则、接口抽象、依赖注入、事务管理和异常处理等。适合希望提升代码可维护性和扩展性的开发者参考。
212 0
|
9月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
292 9
|
9月前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
232 9