疯狂java讲义学习数据类型问题及心得

原创 2016年07月08日 09:16:19

第一部分:类型转换

1.自动类型转换

   如果系统支持把某种基本类型的值直接赋给另一个基本类型的变量,则这种方式被称为自动类型转换。当把一个范围小的数值或者变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换。

   例  :    int a=6;

              float f=a;

          System.out.println(f);

上述代码中int类型转换为了float类型,故输出的应是6.0;

而以下代码:  

byte b=9;

char c=b;

double d=b;

System.out.println(d);

将会报错,错误解释为byte类型不能转换为char类型。(问题)

     当把任何基本类型的值和字符串进行连接运算时,基本类型 的值将自动类型转换为字符串类型,虽然字符串类型不是基本类型,而是引用类型。因此,如果希望把基本类型的值转换为对应的字符串时,可以把基本类型的值和一个空字符串进行连接。

应当注意的是,自动类型转换时表数范围小的可以向表数范围大的进行,就如同两瓶水,把小瓶里的水倒入大瓶中不会有任何问题。(自动类型转换图)


2、强制类型转换


由上结合名称可知,就是类似于将大瓶子里的水倒入一个小瓶子里,如果大瓶子里的水不多还好,如果太多,将会引起数据溢出,从而造成数据丢失。


java7中新增的二进制整数

 所有数字在计算机底层都是以二进制的形式存在的,原码是直接将一个数值换算成二进制数。但计算机以补码的形式保存所有的整数。补码的计算规则是:正数的补码和原码完全相同,负数的补码是其反码加1;反码是对原码按位取反,只是最高位(符号位)保持不变。值得注意的是最高位是符号位当其为1时表明他是一个负数 ,负数在计算机里是以补码的形式存在的,因此在计算时需要换算成原码。



浮点型 :java的浮点类型有两种:float 和double,但默认类型是double,如果希望java把一个数当成float类型处理应该在这个浮点类型值后加上f或者F。


除此之外java还提供了3个特殊的浮点值:正无穷大、负无穷大和非数,用于表示溢出或者出错。例如 使用一个正数(浮点型后同,整数值会报错)除以0会得到正无穷大,负则同理。0.0除以0.0得到NaN。


版权声明:本文为博主原创文章,未经博主允许不得转载。

《疯狂Java讲义》学习启动篇——向着更好的自己出发

《疯狂Java讲义》学习启动篇——向着更好的自己出发 先说一说题外话,毕业到现在已经近半年了,这半年来,先是辞去了深圳不喜欢做的PB开发,接着到广州XX培训机构进行了为期4个月的Android培...
  • lidongjiayou
  • lidongjiayou
  • 2015年11月21日 11:07
  • 619

学完分享:李刚《疯狂JAVA讲义》学习笔记思维导图版

李刚老师的《疯狂JAVA讲义》厚达800多页,如果不做任何笔记并将知识体系化,很难将里面的知识内化成自己的东西。我在三个月的学习过程中,不但认真完成里面的实验,而且细心梳理了知识结构,并通过思维导图软...
  • midong2000
  • midong2000
  • 2013年12月28日 15:58
  • 3102

《疯狂Java讲义》学习笔记

教材《疯狂java讲义》14.10.30更新:前4章; 14.11.05更新:第5章、第6章; 14.11.21更新:第7章、第8章; 14.12.01更新:第8章1-3节; ...
  • chnqutan
  • chnqutan
  • 2014年10月30日 16:18
  • 1224

《疯狂Android讲义》学习笔记一

接触Android一年了,自学了不久就到公司里实习了,在公司的项目毕竟还是模块级的,很多Android基础知识平常接触不到。最近想想通过读一些书,如《疯狂Android讲义》、《Android群英传》...
  • BatmanBruceWayne
  • BatmanBruceWayne
  • 2015年11月25日 13:13
  • 1862

《疯狂Java讲义》第1章——Java语言概述与开发环境

本章是本书开篇第一章,作者从Java语言和Java开发环境两个大方面展开,其中Java语言从以下几个方面进行阐述: Java语言 发展简史 竞争对手 Java程序概述 程序运行机制 程序基本规则 ...
  • lidongjiayou
  • lidongjiayou
  • 2015年11月22日 11:49
  • 1093

java基础学习(5)疯狂java讲义第4章课后习题解答源码

1.下面是疯狂java讲义习题后的源码,欢迎大家前来更新 、协作,一起把这本书后的习题做完,github开源地址:https://github.com/wei0long/javaLearn,现在只更新...
  • yywan1314520
  • yywan1314520
  • 2016年07月20日 01:26
  • 1622

谁有疯狂java讲义源代码的发给我啊,谢谢

  • lxf544207706
  • lxf544207706
  • 2010年05月20日 09:08
  • 581

疯狂JAVA讲义笔记--第一章

1,java语言运行机制 java语言编写的程序需要经过编译生成一种与平台无关的字节码(*.class文件),然后在通过java解释器(java虚拟机JVM)来解释执行。因此,java语言即时编译型...
  • u012397939
  • u012397939
  • 2016年06月15日 09:59
  • 441

《疯狂Java讲义(第3版)》.(李刚)——注释

1、注释的必要性: 1)自己或他人重构系统时方便理清楚这段代码的流程和思路。 2)增加自己代码的可读性。 3)当代码出现错误时注释代码可逐渐排查错误,缩小错误范围(我自己更喜欢debug)。 ...
  • qq_32347977
  • qq_32347977
  • 2016年04月21日 11:08
  • 2004

《疯狂Java讲义(第3版)》.(李刚)——流程控制

1、流程控制1)顺序结构 没有任何流程控制,自上而下依次执行。 2)分支结构 [1]if条件语句 三种形式:if(条件){ //流程 }if(条件){ //流程 }else{ ...
  • qq_32347977
  • qq_32347977
  • 2016年04月22日 14:40
  • 1092
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:疯狂java讲义学习数据类型问题及心得
举报原因:
原因补充:

(最多只允许输入30个字)