Java学习笔记15——类型转换(基本数据类型)

Java语言,要求严格声明变量的类型。数据类型的转换是在所赋值的数据的数值类型和被变量的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。

在Java中,对于除了boolean类型以外的7种基本类型,在把某个类型的值直接赋给另外一种类型的变量时,这种方式成为基本类型的转换。

一般情况下,基本数据类型转化为自动类型转换(隐式转换)和强制类型转换(显示转换)两种。

1、自动类型转换

自动类型转化必须是在两个兼容的数据类型之间进行,并且必须是由低精度类型向高精度类型转换。整数类型、浮点型和字符型数据可以进行混合运算。在运算过程中,不同类型的数据会自动转换为同一类型,然后进行运算。

自动类型转换的规则:

(1)数值型之间的转换:byte-->short-->int-->long-->float-->double

(2)字符型转换为整形:char-->int

以上类型从左到右依次转换,最终转换为同一数据类型。

public class TestType {public static void main(String[] args) {int i = 20;float f = 12.5f;char c = 'A';System.out.println("i + f = " + (i + f));System.out.println("i + c = " + (i + c));Object type1 = i + f;Object type2 = i + c;System.out.println("(i + f)运算后的类型是: " + type1.getClass()); // 输出对象的类型System.out.println("(i + c)运算后的类型是: " + type2.getClass()); // 输出对象的类型}
}

上面代码中,声明了int类型i,float类型变量f,char类型变量a,并对它们初始化。对变量i和f进行加法运算,Java首先将int类型的变量i转化为float型,然后相加运算,把运算结果赋给变量type1;对变量i和c进行相加运算,将字符型先转换为整型,然后对i和c的值进行加法运算。

上面代码运算结果如下:

知识点:

Java中,char型即字符型,使用char关键字声明,它占用16位(2个字节)的内存空间,用来存储单个字符。char类型的范围是0~65536,没有负值。

在为char型的变量赋值时,可以使用单引号或者数字。char型使用两个字节的Unicode编码表示,Unicode定义了一个完全国际化的字符集,能够表示全部人类语言中的所有字符。

定义char型变量:

char c = 'A';

char c = 65;

上面两行代码是一样的,都是定义一个char型变量,并赋值。

在Java中,char常被当作整型类型,这意味着char和int、short、long以及byte属于同一分类。但是,由于char类型的主要用途是表示Unicode字符,因此,通常作为一个单独的分类。若想得到0~65536之间的数所代表的Unicode表中的相应位置上的字符,必须使用char型进行显式转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529402.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四川易点慧电子商务有限公司抖音小店安全正规

在如今网络购物日益普及的时代,消费者对于购物平台的选择越来越挑剔。四川易点慧电子商务有限公司抖音小店以其安全正规的经营模式,赢得了广大消费者的信赖和好评。本文将为您详细介绍四川易点慧电子商务有限公司抖音小店的优势和特点,让您在…

​​​​​​​ARCGIS API for Python进行城市区域提取

ArcGIS API for Python主要用于Web端的扩展和开发,提供简单易用、功能强大的Python库,以及大数据分析能力,可轻松实现实时数据、栅格数据、空间数据等多源数据的接入和GIS分析、可视化,同时提供对平台的空间数据管理和组织管理功能…

大语言模型系列-GPT-3.5(ChatGPT)

文章目录 前言一、GPT-3.5的创新点二、GPT-3.5的训练流程SFT数据集RM数据集PPO数据集 三、ChatGPT的诞生总结 前言 《Training language models to follow instructions with human feedback,2022》 前文提到了GPT-3的缺点,其中最大的问题是&#xff1…

爬虫入门到精通_框架篇16(Scrapy框架基本使用_名人名言的抓取

1 目标站点分析 抓取网站:http://quotes.toscrape.com/ 主要显示了一些名人名言,以及作者、标签等等信息: 点击next,page变为2: 2 流程框架 抓取第一页:请求第一页的URL并得到源代码,进行下…

在用Java写算法的时候如何加快读写速度

对于解决该方法我们一般如下操作,不需要知道为什么,有模板(个人观点) 使用BufferedReader代替Scanner:Scanner类在读取大量输入时性能较差,而BufferedReader具有更高的读取速度。可以使用BufferedReader的r…

《C缺陷和陷阱》-笔记(4)

目录 一、边界计算与不对称边界 1.栏杆错误 2.程序简化 3.编写程序 4.移动字符 5.打印元素 二、求值顺序 一、边界计算与不对称边界 在C语言中,这个数组的下标范围是从0到9。一个拥有10个元素的数组中,它的元素的下标范围是从0到n-1。 例如&…

Buran勒索病毒通过Microsoft Excel Web查询文件进行传播

Buran勒索病毒首次出现在2019年5月,是一款新型的基于RaaS模式进行传播的新型勒索病毒,在一个著名的俄罗斯论坛中进行销售,与其他基于RaaS勒索病毒(如GandCrab)获得30%-40%的收入不同,Buran勒索病毒的作者仅占感染产生的25%的收入,…

网红老阳分享的蓝海赚钱项目,这三个真香!

在互联网经济飞速发展的当下,寻找蓝海项目成为了许多创业者和投资者的首要任务。近期,知名网红老阳分享了一些他认为具有巨大潜力的蓝海项目,其中包括RPO人力资源、视频号带货和Temu跨境电商。下面我们将对这三个项目进行详细解析。 老阳分享…

Python从0到100(三):Python中的变量介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

MUMU模拟器12连logcat的方法

大家好,我是阿赵。   在开发手机游戏的时候,在真机上会出现各种问题,在查询问题的时候,安卓手机需要用adb连接来连接手机看logcat输出分析问题。但由于连接手机比较麻烦,所以我都习惯在电脑用安卓模拟器来测试。   …

代码随想录day17(3)二叉树:二叉树的中序遍历(leetcode94)

题目要求:实现二叉树的中序遍历。 思路:对于二叉树的中序遍历,通常可以使用递归算法与非递归(迭代)算法两种。 对于递归算法的处理与前序、后序基本相同,只是本次应先访问其左节点,然后进行pu…

Linux报错排查-CentOS/BigCloud_Enterprise_Linux系统yum安装kvm报错

Linux运维工具-ywtool 目录 一.系统环境二.问题描述三.问题解决四.其他命令 一.系统环境 系统版本:BigCloud_Enterprise_Linux 7.1 二.问题描述 通过yum安装kvm报错提示: /usr/bin/yum install -y qemu-kvm qemu-img libvirt libvirt-python virt-manager libvirt-client …