java基础05-类型转换
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-类型转换的更多相关文章
- Java基础之类型转换总结篇
Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用. ...
- Java基础-数据类型转换
1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时. 自动转换 当一个较"小"数据与一个较"大"的数据一起运算 ...
- Java基础12 类型转换与多态
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/01/2992662.html 作者:Vamei 出处:http://www.cnblogs.com ...
- java基础-- 之类型转换 和 一些运算符
--- 首先 看一个 Scanner 类 import java.util.Scanner; public class TestScanner { public static void ma ...
- java基础05 选择结构
选择结构 public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 5 ...
- Java基础12 类型转换与多态(转载)
类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见过对象数据.类数据.方法参数.方法返回值以及方法内部的自动变量,它们都需要声明其类型.Java是 ...
- java基础之 类型转换
一.自动类型转换 1.java中不同类型的数据在计算时,为保证数据的精度,数据的类型会以大容量的类型为主: 2.自动类型转换的排序: char.byte.short -> int -> l ...
- Java基础-基本数据类型转换案例
java基本数据类型八中 byte = Byte short = Short char = Character int = Integer long = Long float = Float doub ...
- Java基础05 实施接口
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在封装与接口中,private关键字封装了对象的内部成员.经过封装,产品隐藏了内部 ...
- java基础05 集合
一.集合的由来? 我们学习Java,可以操作很多对象 ,存储 的容器有数组和StringBuffer,StringBuilder; 而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们 ...
随机推荐
- AtCoder Beginner Contest 172 题解
AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...
- CF1454B Unique Bid Auction 题解
Content 给定一个长度为 \(n\) 的数列 \(\{a_i\}_{i=1}^n\),请找出在数列中仅出现一次的最小的数的位置. 数据范围:\(t\) 组询问,\(1\leqslant t\le ...
- 痞子衡嵌入式:揭秘i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上安全调试策略实现对JLink调试的影响. 痞子衡之前写过一篇旧文 <i.MXRT600的ISP模式下用J-L ...
- 微信支付——沙箱调试环境getsignkey方法秘钥获取及常见问题说明
官方文档 :https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=23_1 微信支付PC二维码支付:https://www.cnblogs ...
- 【LeetCode】814. Binary Tree Pruning 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 后序遍历 日期 题目地址:https://leetc ...
- Codeforces 450E:Jzzhu and Apples(构造,数学)
E. Jzzhu and Apples time limit per test: 1 seconds memory limit per test: 256 megabytes input: stand ...
- 应用程序开发 WebApp NativeApp 微信小程序
Web Native App 微信小程序 WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能.webapp 框架是一种简单的与WSGI兼容的网络应用程序框 ...
- 「算法笔记」Polya 定理
一.前置概念 接下来的这些定义摘自 置换群 - OI Wiki. 1. 群 若集合 \(s\neq \varnothing\) 和 \(S\) 上的运算 \(\cdot\) 构成的代数结构 \((S, ...
- Azure Data Lake(一) 在NET Core 控制台中操作 Data Lake Storage
一,引言 Azure Data Lake Storage Gen2 是一组专用于大数据分析的功能,基于 Azure Blob Storage 构建的.Data Lake Storage Gen2 包含 ...
- <数据结构>拓扑排序
有向无环图 有向无环图(Directed Acycilc Graph, DAG):从任意顶点出发都无法回到自身的有向图. 拓扑排序 定义 任一两个顶点u,v间,如果存在边u->v,则排序后u一定 ...