Java 数据类型详解与类型转换技巧

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
云原生网关 MSE Higress,422元/月
简介: Java 中的变量必须是指定的数据类型:数据类型分为两组:基本数据类型 - 包括 byte、short、int、long、float、double、boolean 和 char引用数据类型 - 包括类、接口、数组

Java 数据类型

Java 中的变量必须是指定的数据类型:

int myNum = 5;               // 整数
float myFloatNum = 5.99f;    // 浮点数
char myLetter = 'D';         // 字符
boolean myBool = true;       // 布尔值
String myText = "Hello";     // 字符串

数据类型分为两组:

  • 基本数据类型 - 包括 byteshortintlongfloatdoublebooleanchar
  • 引用数据类型 - 包括类、接口、数组

基本数据类型

基本数据类型指定变量值的大小和类型,它没有额外的方法。在 Java 中有八种基本数据类型:

  • byte: 1字节,存储范围 -128 到 127 的整数。
  • short: 2字节,存储范围 -32768 到 32767 的整数。
  • int: 4字节,存储范围 -2,147,483,648 到 2,147,483,647 的整数。
  • long: 8字节,存储范围 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数。
  • float: 4字节,存储约 6 到 7 位小数。
  • double: 8字节,存储约 15 位小数。
  • boolean: 1位,存储 truefalse
  • char: 2字节,存储单个字符/字母或 ASCII 值。

Java 数字

整数类型

byte:

byte myNum = 100;
System.out.println(myNum);

short:

short myNum = 5000;
System.out.println(myNum);

int:

int myNum = 100000;
System.out.println(myNum);

long:

long myNum = 15000000000L;
System.out.println(myNum);

浮点类型

float:

float myNum = 5.75f;
System.out.println(myNum);

double:

double myNum = 19.99d;
System.out.println(myNum);

科学计数法:

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);

Java 布尔数据类型

Java 的 布尔 (boolean) 数据类型只能取两个值:truefalse

boolean java有趣 = true; // java 是否有趣?
boolean 鱼肉好吃 = false; // 鱼肉是否好吃?

System.out.println(java有趣); // 输出 true
System.out.println(鱼肉好吃); // 输出 false

Java 字符

char 数据类型用于存储单个字符。字符必须用单引号括起来,如 'A' 或 'c'。

char myGrade = 'B';
System.out.println(myGrade);

或者,如果您熟悉 ASCII 值,您可以使用它们来显示特定的字符:

char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);

Java 字符串

String 数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:

String greeting = "Hello World";
System.out.println(greeting);

字符串在 Java 中被广泛使用,它是一种非基本数据类型,具有丰富的操作方法

总结和建议:

  • 了解基本数据类型的范围和存储方式。
  • 注意整数的默认类型是 int,浮点数的默认类型是 double
  • 选择合适的数据类型,以避免浪费内存。
  • 引用数据类型包括类、接口和数组。

Java 类型转换

类型转换是将一个原始数据类型的值赋给另一种类型的操作。在Java中,有两种类型的转换:

扩展转换(自动)

扩展转换会自动进行,将较小类型转换为较大类型:

public class Main {
   
  public static void main(String[] args) {
   
    int myInt = 9;
    double myDouble = myInt; // 自动转换:int 到 double

    System.out.println(myInt);      // 输出 9
    System.out.println(myDouble);   // 输出 9.0
  }
}

扩展转换顺序为:byte -> short -> char -> int -> long -> float -> double

缩小转换(手动)

缩小转换需要手动完成,通过在值前面加括号并手动放置类型:

public class Main {
   
  public static void main(String[] args) {
   
    double myDouble = 9.78d;
    int myInt = (int) myDouble; // 手动转换:double 到 int

    System.out.println(myDouble);   // 输出 9.78
    System.out.println(myInt);      // 输出 9
  }
}

缩小转换顺序为:double -> float -> long -> int -> char -> short -> byte

Java 运算符

运算符用于对变量和值执行操作。

在下面的示例中,我们使用 + 运算符将两个值相加:

int x = 100 + 50;

尽管 + 运算符通常用于将两个值相加,但它也可以用于将变量与值相加,或将变量与另一个变量相加:

int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章
|
22天前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
135 2
|
22天前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
61 1
|
2月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
75 12
|
3月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
3月前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
177 0
|
4月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
190 0
|
7月前
|
存储 缓存 Java
理解Java引用数据类型:它们都是对象引用
本文深入探讨了Java中引用数据类型的本质及其相关特性。引用变量存储的是对象的内存地址而非对象本身,类似房子的地址而非房子本身。文章通过实例解析了引用赋值、比较(`==`与`equals()`的区别)以及包装类缓存机制等核心概念。此外,还介绍了Java引用类型的家族,包括类、接口、数组和枚举。理解这些内容有助于开发者避免常见错误,提升对Java内存模型的掌握,为高效编程奠定基础。
336 0
|
8月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
120 13
|
8月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
189 9
|
8月前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
191 9
下一篇
开通oss服务