java自增自减
原创
©著作权归作者所有:来自51CTO博客作者请叫我木丁西的原创作品,请联系作者获取转载授权,否则将追究法律责任
++ (自增) : 自增就是相当于操作数+1。比如a++;
前自增:++位于操作数的前面。 比如: ++a;
前自增:先自增,后使用。
后自增: 先使用,后自增。(这句话是错的,但是一般场合是适用的,真正的理解是要理解其在jvm中的运行机制)
(自减原理相同)
public class Test {
/**
* @author liuzhiyong
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
i = i++;
System.out.println("i = " + i ); //i=0
/*
* 如上结果分析如下:
i++后自增原理:
1. int temp = i; // 先声明了一个临时变量temp用于记录了i没有加1之前的值。 temp = 0
2. 再自增。 i = i+1; i = 1;
3. 把temp用作了表达式 的结果。
i的值发生了3次变化:
i = 0 ----->1---> 0
*/
int a = 0;
//int sum = ++a; //前自增。 a = a+1 , sum = a
int sum = a++; //后自增 sum = 0 , a = a+1
System.out.println("sum= "+ sum+ " a = "+ a); //sum=0 a=1
}
}
结果如下:
package com.cn.map;
import java.util.HashMap;
import java.util.Map;
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年7月18日09:23:01
* Desc:双列集合
* 在现实生活中有些数据是以映射关系存在的,也就是成对存在的。
*
* 双列集合:
* ----------------| Map 如果实现了Map接口的集合类。具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。
* ---------------------| HashMap
* ---------------------| TreeMap
* ---------------------| Hashtable
*
*/
public class Demo1 {
public static void main(String[] args) {
//对map的一些测试
HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
int count = 0;
hashMap.put("kk", count);
hashMap.put("hh", count++);
hashMap.put("gg", count+1);
System.out.println(hashMap);
}
}