Java类型转换笔记
Java类型转换笔记
关于基本数据类型之间的互相转换:转换规则
1.八种基本数据类型当中除布尔类型之外剩下的7中类型之间都可以互相转换
2.小容量向大容量转换,称为自动类型转换,容量从小到大排序:
byte < short < int < long < float < double
char <
注:
任何浮点类型不管占用多少个字节,都比整数型容量大。
char和short可表示的种类数量相同,当时char可以取更大的正整数。【char和short的容量大小是同级的】3.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。
4.当整数字面值没有超过byte,short,char的取值范围,可以赋值给byte,short,char类型的变量
5.byte,short,char混合运算的时候,各自先转换成int类型再做运算。
6.多种数据类型混合运算,先转换成容量最大的那种类型再做运算。
注意通过:
byte b = 3;可以编译通过,3没有超过byte类型取值范围 int i=10;
byte b =i/3;编译报错,编译器只检查语法,不会运算i / 3。public class DataTypeTest08{public static void main(String[] args){double dd = 10 / 3;//int类型的10和3计算后的结果是int类型的3,然后再转换成double的3.0System.out.println(dd);System.out.println("---------------------------------------");dd = 10.0 / 3;//int类型的3先转换成double类型在计算,多种数据类型数据运算时,全部转换成大容量的类型在计算System.out.println(dd);// 编译报错,因为1000已经超出范围了。//byte b1 = 1000;// 可以byte b2 = 20;//20虽然是int类型,但是20没有超过byte的取值范围// 可以short s = 1000;//1000没有超过short的取值范围// 可以int c = 1000;//1000没有超过int的取值范围// 可以long d = c;//小容量转换成大容量,属于自动类型转换// 编译报错//int e = d;//d属于long类型,大容量转换成小容量,属于强制类型转换,需要强制类型转换符// 可以int f = 10 / 3;//int类型的10和3计算后的结果是int类型的3,然后再转换成double的3.0// 可以long g = 10;//int类型的10转换long类型的g,属于自动类型转换// 编译报错//int h = g / 3;//编译报错,编译器只检查语法,不会运算i / 3。// 可以long m = g / 3;//g属于long类型,int类型的3先转成long类型在计算// 编译报错//byte x = (byte)g / 3;//分子先把byte类型的g强转换为byte,然后整个运算式全转换为int在计算,得到int结果,还需要强制转换// 可以short y = (short)(g / 3);//先把(g/3)转换成long,然后再强转为short类型// 可以short i = 10;//10没有超过short类型的取值范围,可以直接赋值// 可以byte j = 5;//5没有超过byte类型的取值范围,可以直接赋值// 编译报错//short k = i + j;//先把i和j转换成int类型计算,得到int类型的结果,最后还需要进行强转// 可以int n = i + j;//int转int,无需操作// 可以char cc = 'a';System.out.println(cc); // aSystem.out.println((byte)cc); // 97运算式强转成byte// cc 会先自动转换成int类型,再做运算int o = cc + 100;System.out.println(o); // 197} }
Java类型转换笔记相关推荐
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- Java学习笔记二:数据类型
Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...
- Java开发笔记(三十三)字符包装类型
正如整型int有对应的包装整型Integer那样,字符型char也有对应的包装字符型Character.初始化字符包装变量也有三种方式,分别是:直接用等号赋值.调用包装类型的valueOf方法.使用关 ...
- 圣思园java.doc_北京圣思园java课堂笔记.doc
北京圣思园java课堂笔记.doc JAVASELesson11.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成对象(Object).对象又叫做实例(Instan ...
- Java基础笔记(4w字长文警告)
Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...
- Java学习笔记Day02
Java学习笔记Day02 一.细化Hello程序 1.详解代码 //公有的类,叫做Hello public class Hello{//主方法public static void main(Stri ...
- Java学习笔记之基础篇
Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...
- 郑志远的java学习笔记
郑志远的java学习笔记 郑志远 CCB 1 Java起源 略 2 Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
最新文章
- 【失败的尝试】C++中使用string进行switch判断
- Nagios+Cacti+Nconf配置
- Gradle of Android Example
- ASP.NET dropdownlist绑定数据却显示System.Data.DataRowView
- java经常会出现异常的是,“Java异常Exception”总结
- 第二节:如何正确使用WebApi和使用过程中的一些坑
- django-视图函数 00
- 从减少DNS查找来优化网站
- python中 if __name__ == ‘__main__‘
- 微课系列(8):Python中lambda表达式的变量作用域
- oracle离线文档查dbms_Oracle日志文件管理与查看
- MOS管防倒灌电路设计及其过程分析
- 【Ad Hoc】贰 AODV 协议详解
- ones,zeros,size用法总结
- DSN文件怎么用Proteus打开
- Python 五个知识点搞定作用域
- 向技术大牛进击!!——计算机编程进修动员大会
- FER基于卷积神经网络: 处理少量数据和训练样本订单FER with CNN:Coping with few data and the training sample order
- 瑞企体育系统源码,赛事直播系统,足球直播程序,体育赛事足球系统功能介绍
- 死囚试毒酒问题(改编)