java中运算都是操作符号,那么整形默认为int,双精度默认为都double

整数

看案例:

无法编译通过:操作默认为int,接受结果为int,所以这个地方编译无法通过,所以需要强制类型转换

再看案例:

再看双精度:

这种是可以的,再看

这也是可以的,看结果:

精度损失。再看

结果:

再看多种案例:

看结果:

再看案例 :

看结果

那么会什么会出现这么多问题呢,原因

在数据结果,转为二进制的时候,比如0.3  转换为二进制如这么转换的

0.3*2->0.6->0.6*2>1.2   二进制为1

将小数点后面的0.2继续进行

0.2*2》0.4>0.8>1.6>二进制为1

再进行

0.6*2》1.2 二进制1 再进行

0.2 *2》0.4》0.8》1.6 如此循环下去,导致最后会进行精度损失,

所以如果项目中要有这样的,所以需要进行采用dicmal类型来操作精度。避免精度损失

| ^ & 运算解析:

看案例:

看结果:

这是为什么呢。

分析

第一个为或运算,第二个为与运算,第三个为亦或预算

3转化为二进制的  0000 0011

1转为二进制         0000 0001

或,只要其中一个为正确那么就正确,在进行运算的时候,只要其中一个为1,那么就为1

所以 1|3   结果为0000 0011  即结果为3

与 只要两个都正确,那么正确,在运算中只要两个相同就为1,另外为0

1&3  结果为0000 0001  所以结果为1

亦或 只要两个不同才正确,所以计算时候,只有两个不同才为1,另外为0

1^3  结果0000 0010 所以结果为2

位运算

看案例:

一个是左移,一个是右移

1 二进制 0000 0001   向右移 3位 所以 0000 0000 所以结果为0

左移 0000 1000 所以为 8

再看案例:

9的二进制为 0000 1001

左移移动 0100 1000 结果为2e6+2e3=64+8=72     计算规则是这样的,首先最后一个为2的0次方,那么第七位就为2的6次方,第四位就为2的3方法

右移 0000 0001 所以结果为1

随机推荐

  1. Asp.net WebApi的授权安全机制 Basic认证

    1:Home/index.cshtml下面的Html代码 <div> <input value="1点击先登陆" type="button" ...

  2. 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!

    本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...

  3. jwt token

    1 ,session 认证机制: ,用户登录,传递用户名和密码给客户端 ,服务器进行用户名和密码的校验,如果校验成功,将用户保存到session ,将sessionid通过cookie返回给客服端,客 ...

  4. vue之页面缓存问题(基于2.0)

    为什么会有这篇文章 在vue2.0中出现了列表页面是每次都重新加载数据,但是详情页面却只在第一次加载的时候调用数据,如果返回到列表再进入详情那么页面是不会重新渲染页面. 1 用vue-router 重 ...

  5. Unity调用Android相册

    最近有一个项目有这个需求,让用户上传自己的交易凭证的截图,之前因为对调Android原生的东西不太熟悉,就先放了一边 因为项目已经上线,只不过是该功能未开放而已,那么现在为什么要写这篇博客呢,是因为. ...

  6. Java对象的"后事处理"——垃圾回收(二)

    1 先谈Finalize() finalize()能做的所有工作,使用try-finally或者其他方式都可以做得更好.更及时,所以笔者建议大家完全可以忘掉Java语言中有这个方法的存在. ——< ...

  7. wpf使用技巧

    1.设置资源 <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries ...

  8. windows 利用环境变量%PATH%中目录可写提权

    使用PowerUp的时候有时候会有这种结果 [*] Checking %PATH% for potentially hijackable DLL locations... Permissions : ...

  9. C# WebApi 根据实体类检查传参或字典检查参数

    根据实体类或字典检查传参,是否缺少参数并返回缺少参数 值类型必须声明可空 /// <summary> /// 根据 Dictionary<string, string> 得到实 ...

  10. 2.基础:Vue组件的核心概念

    一.组件基础和注册 组件概念 组件系统是 Vue 的另一个重要概念,他的核心就是封装和复用. 细节 组件的name必须是全局唯一. 二.属性.事件和插槽 组件的三大核心概念:属性.事件和插槽. 属性, ...