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,关注后即可获取最新文章推送

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

Java 数据类型详解与类型转换技巧的更多相关文章

  1. Java数据类型详解!Java秘诀,Java入门基础

    Java的基本数据类型算是Java学习的基础之一,经常会听到大家提起.那么你到底有没有真正理解和掌握数据类型呢? Java 语言支持的数据类型分为两种:基本数据类型和引用数据类型!本文主要针对这两大数 ...

  2. java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

    对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 1. 概述 泛型在 ...

  3. 【转】java 泛型详解

    java 泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. java泛型详解 ...

  4. 【转载】Java泛型详解

    [转载]http://www.importnew.com/24029.html 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考 ...

  5. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  6. Java虚拟机详解----JVM常见问题总结

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. Java面向对象详解

    Java面向对象详解 前言:接触项目开发也有很长一段时间了,最近开始萌发出想回过头来写写以前学 过的基础知识的想法.一是原来刚开始学习接触编程,一个人跌跌撞撞摸索着往前走,初学的时候很多东西理解的也懵 ...

  8. java 泛型详解(普通泛型、 通配符、 泛型接口)

    java 泛型详解(普通泛型. 通配符. 泛型接口) JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能---- ...

  9. Java synchronized 详解

    Java synchronized 详解 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.当两个并发线程访问同一个对象object ...

  10. Java Annotation详解 理解和使用Annotation

    系统中用到了java注解: 查了一下如何使用注解,到底注解是什么: (1)创建方法:MsgTrace Java Class==> 在Create New Class中: name:输入MsgTr ...

随机推荐

  1. python基础安装虚拟环境

    1.pip install virtualenv或者pip3 install virtualenv 2.在要存放虚拟环境的地方创建一个venv文件夹,用来存放所有创建的虚拟环境,方便查找与管理 3.m ...

  2. 【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢?

    问题描述 在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢? 如下图所示: 问题解答 请注意,上图中提示说:App ...

  3. 【Azure 应用服务】azure function powershell 调用 New-AzADServicePrincipal -DisplayName $sp -PasswordCredential $spCred

    问题描述 powershell 调用New-AzADServicePrincipal -DisplayName $sp -PasswordCredential $spCred,出现如下错误: Reso ...

  4. 动态代码框架发布-CZGL.Roslyn

    CZGL.Roslyn 开源项目位置:https://github.com/whuanle/CZGL.CodeAnalysis 基于 Roslyn 技术的 C# 动态代码构建器以及编译器,开发者可以使 ...

  5. OPPO 自研大规模知识图谱及其在数智工程中的应用

    导读:OPPO 知识图谱是 OPPO 数智工程系统小布助手团队主导.多团队协作建设的自研大规模通用知识图谱,目前已达到数亿实体和数十亿三元组的规模,主要落地在小布助手知识问答.电商搜索等场景. 本文主 ...

  6. deepin版的微信无法启动

    我在网上找了半天的了,出现问题的原因应该是deepin-wine的问题: 既然是deepin-wine出了问题,那重装一下就好了,嗯~ 我直接,yay!结果发现有一个deepin-wine需要更新,更 ...

  7. 修改校准debain/manjaro的时间时钟

    一次重启后发现时间竟然从上午变成了晚上!要问,我是怎么发现在的我就是发现上午的时候我的屏幕夜灯突然出现了 使用命令 sudo rm -f /etc/localtime删除本地时间文件 sudo cp ...

  8. 可穿戴设备主控制器芯片AMA3B 源码解析之初体验

    一 背景和缘由   现在的mcu非常多,在超低功耗mcu这块,能赢得市场穿戴式设备使用的产品的确不多,以前是的是stm32 L系列,可是,随着L系列的缺货涨价和技术指标没有快速的发展,很多厂商都抛弃了 ...

  9. C++ 字面值的前缀和后缀

    一般字符字面值用前缀,数字字面值用后缀: --C++ Primer第五版2.1.3

  10. 【UE虚幻引擎】干货!UE修改分辨率的3种方法

    虚幻引擎作为一款实时3D创作工具,在游戏.建筑.影视动画.虚拟仿真等领域受到全球各行各业创作者广泛欢迎,在UE中获取和设置分辨率也是3D创作开发工作中的常用功能.本文介绍了在虚幻引擎中修改分辨率的3种 ...