java中数据类型转换、ASCII编码

数据类型转换:

JAVA语言中要求参与计算的数据类型要保持一致,如果不一致则会发生数据类型转换,数据类型转换可分为:自动类型转换(隐式转换)和强制类型转换(显式转换)。

自动类型转换:代码不需要特殊处理,自动转换;要求数据范围从小到大(数据范围小的可以向数据范围大的转换)。

/*注意:如果注释中含中文,那么在编译时会获取操作系统的编码格式gbk,此时会报错: 编码 GBK 的不可映射字符;其中一种解决方法是在编译时指明编码格式,加-encoding UTF-8字符,如:javac -encoding UTF-8 DataType.java
*/
public class DataType{public static void main(String[] args){// 1.整数默认是int类型:System.out.println(88);//88// 2.浮点数默认是double类型:System.out.println(5.21);//5.21// 3.int类型转long类型:long类型的变量在赋值时后面要加L,但是不加也会自动加上,不会报错,如:long num1 = 5L;System.out.println(num1);//5long num2 = 5;System.out.println(num2);//5// 4.float类型可以自动转double类型,但是double类型不能被自动转换为float类型:double num3 = 5.2F;System.out.println(num3);//5.199999809265137// 5.当取值范围大的数据类型向取值范围小的数据类型自动转换时,会报错:float num4 = 5.2;System.out.println(num4);//报错:不兼容的类型: 从double转换到float可能会有损失}
}

强制类型转换:自动转换只能对取值范围小的向取值范围大的数据类型转换,若想要取值范围大的向取值范围小的数据类型转换,此时就需要强制转换对代码进行格式处理,其格式:取值小范围数据类型关键字 变量名 = (取值范围小的数据类型关键字)取值范围大的数据

数据溢出:当取值范围大的数据的值本身不是很大或很小时,可以正常转换且值不变,但是当值本身特别大或特别小时,此时会发生数据溢出,即数据增大或减小到某类型的取值范围内。

精度损失:当浮点型向整型转换时,会自动丢弃小数部分,并非四舍五入。

public class DataType2 {public static void main(String[] args){// 1.整数型默认数据类型为int:int num1 = 8;System.out.println(num1);//8// 2.long数据类型的取值范围比int数据类型的取值范围大,取值范围大的向取值范围小的自动转换时会报错,此时可以强制转换:// int num2 = 6L;// System.out.println(num2);//错误: 不兼容的类型: 从long转换到int可能会有损失// 3.强制类型转换:格式:小范围数据类型关键字  变量名  =  (小范围数据类型关键字) 取值范围大的数据int num3 = (int) 6L;System.out.println(num3);//6// 4.数据溢出:当转换后的值不在某个数据取值范围内时,会发生数据溢出(可理解为装不下)。int num4 = (int) 8888888888L;System.out.println(num4);//298954296// 5.精度损失:小数转整数时,小数部分会舍弃,并非四舍五入,只留下整数部分:int num5 = (int) 5.20;System.out.println(num5);//5// 6.byte、char、short三类型可以发生数学运算,在运算前首先会提升为int类型后在参与计算,如:char str = 'f';System.out.println(str + 1);//103,数据在计算机中是二进制储存的,二进制本身就是数字形式,// 7.BOOlean类型不能发生数据类型转换:boolean flag = false;int num6 = (int) flag;System.out.println(flag);//错误: 不兼容的类型: boolean无法转换为int}
}

ASCII编码表:

在计算机的内部都是二进制的0、1数据,为让计算机可以直接识别人类文字,于是产生了编码表的概念。

ASCII全称American Standard Code for Information Interchange ,意为:美国标准信息交换码,它只包含了美国语言中所对应的将所有的英文字母,数字,符号都和十进制数字进行了一一对应的关系,它属于Unicode(万国表)中的一部分。
在这里插入图片描述

public class Ascii {public static void main(String[] args){// char类型数据可以发生数学运算,运算时先提升为int类型,则可以推出a的ASCII编码:char a = 'a';System.out.println(a + 0);//97,a在计算机底层编码为:97}
}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

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

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

相关文章

pyecharts x轴字体大小调整_pyecharts 柱状图基础篇#学习笔记#

2020年初,很久没有用过pyecharts的我由于工作原因,安装了新版pyecharts之后,以前的pyecharts代码报错了。搜索之后才发现,我安装的是不兼容旧版本的新版。空闲的时间,把新版echart当作新的模块梳理了一下,整…

JAVA语言运算符(算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算)

运算符 JAVA语言中将运算符分为:算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符。 算数运算符:算数运算符是对数字进行一系列的加减乘除等的计算,常见的算数运算符如: public class Operation{public static vo…

真彩色图像数据量 计算_军职在线大学计算机基础(自主模式)

第一章单选题电子计算机的发展已经经过了4代,4代计算机的主要元器件分别是(b)a.电子管,晶体管,中小规模集成电路,激光器件b.电子管,晶体管,中小规模集成电路,大规模或超大规模集成电路 c.晶体管…

JAVA语言中流程控制(顺序结构、判断语句、循环语句)

流程控制: 程序在执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现想要的功能。java中流程控制有:顺…

java中JShell脚本工具、常量优化、集成开发环境IDEA

JShell脚本工具: jshell:直接在DOS命令行(黑窗口)键入main方法中的代码就可以快速看到运行的结果,无需编译再运行,并且省略了入口方法及定义类的过程,其使用方法: 1.打开黑窗口后键入&#xf…

python编写arcgis脚本教程_ArcGIS使用Python脚本工具

在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下: impo…

python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

在python语言中,除了常规变量之外,还有函数变量。把函数本身赋值给变量,这个变量为函数变量。工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件中,定义函数mul_data,传入两个参数param和exp2 …

C语言程序设计现代方法1,2,3章

1:浮点型(float)运算比int慢,并且可能存在舍入误差 如float存储0.1,以后使用可能会变成0.099999999987 2:宏定义只用大写,这是大多数C程序猿遵循的规范! C语言区分大小写&#xff0c…

初识java中数组、数组在内存中、越界异常、空指针异常

数组: 当存储多个数据时,此时可能会使用多个变量,这样不断声明变量会很麻烦,而这些变量都有相似的特性,因此我们可以将它们存放到一个容器中,统一处理。 容器:是将多个数据存储到一起&#xf…

异常处理python 空气质量问题_python的异常处理

异常处理什么是异常?首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在pyth…

cad小插件文字刷_文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件

文字狗最佳排版神器文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件1.85最新版 无需注册、无需其他费用、无广告。相信大家所需要提交的各种论文、报告等Word文档都对格式有着非常严格的要求,对标题、目录、正文都有不同的要求。尤其是对于公文,要…

Java中的对象、private关键字、this关键字、构造方法

面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。 …

2060显卡驱动最新版本_教程:怎么安装更新NVIDIAAMD显卡驱动?

PART-1:装驱动这么简单的事情真的需要写教程吗?我自己都理解不了我为什么要写这样一个教程,但是如你所见,他确实被我写出来了,而且对大部分人都挺有用。首先,使用鲁大师以及驱动精灵这类软件的同学自己喜欢就好&#x…

mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

原文链接:https://blog.csdn.net/hao_yunfeng/article/details/82392261Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案 一、主从数据库的区别 从数据库(Slave)是主数据库的备份,当主数据…

分形之万花筒

万花筒是一种光学玩具,只要往筒眼里一看,就会出现一朵美丽的“花”样。将它稍微转一下,又会出现另一种花的图案。不断地转,图案也在不断变化,所以叫“万花筒”。万花筒的图案是靠玻璃镜子反射而成的。它是由三面相交成…

mysql同步数据到另一张表_mysql:Otter跨机房数据同步(单向)

重要说明:需要同步的表必须要有主键 主键 主键otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案。Otter目前支持了什么1. 单向同步, mysql/oracle互相同步2. 双向同步&am…

04day1

无穷的数列 找规律 【问题描述】 有一个无穷序列如下: 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字。 【输入】 第一行一个正整数 N,表示询问次数;接下来的 N 行每行一个正整数 Ai,Ai 表示在序列中的位置。 …

【转】Eclipse+CDT+Gcc编译选项控制

原文地址:http://www.oschina.net/question/4873_19441 如果我们的程序调用动态链接库,当在cdt中运行的时候,可以通过run-->enviroment-->添加LD_LIBRARY_PATH 环境变量来设置查找动态链接库文件的路径。但是在运行的时候,程…

apt ubuntu 指定ipv4_macOS 下使用 Docker 搭建 ubuntu 环境

学习网络开发过程中不想“污染”macOS,考虑到之后部署网络应用主要是与linux打交道,所以安装了 ubuntu 虚拟机以满足短期的知识学习需求。十里安装了 ubuntu 虚拟机,一般就是在 mac 中 ssh 连接 ubuntu 虚拟机在终端下进行操作学习&#xff0…