【Java学习Day10】类型转换
类型转换
由于Java是强类型语言,所以要进行某些运算的时候,需要用到类型转换
低------------------------------------------>高
byte-->short,char-->int-->long-->float-->double
这里的低和高是指数据类型的容量高低,即字节大小,且小数的优先级一定大于整数
运算中,不同类型的数据先转换为同一类型,然后再进行运算
强制类型转换条件
- 从高容量的数据类型转换到低容量的数据类型
- 特殊的强制类型转换:byte-->char short-->char char-->short
- 公式:(类型)变量名
自动类型转换条件
- 从低容量的数据类型转换到高容量的数据类型(byte-->char除外)
- 可以自动转换,无需公式
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,需要强制转换
- 转换的时候可能存在内存溢出或精度丢失的问题
操作比较大的数的时候,注意溢出问题
public class Demo04 {
public static void main(String[] args) {
int money=10_0000_0000//JDK7的新特性:数字之间可以用下划线分割
int years=20;
int total1=money*years;//-1474836480,计算的时候出现了内存溢出的问题
long total2=money*years;//默认是int,转换之前就已经存在问题了
long total3=((long)money)*years;//先把一个数转换为long,可计算的范围便从int的范围扩大到了long的范围
long total4=money*((long)years); System.out.println(total1);
System.out.println(total2);
System.out.println(total3);
System.out.println(total4);
}
}
【Java学习Day10】类型转换的更多相关文章
- Java学习day10
在类内定义的类就称为内部类.内部类可以访问外部类的所有成员,外部类要访问内部类,必须先建立对象 内部类分为成员内部类和局部内部类 外界创建public修饰的成员内部类对象的格式:外部类名.内部类名 对 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- java学习路线(好资源大家分享)
对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- Java 学习路线以及各阶段学习书籍,博文,视频的分享
感谢: 感谢每一个打开这篇文章的人,听我在这里瞎扯!至于我为什么会有闲情写这篇文章呢?因为我每天想的是为什么要给我这样的需求,背后的人性是什么,我能再做些什么能让他更好.久而久之,我也稍微有了些自己的 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
- Java学习:注解,反射,动态编译
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解 什么是注解 ? Annotat ...
- 20165312 C语言基础调查和JAVA学习展望
C语言基础调查和JAVA学习展望 一.有关学习技能的经历 掌握一项技能,我认为最重要的是练习和认真程度. 我在上幼儿园的时候学过电子琴,上台表演过多次,但是三四年之后就半途而废了,后来小学毕业之后对钢 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
随机推荐
- Module理解及使用
ES6的模块化设计思想是静态化,也就是说,在编译的时候确定模块的依赖关系,以及输出输出入的变量.而CommonJS和AMD模块都是在运行时确定的.ES6的模块不是对象,而是通过export显示指定输出 ...
- 郁金香 中级班 1.c++的类和对象
#include<stdio.h> class 生物 { public: 生物() { printf("我是构造函数\n"); } int id1; int id2; ...
- 真·生产力「GitHub 热点速览」
这些工具真的能极大提高生产力,节约你的时间来自(摸)我(鱼)增(划)值(水).先别提 style2paints,你给它随意画个草图,就能给你一个能交付给甲方爸爸的成品插画.如果提升 30%-40% 传 ...
- 打印出来的数据{ob: observer}、vue 中 [__ob__: Observer]问题
问题效果: 理想效果: 解决方案:JSON.parse(JSON.stringify( ob )) 首先我们要把这个数据获取原始数据 JSON.stringify([data]) 变成字符串 然后 ...
- js中Math.floor、Math.ceil、Math.round和parseInt小数取整小结
虽然知道结果都可以返回一个整数,但是四者的区别尤其是关于-0.5的取整情况貌似还是需要注意一下一.Math.floor(向下取整) 作用:返回小于等于参数的最大整数. eg: Math.floor(5 ...
- class和struct区别
类(class) 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一个对象,当修改其中一个对象的值时,另一个对象的值会随之改变. 结构体(struct ...
- 狂神--Vue
概述 前端三要素 HTML(结构) :超文本标记语言(Hyper Text Markup Language) ,决定网页的结构和内容 CSS(表现) :层叠样式表(Cascading Style sh ...
- 对象可能是类数组对象 不具备数组的原型内的方法 所以可以用call或者apply把this指向改成数组或对象原型
const arr = [] 2Object.prototype.toString.call(arr) === '[object Array]' // true 3 4 const obj = {} ...
- 使用Mockito 对方法中的私有void方法
这里用一段代码举例 public void ruleJudgement(Long tenantId, Long productId, Long equipId, List<ModelAttrib ...
- springboot上传文件失败:The temporary upload location [/tmp/tomcat.7112002115745457830.8765/work/Tomcat/localhost/ROOT] is not valid
字面意思就是上传的临时目录不存在,问题就是linux系统会自动清理tmp目录下超过10天没有任何操作的目录或文件 解决办法 1.重启springboot服务,当然这只是暂时的,下次隔太久一样会失效 2 ...