Java修炼之凡界篇 筑基期 第02卷 语法 第04话 类型转换
类型转换
- Java是强类型语言,在进行有些运算时,需要用到类型转换
低----------------------->--------------------------->高
byte, short, char --> int --> long --> float --> double
- 运算中,不同类型的数据先转化为同一类型,再进行运算
- 高容量转换为低容量需要进行强制转换,低容量转换高容量自动转换
- 数据类型转换时,有一些特殊的类型会出现精度丢失或内存溢出问题
public static void main(String[] args) {int i = 128;byte j = (byte) i;// 强制转换 (类型)变量名 高-->低// 自动转换 低-->高System.out.println(i); // 输出值128System.out.println(j); // 输出值-128,Byte 最大值为127,强制转换时,会报内存溢出/** 注意点:* 1.不能对布尔类型进行转换* 2.不能把对象类型转换为不相干的类型* 3.在把高容量转换到低容量的时候,强制转换* 4.转换的时候可能存在内存溢出或者精度问题*/// 精度丢失System.out.println((int) 23.7); // 输出值23System.out.println((int) -45.89f); // 输出值-45// 字符与整型之间的转换char c = 'a';int d = c + 1;System.out.println(d); // 输出值98System.out.println((char) d); // 输出值b// 操作比较大的数据时,注意溢出问题// JDK7新特性可以在整型中增加下划线分割,为了方便对长数字的可读性// 可以书写为10_0000_0000,且不影响输出int money = 10_0000_0000;int years = 20;int totalMoney = money * years;System.out.println(totalMoney); // 输出值-1474836480,计算时溢出// 正确写法// 因为计算数据超出了整型的数值范围导致内存溢出// 针对这种情况需要将其中一个数值强转为long,这样其结果会自动转换为long类型long lTotalMoney = money * ((long) years);System.out.println(lTotalMoney); // 输出值20000000000
}
Java修炼之凡界篇 筑基期 第02卷 语法 第04话 类型转换相关推荐
- Java修炼之凡界篇 筑基期 第02卷 语法 第06话 运算符
运算符 Java语言支持的运算符: 算术运算符:+, -, *, /, %, ++, – 赋值运算符:= 关系运算符:>, <, >=, <=, ==, !=, instanc ...
- Java修炼之凡界篇 筑基期 第02卷 语法 第03话 数据类型
数据类型 PS:平常生活中,也会用到一些数据的类型,例如:数字.字符(文字).是.非,且数字分为整数和小数,在Java中也是和生活中一样,有属于自己的数据类型,Java种有八大基本数据类型和一些引用类 ...
- Java修炼之凡界篇 筑基期 第02卷 语法 第01话 注释
注释 平时编写程序代码时,代码量在很少的时候,还能够记得和看懂自己写的程序,但是项目结构复杂并且时间长了之后,我们不一定会都记得,这个时候呢就需要用到程序的注释了 注释不会被程序所执行,是供编程的人员 ...
- Java修炼之凡界篇 筑基期 第01卷 入门 第04话 JDK JRE JVM
JDK JRE JVM JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK), 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里 ...
- Java修炼之凡界篇 筑基期 第02卷 语法 番外1 原码 反码 补码
原码 反码 补码 博客整理自 原码, 反码, 补码 详解 - ziqiu.zhang - 博客园 (cnblogs.com) 机器数与真值 在学习原码.反码和补码之前,需要先了解什么是机器数,什么是真 ...
- Java修炼之凡界篇 筑基期 第05卷 数组 第04话 数组的使用
数组使用 程序案例: public class ArrayUse {public static void main(String[] args) {int[] arrayInt = {4, 7, 1, ...
- Java修炼之凡界篇 筑基期 第06卷 面向对象 第05话 static关键字
static 关键字 在<Java编程思想>有这样一段话: "static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建 ...
- Java修炼之凡界篇 筑基期 第05卷 数组 第03话 数组基本特点和边界
数组基本特点和边界 数组基本特点 数组长度是确定的,数组一旦被创建,其大小就是不可以在更改 数组元素必须是相同类型,不允许出现混合类型 数组元素可以是任何数据类型,包括基本类型和引用类型 数组变量属于 ...
- Java修炼之凡界篇 筑基期 第05卷 数组 第06话 Arrays 类
Arrays 类 数组工具类 java.util.Arrays 数组本身没有方法供开发人员进行调用,Java API 提供了一个工具类 Arrays 供开发人员进行使用,可以使用这个工具类对数据处理一 ...
最新文章
- 资源 | 10x Python开发者必读:本月Python文章TOP 10
- 展望2021年:智能机器人可监督工业机器人干活,效率提升30%
- Thrift介绍以及Java中使用Thrift实现RPC示例
- luogu P4238 多项式求逆 (模板题、FFT)
- Java基础系列8:Java的序列化与反序列化(修)
- linux人脸识别视频推流,RTMP推流协议视频智能分析/人脸识别/直播点播平台EasyDSS接口调用注意事项介绍...
- java类加public和不加public
- 春节快到了,来写个烟花动效吧
- java缓存技术redis原理_Java架构师-5分钟带你深入理解Redis的持久化方式及其原理...
- .net知识和学习方法系列(三)CSharp中控件台的输入输出
- oracle的.aud文件,Oracle 11g 在audit_file_dest目录下产生大量的aud文件
- 白话文阐述openTSDB
- Codeforces Round #439 (Div. 2)题解
- 超硬核 Web 前端学霸笔记,学完就去找工作!
- thinkpad x230 换三星 msata ssd 860 EVO
- JQuery中$.ajax()方法参数详解
- 物联网平台搭建的全过程介绍(一)——物联网简介
- python+selenium+request实行全自动12306抢票和购票
- ceph BALANCER
- 使用后羿采集器采集数据,并导出到MySql数据库中
热门文章
- android 基带版本怎么升级,Android如何升级5.1系统?安卓5.1刷机技巧
- 世平信息参与2020计世传媒优秀安全企业线上展示
- python图像拼接_python numpy 和 opencv 图像拼接
- 计算机编程中对象是什么意思,vb中“要求对象”是什么意思
- 一、Scrapy简介
- 政府招商引资合同履约怎么做好风险规避?
- kettle http 方式调用webservice
- php实现简单记事本功能
- u盘装系统找不到硬盘怎么办?会这三种技能就不发愁!
- Windows 安装Java (官网下载Java)