1. package 习题1;
  2. /**
  3. * ++ -- 与 ^ 的一些计算
  4. * @author SeeClanUkyo
  5. *
  6. */
  7. public class Test4 {
  8.  
  9. public static void main(String[] args) {
  10. int i = 3;
  11. int b = (i++) + (--i) - (++i) + (i++);
  12. /**
  13. * 第一个i++为3时进行+计算,而后变为4, 第二个--i是将4递减到3, 第三个++i,3递增到了4, 第四个i++在4时进行计算,其后变为5.
  14. *
  15. * 所以3+3-4+4=6
  16. */
  17. System.out.println(b);
  18.  
  19. //////////////////////////////
  20.  
  21. int j = 6;
  22. int k = (j++) - (--i) + (i++) - (--j);
  23. /**
  24. * 第一个j为6时进行计算,其后变为7 第二个i在上面最后为5,这时--i变为4 第三个i++在4时进行计算,其后变为5 第四个--j,变为6
  25. *
  26. * 所以6-4+4-6=0
  27. */
  28. System.out.println(k);
  29.  
  30. //////////////////////////////
  31.  
  32. int q = 32;
  33. int p = 64;
  34. int result = --q + p++ - q + p++ + q-- - q;
  35. /**
  36. * 31+64(65)-31+65(66)+31(30)-30 31+64-31+65+31-30=130
  37. */
  38. System.out.println(result);
  39.  
  40. //////////////////////////////
  41.  
  42. int x = 6;
  43. int y = 9;
  44. x = x ^ y;
  45. y = x ^ y;
  46. x = y ^ x ^ x ^ y;
  47. /**
  48. * 先取得数值的二进制6[0110], 9[1001] <-简短先用4位
  49. *
  50. * x: 0110 1001 = 1111
  51. *
  52. * y: 1111 1001 = 0110
  53. *
  54. * x:
  55. * 0110
  56. * 1111 = 1001
  57. * 1111 ^ 1001 = 0110 ↓
  58. * 0110 ^ 0110 = 0000
  59. *
  60. * x:0
  61. */
  62. System.out.println(x);
  63. }
  64.  
  65. }

怕自己忘记,贴一下!

~~~~~~~~~~~~~~~

Java中++,--,前缀后缀表达值的不同,与^的值计算的更多相关文章

  1. Java中对象、对象引用、堆、栈、值传递以及引用传递的详解

    Java中对象.对象引用.堆.栈.值传递以及引用传递的详解 1.对象和对象引用的差别: (1).对象: 万物皆对象.对象是类的实例. 在Java中new是用来在堆上创建对象用的. 一个对象能够被多个引 ...

  2. 《Java中方法的参数传递方式只有一种:值传递》

    //方法的参数传递机制(1):基本类型做形参的传递. class PrimitiveTransferTest { public static void swap(int a,int b) { //下面 ...

  3. java中遍历实体类属性和类型,属性值

    public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...

  4. c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  5. Java中值传递和引用传递的区别

    在Java中参数的传递主要有两种:值传递和参数传递: 下面是对两种传递方式在内存上的分析: 一:值传递 解释:实参传递给形参的是值  形参和实参在内存上是两个独立的变量 对形参做任何修改不会影响实参 ...

  6. java中方法传入参数时:值传递还是址传递?

    JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型 ...

  7. Java中到底是值传递还是引用传递?

    Java中到底是值传递还是引用传递? 我们先回顾一下基本概念 实参和形参 参数在编程语言中是执行程序需要的数据,这个数据一般保存在变量中.在Java中定义一个方法时,可以定义一些参数, 举个例子: p ...

  8. Java中真的只有值传递么?

    Java中真的只有值传递么? (本文非引战或diss,只是说出自己的理解,欢迎摆正心态观看或探讨) 回顾值传递和引用传递 关于Java是值传递还是引用传递,网上有不一样的说法. 1.基本类型或基本类型 ...

  9. java中正则表达式基本用法

    正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...

随机推荐

  1. 网站/IIS/Web/WCF服务 访问共享目录 映射 的解决方案

    目录 问题案例 原因分析 解决问题 总结 问题案例 环境: 电脑A:winform程序: 电脑B:部署了一个文件上传的WCF服务在IIS上.且该服务的配置文件中已经增加 <identity im ...

  2. requests库的get请求,带有cookies

    (一)如何带cookies请求 方法一:headers中带cookies #coding:utf-8 import requests import re # 构建url url = 'http://w ...

  3. 1.cassandra的搭建

    参考: https://blog.csdn.net/ch648966459/article/details/51671276

  4. [py]py2自带Queue模块实现了3类队列

    py2自带Queue实现了3类队列 先搞清楚几个单词 Queue模块实现了三类队列: FIFO(First In First Out,先进先出,默认为该队列), 我们平时泛指的队列, LIFO(Las ...

  5. hiredis(Synchronous API)

    hiredis是一个小型的client端的c库.它只增加了最小对协议的支持,同时它用一个高级别的printf-alike API为了绑定各种redis命令.除了支持发送和接收命令,它还支持对流的解析. ...

  6. 深入理解python之二——python列表和元组

    从一开始学习python的时候,很多人就听到的是元组和列表差不多,区别就是元组不可以改变,列表可以改变. 从数据结构来说,这两者都应当属于数组,元组属于静态的数组,而列表属于动态数组.稍后再内存的分配 ...

  7. isKindOfClass isMemeberOfClass 的区分

    isKindOfClass If you use such constructs in your code, you might think it is alright to modify an ob ...

  8. matplotlib--画图时保存图片空白的问题

    问题: 当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白. import matplotlib.pyplot as plt ""&q ...

  9. Redis 十分钟快速入门

    本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...

  10. JQuery Form AjaxSubmit(options)在Asp.net中的应用注意事项

    所需引用的JS: 在http://www.malsup.com/jquery/form/#download 下载:http://malsup.github.com/jquery.form.js 在ht ...