Java入门——数据类型、自动类型转换、强制类型转换

简介: Java入门——数据类型、自动类型转换、强制类型转换

计算机中表示数据的最小单元

  • 计算机中表示数据的最小单元:一个字节byte,简称B,是使用8个二进制位组成的)
  • 字节中的每个二进制位就称为位(bit,简称b),1B=8b

十进制转二进制

  • 除二取余法

字符在计算机中的存储方式

  • 采用ASCII编码存储
  • ASCII编码表:即美国信息交换标准编码,规定了现代英语、数字字符、和其他西欧字符对应的数字编号。
char ch = 'a' ;

记住常用的A65) ~Za97)~z048)~9



图片数据-彩色图

  • 图片就是无数个像素点组成的
  • 每个像素点的数据:用0~255*255*255表示其颜色

声音数据本质上也是由二进制的形式进行存储的

数据类型

基本数据类型

  • 基本数据类型:4大类8种。 图片.png

注意:任意写一个整型字面量,要使它为long类型,则需要在后面加上L(默认为int);而要使小数字面量类型为float,则在后面加上F(默认为double)。


  • 引用数据类型  ——  String  (后续再详解)

自动类型转换

  • 类型范围小的变量,可以直接赋值类型范围大的变量。

byte -> int

自动转换类型的其他形式

表达式的自动类型转换

  • 在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

byte 、short、char  →  int  →  long  →  float  →  double

注意:

  • 表达式的最终结果类型由表达式中的最高类型决定
  • 在表达式中,byte、short、char直接转换成int类型参与运算的。

强制类型转换

类型范围大的数据或者变量,直接赋值给类型范围小的变量,会报错。

1. int a = 20;
2. byte b = a; //会报错

强制类型转换

强行将类型范围大的变量、数据赋值给类型范围小的变量。

数据类型 变量2  =  (数据类型)变量1、数据 ;

int a = 20;
byte b = (byte) a;

执行原理

  • 强制类型转换可能造成数据(丢失)溢出
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

END



目录
相关文章
|
4天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
9天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
33 4
|
8天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
22 1
|
10天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
16天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
53 5
|
13天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
29 1
|
20天前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
43 3
|
21天前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
21天前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
18 0
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。