Java——变量自增(++)自减(--)

//运算符在操作数之后,称为“后增量”。i变量自增,返回自增之前的值;//运算符在操作数之前,称为“前增量”。i变量自增,返回自增之后的值。//自减同理    public static void test1(int i) {
        int j = i++;
        System.out.println("j = i++; i="+i+"  j="+j);
    }
    public static void test2(int i) {
        int j = ++i;
        System.out.println("j = ++i; i="+i+"  j="+j);
    }
    public static void test3(int i) {
        int j = i--;
        System.out.println("j = i--; i="+i+"  j="+j);
    }
    public static void test4(int i) {
        int j = --i;
        System.out.println("j = --i; i="+i+"  j="+j);
    }
    public static void main(String[] args) {
        test1(2);
        test2(2);
        test3(2);
        test4(2);
    }

输出结果

j = i++; i=3  j=2
j = ++i; i=3  j=3
j = i--; i=1  j=2
j = --i; i=1  j=1

原文地址:https://www.cnblogs.com/it-mh/p/11766420.html

时间: 2024-10-31 21:15:43

Java——变量自增(++)自减(--)的相关文章

java中自增自减运算与c中自增自减的区别

今天看到java面试宝典里面有一道题目是这样的: 答案是0,我开始也有疑问,后来看到后面说到java的中间缓存变量,后来到网上查了查,终于理解了,是什么意思了.请看下面的代码和解释: package com.wj.demo; public class Test1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int j=0; for(int i=

Java后缀自增/自减表达式的返回值

Java后缀自增/自减表达式的返回值 今天看到一段代码,描述循环k次 while(k-- > 0){ //... } 直觉上认为是错的,k--后值变成了k-1,循环应该只能执行k-1次吧.实际这段代码是正确的.在Java8语言规范15.14.3中有以下描述: The value of the postfix decrement expression is the value of the variable before the new value is stored. 即后缀自减表达式的值为存储

C: printf参数执行顺序与前置后置自增自减的影响

起源: 今天在了解副作用side-effect的过程中,看到了下面的网页,把我带到了由printf引起的一系列问题,纠结了一整天,勉强弄懂. 第一个代码没什么好解释的.而第二个printf("return of swap is %d\tx=%d,y=%d\n",swap(&x,&y),x,y)居然是"return of swap is 1 x=1,y=0",输出的x和y的值并没有改变! 原因在于C语言函数参数的处理是从右到左的压栈顺序(这个我在看第一

java自增自减运算符

除了这+ - * / % 这5个算术运算符之外其实还有2种 ++ - - 这两个也可以属于算术运算符.他是自增自减运算的,例如:int i = 10; i++; i- - 或 ++i - -i但是这2个比较特殊,他有先运算和后运算一说.++ - -符号在后面的为后运算,++ - -符号在前面的为先运算例如:i++ i- - 这为后运算,++i - -i这为先运算. ++ - - 他是一个缩写的方式,融合了2句代码的缩写. 例如:int i = 100; int a = i; i = i+1; 意

PHP的自增自减操作

PHP的变量可以存放任意类型的值.对变量执行自增自减操作时,其值的类型范围广,不仅限于数值类型.Perl等弱类型的语言均有此特征.而Java等变量值严格区分类型的语言,此种操作则仅限于数值类型值. 当字符串中有数值的各进制标识符(0x.0b等).科学记数法的标识符(E)时,会有特例,需要加以注意. 递增/递减运算符不影响布尔值.递减NULL值也没有效果,但是递增NULL的结果是1.在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的. $a = TRUE;var_dump(

黑马程序员————C语言基础语法二(算数运算、赋值运算符、自增自减、sizeof、关系运算、逻辑运算、三目运算符、选择结构、循环结构)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 第一讲  算数运算 C语言一共有34种运算符,包括了常见的加减乘除运算 1.加法运算+ 除开能做加法运算,还能表示正号:+5.+90 2.减法运算- 除开能做减法运算,还能表示符号:-10.-29 3.乘法运算* 注意符号,不是x,而是* 4.除法运算/ 注意符号,不是÷,也不是\,而是/ 整数除于整数,还是整数.1/2的值是0,这个并不是二分之一 5.取余运算% 什么是取余:两个整数相除之后

[转]C语言中自增自减运算符教学探究-中国论文网

摘要:C语言教学中,自增自减运算符运用得非常广泛,且具有一定的使用技巧和难度.在诸多运算符中,自增自减运算符是学生最难理解和最易出错的运算符.对自增自减运算符的功能和具体应用进行探究,以期为提高C语言教学效果提供帮助.中国论文网 http://www.xzbu.com/8/view-3865031.htm 关键词:C语言:自增自减运算符:教学效果 中图分类号:G434文献标识码:A文章编号:1672-7800(2012)012-0188-02 0引言 C语言编程设计中,若合理使用自增自减运算符,

自增/自减运算符

因为做以下题有感...原来简单的自增运算符也有这么多猫腻 http://blog.csdn.net/zdarks/article/details/8767087 第五题  参考:c程序设计语言2.8章   Vs2015测试: a[6]={0};t=h=0; a[0]=a[0]++ 1 a[1]=++a[1] 1 a[2]=t++ 0 a[3]=++h 1 COUT<<a[4]++ 0 COUT<<++a[5] 1 自增自减只能作用于变量,不能作用于表达式 在不需要使用任何具体值且仅

【转】 C语言自增自减运算符深入剖析

转自:http://bbs.csdn.net/topics/330189207 C语言的自增++,自减--运算符对于初学者来说一直都是个难题,甚至很多老手也会产生困惑,最近我在网上看到一个问题:#include <stdio.h> void main()  /*主函数*/ { int a,b,c,d;  a=5; b=5;  c=(a++)+(a++)+(a++);  d=(++b)+(++b)+(++b);  printf("a=%d,b=%d,c=%d,d=%d\n",