java基础05-类型转换

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

低 ---------------------------> 高

byte , short , char -> int -> long -> float -> double

注意:运算中,不同类型的数据先转化为同一类型,然后再进行运算。

强制类型转换

自动类型转换

public class demo03 {
public static void main(String[] args){
int i = 128;
byte b = (byte)i; //内存溢出
// 强制转换 (类型)变量名
System.out.println(i);
System.out.println(b);
// 自动转换 低--高
int a = 128;
double c = i;
System.out.println(a);
System.out.println(c);
/* 注意点:
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在溢出,或者精度问题!
* */
System.out.println("===================");
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45 System.out.println("===================");
char e = 'a';
int d = e+1;
System.out.println(d); //98
System.out.println((char)d); //b
}
}
public class demo04 {
public static void main(String[] args){
// 操作比较大的数的时候,注意溢出问题
// JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;
long total2 = money*years;
System.out.println(total); //-1474836480,计算的时候溢出了
System.out.println(total2); //-1474836480,默认是int,转换之前已经存在问题了 long total3 = money*((long)years); //先把一个数转换为Long
System.out.println(total3); //20000000000
// L
}
}

java基础05-类型转换的更多相关文章

  1. Java基础之类型转换总结篇

    Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用.    ...

  2. Java基础-数据类型转换

     1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时.  自动转换 当一个较"小"数据与一个较"大"的数据一起运算 ...

  3. Java基础12 类型转换与多态

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/01/2992662.html 作者:Vamei 出处:http://www.cnblogs.com ...

  4. java基础-- 之类型转换 和 一些运算符

    ---   首先   看一个 Scanner  类 import java.util.Scanner; public class TestScanner { public static void ma ...

  5. java基础05 选择结构

    选择结构 public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 5 ...

  6. Java基础12 类型转换与多态(转载)

    类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见过对象数据.类数据.方法参数.方法返回值以及方法内部的自动变量,它们都需要声明其类型.Java是 ...

  7. java基础之 类型转换

    一.自动类型转换 1.java中不同类型的数据在计算时,为保证数据的精度,数据的类型会以大容量的类型为主: 2.自动类型转换的排序: char.byte.short -> int -> l ...

  8. Java基础-基本数据类型转换案例

    java基本数据类型八中 byte = Byte short = Short char = Character int = Integer long = Long float = Float doub ...

  9. Java基础05 实施接口

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在封装与接口中,private关键字封装了对象的内部成员.经过封装,产品隐藏了内部 ...

  10. java基础05 集合

    一.集合的由来? 我们学习Java,可以操作很多对象 ,存储 的容器有数组和StringBuffer,StringBuilder; 而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们 ...

随机推荐

  1. [BUUCTF]PWN——jarvisoj_level3

    jarvisoj_level3 附件 步骤 例行检查,32位,nx保护 运行一下程序 32位ida载入,shift+f12没有看到程序里有可以直接利用的后面函数,根据运行时的字符串找到了程序的关键函数 ...

  2. PMP过程组与知识领域

    过程组知识领域 启动 规划 执行 监控 结尾 整合管理 制定项目章程 制定项目计划 指导与管理项目工作 监控项目工作 结束项目过程或阶段 项目管理知识 实施整体变更控制 范围管理 规划范围管理 确认范 ...

  3. 报表(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 好吧,今天这一篇,偷懒放水,不就是[报表]嘛,想看的话一个一个功能按钮点出来看就知道是咋肥四了,我就不一一截图了哈. 嗯, ...

  4. 30个类手写Spring核心原理之动态数据源切换(8)

    本文节选自<Spring 5核心原理> 阅读本文之前,请先阅读以下内容: 30个类手写Spring核心原理之自定义ORM(上)(6) 30个类手写Spring核心原理之自定义ORM(下)( ...

  5. CF1076B Divisor Subtraction 题解

    Content 给定一个数 \(n\),执行如下操作: 如果 \(n=0\) 结束操作. 找到 \(n\) 的最小质因子 \(d\). \(n\leftarrow n-d\) 并跳到操作 \(1\). ...

  6. 后端调用WebApi

    using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.W ...

  7. HTTPS握手-混合加解密过程

    SSL协议通信过程 (1) 浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey).对称加密算法种类及其他相关信息返回客户端; (2) 客户端浏览器检查服务器传送到CA证书 ...

  8. JAVA使用多线程进行数据处理

    import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.Log ...

  9. vue-组件化编程

    1.传统编写方式和组件编写方式的区别 组件方式编写可以很方便的复用和封装某些功能模块/组件的命名最好语义化,方便维护和阅读 编写时,我们可以将某些共用的功能或者样式部分抽象,得到对应的组件,按需要引入 ...

  10. 【LeetCode】678. Valid Parenthesis String 解题报告(Python)

    [LeetCode]678. Valid Parenthesis String 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人 ...