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

Java 数据类型

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

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

数据类型分为两组:

  • 基本数据类型 - 包括 byte、short、int、long、float、double、boolean 和 char
  • 引用数据类型 - 包括类、接口、数组

基本数据类型

基本数据类型指定变量值的大小和类型,它没有额外的方法。在 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位,存储 true 或 false。
  • char: 2字节,存储单个字符/字母或 ASCII 值。

Java 数字

整数类型

byte:

java 复制代码
byte myNum = 100;
System.out.println(myNum);

short:

java 复制代码
short myNum = 5000;
System.out.println(myNum);

int:

java 复制代码
int myNum = 100000;
System.out.println(myNum);

long:

java 复制代码
long myNum = 15000000000L;
System.out.println(myNum);

浮点类型

float:

java 复制代码
float myNum = 5.75f;
System.out.println(myNum);

double:

java 复制代码
double myNum = 19.99d;
System.out.println(myNum);

科学计数法:

java 复制代码
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);

Java 布尔数据类型

Java 的 布尔 (boolean) 数据类型只能取两个值:true 或 false。

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

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

Java 字符

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

java 复制代码
char myGrade = 'B';
System.out.println(myGrade);

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

java 复制代码
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);

Java 字符串

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

java 复制代码
String greeting = "Hello World";
System.out.println(greeting);

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

总结和建议:

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

Java 类型转换

类型转换是将一个原始数据类型的值赋给另一种类型的操作。在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

缩小转换(手动)

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

java 复制代码
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 运算符

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

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

java 复制代码
int x = 100 + 50;

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

java 复制代码
int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2

最后

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

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

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

相关推荐
蜗牛互联网16 分钟前
从GitHub动态工作流理解确定性编排与Agent判断边界
java·人工智能·后端·github
开开心心就好34 分钟前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
大侠归来35 分钟前
C 与 Go 语言对比:从设计哲学到工程实践
java·c语言·golang
ShineWinsu1 小时前
对于Redis:ZSet类型的解析
数据库·c++·redis·缓存·面试·有序集合·zset
吠品1 小时前
volatile到底在拦什么:SysTick->VAL读的哪格
java·服务器·开发语言
鶴哥只手遮天1 小时前
深入理解OpenSceneGraph(五):插件生态与最佳实践
后端
新鲜势力呀1 小时前
PHP 定时任务系统实战:从 Cron 混乱执行到任务调度中心 + Redis队列 + 失败重试
android·java·redis
.道阻且长.1 小时前
C++11 :新的类功能,lambda,包装器
开发语言·c++·后端
leo在掘金2 小时前
google/ax单日涨1379星:Agent编排运行时到底难在哪?
后端·架构
keke.shengfengpolang2 小时前
2026年财务经营分析校招技术能力拆解:SQL取数、Power BI看板、AI辅助分析,面试到底考什么
面试