一 自动类型转换
1 自动类型转换图
数范围小的向数范围大的进行自动类型转换,如同把小瓶的水倒入大瓶,不会有任何问题。Java支持自动类型转换。
2 代码示例
public class AutoConversion { public static void main(String[] args) { int a = 6; // int可以自动转换为float类型 float f = a; // 下面将输出6.0 System.out.println(f); // 定义一个byte类型的整数变量 byte b = 9; // 下面代码将出错,byte型不能自动类型转换为char型 // char c = b; // 下面是byte型变量可以自动类型转换为double型 double d = b; // 下面将输出9.0 System.out.println(d); } }
3 运行结果
6.0
9.0
4基本类型的值和字符串连接代码示例
public class PrimitiveAndString { public static void main(String[] args) { // 下面代码是错的,因为5是一个整数,不能直接赋给一个字符串 // String str1 = 5; // 一个基本类型值和字符串进行连接运算时,基本类型值自动转换为字符串 String str2 = 3.5f + ""; // 下面输出3.5 System.out.println(str2); // 下面语句输出7Hello! System.out.println(3 + 4 + "Hello!"); // 下面语句输出Hello!34,因为Hello! + 3会把3当成字符串处理, // 而后再把4当成字符串处理 System.out.println("Hello!" + 3 + 4); } }
5 运行结果
3.5
7Hello!
Hello!34
二强制类型转换
1概念介绍
希望把上图的右边类型转化为左边类型,则必须进行强制的类型转换,强制类型转换格式是(targettype)value,类似把大瓶的水倒入小瓶,如果大瓶的水很多,将会引起溢出,从而造成数据丢失。这种转换也称为缩小转换。
2 代码示例
public class NarrowConversion { public static void main(String[] args) { int iValue = 233; // 强制把一个int类型的值转换为byte类型的值 byte bValue = (byte)iValue; // 将输出-23 System.out.println(bValue); double dValue = 3.98; // 强制把一个double类型的值转换为int int tol = (int)dValue; // 将输出3 System.out.println(tol); } }
3 运行结果
-23
3
4 模拟随机字符串示例
public class RandomStr { public static void main(String[] args) { // 定义一个空字符串 String result = ""; // 进行6次循环 for(int i = 0 ; i < 6 ; i ++) { // 生成一个97~122的int型的整数 int intVal = (int)(Math.random() * 26 + 97); // 将intValue强制转换为char后连接到result后面 result = result + (char)intVal; } // 输出随机字符串 System.out.println(result); } }
5运行结果
rxyelm
三 表达式自动提升
1 自动提升概念
当一个算术表达式包含多个基本类型的值时,整个算术表达式的数据类型将会自动提升,提升规则如下
所有byte类型,short类型和char类型将被提升到int类型
整个算术表达式类型自动提升到与表达式中最高等级操作数同样类型
2 代码示例
public class AutoPromote { public static void main(String[] args) { // 定义一个short类型变量 short sValue = 5; // 下面代码将出错:表达式中的sValue将自动提升到int类型, // 则右边的表达式类型为int,将一个int类型赋给short类型的变量将发生错误。 // sValue = sValue - 2; byte b = 40; char c = 'a'; int i = 23; double d = .314; // 右边表达式中在最高等级操作数为d(double型) // 则右边表达式的类型为double型,故赋给一个double型变量 double result = b + c + i * d; // 将输出144.222 System.out.println(result); int val = 3; // 右边表达式中2个操作数都是int,故右边表达式的类型为int // 因此,虽然23/3不能除尽,依然得到一个int整数 int intResult = 23 / val; System.out.println(intResult); // 将输出7 // 输出字符串Hello!a7 System.out.println("Hello!" + 'a' + 7); // 输出字符串104Hello! System.out.println('a' + 7 + "Hello!"); } }
3 运行结果
144.222
7
Hello!a7
104Hello!
相关推荐
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
中文编码转换是编程中不可或缺的一部分,特别是在处理中文字符时。本文将深入探讨6种主要的中文编码:GB2312、Big5、GBK、Unicode(小端序)、Unicode(大端序)以及UTF-8,并阐述它们之间的30种转换路径。编码转换...
Java图形工具JFreeChart是Java开发中用于创建高质量图表的一款强大库,它为开发者提供了丰富的图形类型,包括折线图、柱状图、饼图、散点图等,适用于数据分析、报表生成、可视化应用等多种场景。JFreeChart以其灵活...
Java集合框架是Java编程中不可或缺的部分,它提供了一组数据结构和操作,使得开发者能够高效地存储和管理数据。在面试中,对于Java集合的理解和掌握是衡量一个开发者能力的重要指标。下面我们将深入探讨Java集合的...
首先,文档标题《一网打尽sap各类用户疑难杂症》暗示了文档的主旨,是为了解决在使用SAP系统时可能遇到的各类问题。SAP是全球领先的企业资源规划(ERP)软件供应商,其产品被广泛应用于企业资源管理、客户关系管理、...
·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的...
·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的...
·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的...
旋风转换器是文件格式转换工具,是专业智能的办公软件,支持上百种文件格式转换与操作,将你的办公需求一网打尽。能够转换多种格式互相转换,还能够进行图片压缩。 软件特色 支持pdf转word,pd
它可以高速转换任何视频格式、音频格式、DVD,输出100多种格式的音视频格式,RM、AVI、WMV、MP4、3GP、FLV、MP3等常见格式一网打尽。对于不常见的MTS、TOD、MOD、F4V、MKV、H.264等格式,艾奇全能视频转换器钻石版也...
Hibernate数据库集成项目(100积分):学习如何使用Hibernate框架与数据库进行集成,实现数据的持久化与操作,为您的项目提供可靠的数据支持。 微服务架构实践指南(120积分):了解微服务架构的概念、原理及实践...
【一网打尽绿色创新,数据大合集值得信赖】 附件为我国1990-2022绿色专利绿 色创新数据大合集,又称绿色专利(绿色创新)数据库。总计上百万个观测值,几十张数据 表格,一网打尽涉及绿色专利和绿色创新的所有数据。...
"一网打尽数据中台知识体系" 数据中台是一套可持续“让企业的数据用起来”的机制,是一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建的一套持续不断把数据变成...
·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的...