数据类型那这边看似简单,花了我很长时间也就是才练到几成”功力“吧。还希望路过的大神在下面补充,菜鸟的我深受感谢!

首先看两个思考题

思考题1:请问下面这个有没有问题

double d = 12.345;
 //有问题!!!因为double是8位,float是4位。定义一个double类型数据给float会提示损失精度!

float f = d;



思考题2:看看下面两个定义有没有区别呢?

float f1 = (float)12.345;

float f2 = 12.345f;   
//f1其实是通过一个double类型转换过来的。而f2本身就是一个float类型。

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是编译失败的呢?为什么呢?

b = b1 + b2;是有问题的。

因为(变量相加,会首先看类型问题),最终把结果赋值的也会考虑类型问题,b1+b2先转为int类型,而赋值时给的是一个byte类型,会报错显示:损失精度问题。

然而常量相加,首先做加法,((然后看结果是否在赋值的数据类型范围内,如果不是,才报错))。.这里不超过byte(-128-127)的范围,所以没问题,不报错。

求输出结果:byte b = (byte) 130;

System.out.println(b);

分析;首先130超出了byte范围。

A:获取130这个数据的二进制。又知道计算机中数据的运算都是补码进行的。而要得到补码,首先要计算出数据的二进制。

00000000 00000000 00000000 10000010这是130的原码,也是反码,还是补码。

B:做截取操作,截成byte类型的了。

10000010
这个结果是补码。

C:已知补码求原码。(我们看到的是数据的原码形式)

符号位 数值位

补码: 1
0000010



反码: 1
0000001



原码: 1
1111110       输出结果-126

补充:”+“字符串拼接作用和加法运算容易混淆——

class DataTypeDemo8 {

public static void main(String[] args) {

//直接输出一个字符

System.out.println('a'); //a

//输出一个字符和一个整数做加法,先将字符型数据转换成int型数据,再做(加法运算)

System.out.println('a'+1); //98

}

}

class DataTypeDemo9 {

public static void main(String[] args) {

System.out.println("hello"+'a'+1); //helloa1

System.out.println('a'+1+"hello"); //字符类型先转换成整数类型98,98hello



System.out.println("5+5="+5+5); //5+5=55(注意这里)

System.out.println(5+5+"=5+5"); //10=5+5//注意在一个字符串的前面还是一个字符串的后面

System.out.println("hel"+"l"+"o");//做字符串链接作用

}

}应该可以这么记住:单引号引起来的是字符类型+int类型会发生转型;此时+号作用是数学运算。如果双引号引起来内容是字符串,+号作用是字符串拼接。

今天就到这里,谢谢前辈来评价,补充。谢谢!

java数据类型易错点简单总结,欢迎大神前辈补充!谢谢的更多相关文章

  1. Java字符串易错方法总结

    Java字符串易错方法总结 public String[] split(String regex) 和 public String[] split(String regex,int limit) li ...

  2. C#回调函数的简单讲解与应用例子(最简单讲解,大神绕道)

    本博客一直以来的宗旨就是:用最简单的方式讲清楚不复杂的问题. 因为本人也很菜所以也没法讲太复杂HHHHHH...... 所以如果哪天某个大神看到了觉得讲的有问题欢迎指出. 话不多说进入正题.. ——— ...

  3. java考试易错题大全

    常见的Java问题 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Ja ...

  4. java初级易错问题总结

    1.什么是变量?变量的定义格式?要使用变量需要注意什么?就是可变的量数据类型 变量名 = 数值;同一范围内不能重复定义不赋值不能使用 2.Java中的数据类型分几类?基本数据类型有哪些?两大类     ...

  5. java中易错点

    1.A instanceof  B{这是没有好好利用java多态的表现} java中的二元操作符,测试A对象是否是B类的实例: 返回值:boolean类型 2.“==”与 “equals”的区别: = ...

  6. java中易错点(二)

    java,exe是java虚拟机 javadoc.exe用来制作java文档 jdb.exe是java的调试器 javaprof,exe是剖析工具 解析一: sleep是线程类(Thread)的方法, ...

  7. java中易错点(一)

    由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/".如果想替换的只是&qu ...

  8. java基础易错点总结(一)

    子类继承父类表示子类比他的父类包含更多的信息和方法 子类调用重载的构造方法时会调用父类的构造方法,super();一般如果不写的话会隐式的调用,而且每次调用都在所有语句之前. 在函数中,使用父类的地方 ...

  9. Java正则表达式易错题

    以下代码将打印出 public static void main (String[] args) { String classFile = "com.jd.". replaceAl ...

随机推荐

  1. C语言如何在两个文件中访问同一个全局变量

    方法一: 不使用头文件. 1.c 中 int var; 2.c 中 extern int var; 方法二: 使用头文件. 1.c 中 int var; 不必添加#include "1.h& ...

  2. svn(subversion)代码版本管理在linux下的一些常见使用命令

    以下的操作都是默认你的服务器安装有svn的大前提下进行的. 一.创建版本库 我的版本库存放路径为: /var/svn : 下面我们来创建一个名为 svntet 的版本库    注释: svnadmin ...

  3. GC真正的垃圾:强、软、弱、和虚 对象

    垃圾回收的基本思想就是判断一个对象是否可触及性,说白了就是判断一个对象是否可以访问,如果对象对引用了,说明对象正在被使用,如果发现对象没有被引用,说明对象已经不再使用了,不再使用的对象可以被回收,但是 ...

  4. Windows平台下的多线程编程

    线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件.信号标识及动态分配的内存等.一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度 ...

  5. mac os X下的updatedb

    unix或linux下使用locate指令在其数据库中查询文件,使用updatedb可以 更新locate的数据库.而在mac os X下却找不到updated这个程序.使用 man locate查看 ...

  6. Android初级教程图片信息

    对图片常规信息要了解其性质.图片大小.像素.位图等等概念总结如下: 图片在计算机中的大小 图片的总大小 = 图片的总像素 * 每个像素占用的大小(图片的总像素=像素尺寸也就是分辨率,例如设定800*4 ...

  7. (NO.00004)iOS实现打砖块游戏(十三):伸缩自如,我是如意金箍棒(下)!

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 准备缩短反弹棒素材 和上一篇类似,我们如法炮制一张缩短后反弹棒的 ...

  8. Mybatis简单入门

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用 ...

  9. Redefine:Change in the Changing World

    EMC World 2014的主题就是REDEFINE.的确,现在科技的发展在重新定义了技术,影响了生活,改变了你我. 对于一个有数万员工,甚至数十万员工的企业来说,Redefine无疑更加具有挑战, ...

  10. Java进阶(六)Java反射机制可恶问题NoSuchFieldException

    作为一种重要特性,Java反射机制在很多地方会用到.在此做一小结,供朋友们参考. 首先从一个问题开始着手. 可恶的问题又来了,NoSuchFieldException,如下图所示: 完全不知道这个qu ...