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. MySQL 数据库死锁排查

    死锁排查方法 查看进程状态 show processlist; 查看行锁的状态 show status like 'InnoDB_row_lock%'; 查询是否有死锁 show engine inn ...

  2. Vue 之 new vue({})与export default {} 的区别

    刚入门 vue 的,可能会有这样的困惑:什么时候用new vue({}),什么时候用export default {} 呢? 比如,我们在用 cli 创建项目时 在 main.js 入口里面用的时ne ...

  3. 【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误

    问题描述 使用Docker Compose方式合并多个镜像(Images)文件,然后部署到App Service中,结果失败.报错 Linux Version 太长,不能超过4000个字符. 错误消息 ...

  4. Effective C++ 第一章:让自己习惯C++

    Effective C++ 第一章:让自己习惯C++ 引言 最近在阅读这本<effective C++ 改善程序与设计的55个具体做法>这本书,为了以后忘记的时候回顾,写一些笔记,每次笔记 ...

  5. 【教程】navicat配合HTTP通道远程连接SQLite数据库

    前言 缘由 好奇的我想查看服务器上宝塔面板的SQLite数据库 久别一月,特来水文.起因是我看到服务器上搭建的宝塔面板,好奇其中使用的SQLite数据库,想用navicat远程连接看一下,奈何不会玩, ...

  6. docker 部署prometheus和grafana

    prometheus(普罗米修斯):天生为采集存储监控数据而生的时序数据库.prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示. grafana ...

  7. XWAF安装遇到的坑

    存在的问题:需要的编译环境没有安装配置好的话出现下面的问题: 1.error: Microsoft Visual C++ 14.0 or greater is required. Get it wit ...

  8. springboot,简要记录,方便复习,

    boot 笔记第一步新建工程,导包,由于boot的数据库框架是用mybtis -paus,所以关于数据库系统那儿不用色选mybatis ,需要重新maven导包完整导包以下人容: <?xml v ...

  9. HttpClientHandler VS SocketsHttpHandler

    .NET Framework 和 .NET Core 2.0 及更低版本中由 HttpClient 使用的默认消息处理程序为HttpClientHandler. 从 .NET Core 2.1 开始, ...

  10. Temporary notepad

    20230412 快速帮助手册 很牛的风格 https://devhints.io/vue 印记中国 https://docschina.org/ 前台本地存储数据 兼容 https://github ...