数据类型转换必须满足如下规则:

  • 不能对boolean类型进行类型转换
  • 不能把对象类型转换成不相关类的对象  //那不同类的对象可以用同一个名字命名吗?根据作用域原则,可以吧?
  • 把容量大的转换为容量小的类型时必须使用强制类型转换  //怎么操作?
  • 转换过程中可能导致溢出或损失精度  //具体影响会是怎样的,尤其是金融行业?怎么处理?
  • 浮点数到整数的转换是通过舍弃小数得到,不是四舍五入

自动类型转换

转换前的数据类型的位数要低于转换后的数据类型。

 public class ZiDongLeiZhuan{
public static voi main (String [] args){
char c1="a"; //定义 一个char类型
int i1=c1; //char自动类型转换为int
Ssystem.out.println("char自动类型转换为int后的值等于"+i1);
char c2="A"; //定义一个char类型
int i2=c2+1; //char类型和int类型计算
System.out.println ("char类型和int计算后的值等于"+i2);
}
} // 运行结果: char自动类型转换为int后的值等于97
// char类型和int计算后的值等于66
//解析: c1的值为字符"a",查ascii码表可知对应的int类型值为97,"A"对应值为65, 所以i2=65+1=66.

强制类型转换

  • 条件是转换的数据类型必须是兼容的
  • 格式 :(type) value type是要强制类型转换后的数据类型
 public class QiangZhiZhuanHuan{
public static void main (String [] args){
int i1=123;
byte b=(byte)i1; //强制类型转换为byte
System.out.println("int 强制类型转换为byte后的值等于"+b);
}
} //运行结果: int强制类型转换为byte后的值等于123

隐含强制类型转换

  • 整数的默认类型是int
  • 浮点型不存在这种情况,因为在定义float类型时必须在数字后面跟上F或者f

还是不明白什么是自动类型转换,什么是强制类型转换。 特定类型之间的转换是自动的,另一部分之间转换是强制的?

Java 读书笔记 (五) 目标数据类型转换的更多相关文章

  1. think in java 读书笔记 2 —— 套接字

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 套接字基本知识 2 ...

  2. head first java读书笔记

    head first java读书笔记 1. 基本信息 页数:689 阅读起止日期:20170104-20170215 2. 标签 Java入门 3. 价值 8分 4. 主题 使用面向对象的思路介绍J ...

  3. think in java 读书笔记 3 —— 数据报

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 数据报基本知识 2 ...

  4. think in java 读书笔记 1 ——移位

    目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 在Think in Java中 ...

  5. Thinking In Java读书笔记--对象导论

    Thinking In Java读书笔记--对象导论[对象]服务提供者==>将对象看做一个服务提供者[程序员分类][类创造者]/[客户端程序员] [访问控制存在的原因?][1]客户端程序员无法触 ...

  6. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例

    019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...

  7. 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念

    018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...

  8. Java读书笔记1

    Java逍遥游记读书笔记 前言 必须先来一句,这是入门级别,高手勿喷~ 写Android的时候总有一些语句不是很理解,其实大部分是Java的内容,所以想系统的学下Java. 这本书——<Java ...

  9. Core Java 学习笔记——2.基本数据类型&类型转换

    数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...

随机推荐

  1. Http的定义及其基本概念介绍

    HTTP的特性 HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文 请求报文 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST ...

  2. .Net中的并行编程-7.基于BlockingCollection实现高性能异步队列

    三年前写过基于ConcurrentQueue的异步队列,今天在整理代码的时候发现当时另外一种实现方式-使用BlockingCollection实现,这种方式目前依然在实际项目中使用.关于Blockin ...

  3. Dubbo性能调优参数及原理

    本文是针对 Dubbo 协议调用的调优指导,详细说明常用调优参数的作用域及源码. Dubbo调用模型 常用性能调优参数 参数名 作用范围 默认值 说明 备注 threads provider 200 ...

  4. PuTTY的下载安装和基本使用方法教程

    PuTTY是一款开源(Open Source Software)的连接软件,主要由Simon Tatham维护,使用MIT许可证授权.包含的组件有:PuTTY, PuTTYgen,PSFTP, PuT ...

  5. Populating Next Right Pointers in Each Node(I and II)

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  6. 2T以上的盘怎么分区, 利用parted创建 linuxTB硬盘GPT分区

    parted创建GPT分区(fdisk不支持创建GPT分区,GPT支持大于2TB分区,MBR不支持) 介绍2种分区表: MBR分区表:(MBR含义:主引导记录) 所支持的最大卷:2T (T; tera ...

  7. Hibernate中配置文件的学习

    首先我们看一下hibernate的主配置文件 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Conf ...

  8. 浅谈这个时代的SEO与网络营销

    1.大网站对分享内容的审核越来越严,高质量借道外链越来越难做. 2.大搜索引擎入口的权威性将会不断受各种方面的的削弱:比如自媒体.垂直服务网站等 3.旧路还没有短,但是新路要积极挖掘. 这也说的太少了 ...

  9. 干货!从Tomcat执行流程了解jsp是如何被解析的,错误提示是哪里生成的。

    一.关于Tomcat组成          先上张图: Tomcat组成: 1. Server:代表整个 servlet 容器,如Tomcat,JBoss之类的. 2. Service:它由一个或者多 ...

  10. Flask第三方工具组件介绍

    flask-wtf组件flask-login组件flask-session组件flask-sqlalchemy组件flask-script组件flask-cache组件flask-assets组件fl ...