类型转换

  1. 由于Java是强类型语言,所以要进行某些运算的时候,需要用到类型转换

    低------------------------------------------>高
    byte-->short,char-->int-->long-->float-->double
    这里的低和高是指数据类型的容量高低,即字节大小,且小数的优先级一定大于整数
  2. 运算中,不同类型的数据先转换为同一类型,然后再进行运算

  3. 强制类型转换条件

    • 从高容量的数据类型转换到低容量的数据类型
    • 特殊的强制类型转换:byte-->char short-->char char-->short
    • 公式:(类型)变量名
  4. 自动类型转换条件

    • 从低容量的数据类型转换到高容量的数据类型(byte-->char除外)
    • 可以自动转换,无需公式
  5. 注意点:

    • 不能对布尔值进行转换
    • 不能把对象类型转换为不相干的类型
    • 在把高容量转换到低容量的时候,需要强制转换
    • 转换的时候可能存在内存溢出或精度丢失的问题
  6. 操作比较大的数的时候,注意溢出问题

    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】类型转换的更多相关文章

  1. Java学习day10

    在类内定义的类就称为内部类.内部类可以访问外部类的所有成员,外部类要访问内部类,必须先建立对象 内部类分为成员内部类和局部内部类 外界创建public修饰的成员内部类对象的格式:外部类名.内部类名 对 ...

  2. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  3. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  4. java学习路线(好资源大家分享)

    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...

  5. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  6. Java 学习路线以及各阶段学习书籍,博文,视频的分享

    感谢: 感谢每一个打开这篇文章的人,听我在这里瞎扯!至于我为什么会有闲情写这篇文章呢?因为我每天想的是为什么要给我这样的需求,背后的人性是什么,我能再做些什么能让他更好.久而久之,我也稍微有了些自己的 ...

  7. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

  8. Java学习:注解,反射,动态编译

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解  什么是注解 ? Annotat ...

  9. 20165312 C语言基础调查和JAVA学习展望

    C语言基础调查和JAVA学习展望 一.有关学习技能的经历 掌握一项技能,我认为最重要的是练习和认真程度. 我在上幼儿园的时候学过电子琴,上台表演过多次,但是三四年之后就半途而废了,后来小学毕业之后对钢 ...

  10. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

随机推荐

  1. javaEE(单元测试、反射、动态代理、xml)

    单元测试 最小的功能单元编写测试代码,java针对方法,检查方法的正确性 JUnit单元测试框架 @Test注解 public class A { @Test public void a(){ ... ...

  2. kali linux生成密码字典方法

    kali linux生成密码字典方法 所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码.这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间.当然,如 ...

  3. 微信小程序使用vant组件样式不生效的问题

    下面提供几个解决方案 方案一: 官方文档有说明,将 app.json 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖, ...

  4. 解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF

    这一章我们介绍固定prompt微调LM的相关模型,他们的特点都是针对不同的下游任务设计不同的prompt模板,在微调过程中固定模板对预训练模型进行微调.以下按时间顺序介绍,支持任意NLP任务的T5,针 ...

  5. 题解 [ZJOI2007]棋盘制作

    把悬线法这个坑填了,还是很简单的 qwq. 悬线法一般解决有一定约束条件的最大矩形问题.悬线的定义是从一个点一直往上走直到边界或者不符合条件结束. 炒个例子,在这题里面比如说有这样一个矩形 0 1 0 ...

  6. Linux 下的十一款一流备份实用工具

    转载:linux.中国 https://linux.cn/article-7183-1.html

  7. 爆肝200+小时,总结出的 Creator 3.x 入门修炼指南!全免费

    大家好,我是晓衡! 为了写这篇文章,给支持公众号的读者们一个交代,我准备了200+小时,公众号断更11天.我决定,不再选择逃避,不想再欺骗自己了. 2023新年开工,不到十天时间,接二连三有小伙伴找到 ...

  8. sqlserver 行转列 列转行

    行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...

  9. 滑动窗口模板 leetcode 209题

        """ 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, nums ...

  10. Ubuntu 安装 PHP

    Ubuntu版本:20.04.1 LTS PHP版本:8.2.3 下载地址: https://www.php.net/downloads 官方文档:https://www.php.net/manual ...