在Java、c语言等高级语言中自增和自减的作用基本一致,都是变量自身加一或减一。下面我只对自增进行说明,自减是类似的。

自增运算符(++),有两种书写形式,一个是在变量前: ++ num;

另一种在变量后 num++;他们的作用是一样的,但是优先级有很大的差别。

注:优先级代表该运算符执行的顺序,优先级越高越先执行。百度百科优先级表如下:

代码演示:

public class Test {

public static void main(String[] args) {

int a = 1;

int b = 0;

b = a++;//等价于 b=a; a++;

System.out.println("a=" + a + ",b=" + b);

System.out.println("=====华丽的分割线=====");

a = 1;//重新赋值为1

b = 0;//重新赋值为0

b = ++a;//等价于 a++;b = a;

System.out.println("a=" + a + ",b=" + b);

}

}

输出结果:

a=2,b=1

=====华丽的分割线=====

a=2,b=2

前加加优先级高先运算,后加加优先级低后运算;在c语言中这里的运算方式也是相同的。

===========================================================

差异:

Java代码:

public class Test {

public static void main(String[] args) {

int a = 1;

a = a++;

System.out.println(a);//输出结果为1

  }

}

C语言代码:

#include<stdio.h>

void main() {

int a = 1;

a = a++;

printf("%d",a);//输出结果为2

}

===============================================================

结论:

在Java中我们可样解释,后加加运算a先自身加一,然后再将没有运算的值赋给a,最终结果a==1。

在c语言中是按照优先级来运算的,后加加优先级低,a先赋值给a自身,然后a再加加,最终结果a==2;

转载于:https://www.cnblogs.com/yxiaooutlook/p/7607071.html

Java 自增(++) 和 C语言中自增的区别相关推荐

  1. c语言中自增自减运算符,C语言中自增自减运算符的深入剖析

    C语言中自增自减运算符的深入剖析 李文广 李俊荣 赵妍 . (1.沧州职业技术学院,2沧州工贸学校) [摘要]本文从多方面对自增自减运算符分析.讲解,以便让初学者 能够清晰自增自减运算符的运算规律,学 ...

  2. C、C++、C#、Java、php、python语言的内在特性及区别

    C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...

  3. java的自增自减_Java中自增和自减操作符(++/--)的那些事

    自增(++)和自减(--)运算符 在JAVA语言中存在着很多运算符,但是在实际开发中我们或许很少用到它们,在初次学习中却时常出现它们的身影,对于这些运算符的含义和用法,是否还记得呢? 1. 概述 自增 ...

  4. c语言math未定义,C语言中自增自减表达式的未定义行为

    摘 要:自增自减运算符是C语言的一个特色,本文通过表达式中对一个变量进行多次自增或自减运算时产生的未定义行为进行了详细介绍,望帮助大家正确使用自增自减运算符. 关键词:C:自增自减运算符:未定义行为 ...

  5. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  6. mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天只做了一件事情,但解决了很大的问题.相信这也是令很多程序员和数据库管理员头疼的事情. 假设在一MySQL数据表中,自增的字段为id,唯一字段为abc, ...

  7. C语言两个自增相加,C语言前自增与后自增

    C语言前自增与后自增教程 在 前自减与后自减的区别是前自减是先自减后赋值,后自减是先赋值后自减. C语言前自增与后自增区别 语法 运算符 语法 例子 结果 后自增 a++ int a = 0; int ...

  8. java的char泛型_Java语言中的泛型

    一.泛型的概念及作用 1.泛型的概念 Java中的泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 这种参数类型可以用在类.接口和方法的创建中, ...

  9. java里程序控制流程_Java语言中的程序流程控制

    (1. 流程控制 有三种基本技术可以改变程序的控制流程: A.调用方法 :将导致控制流程离开当前方法,转移到被调用的方法. B.选择  :   a. if / else 语句 b. switch语句 ...

最新文章

  1. Struts2中通配符的使用
  2. 吊打一切的YOLOv4的tricks汇总!
  3. linux服务器配置php mysql,Linux系统如何安装配置Apache+PHP+MySQL服务器环境
  4. html form表单提交数据并后台获取
  5. 9000+ 字,彻底征服 Spring AOP ,美滋滋
  6. java开源框架有哪些_java web开发框架有哪些
  7. 血压测量:很重要的事情!
  8. C++ const 关键字小结
  9. mfc从文件中读取数据_Java中Transient关键字,一点课堂(多岸学院)
  10. P2P原理及UDP穿透简单说明
  11. 软件开发者最重要的四大技能
  12. 在线预览文档简单例子
  13. 6-2 函数式编程例一
  14. 麻省理工 城市规划 计算机,麻省理工学院建筑设计与城市规划科研
  15. 其他综合-fdisk一键分区操作-无需脚本
  16. iphone/ipad保存图片问题
  17. python 列表解析式
  18. 并不对劲的bzoj1095:p2056:[ZJOI2007]捉迷藏
  19. linux mdadm命令详解
  20. SWUST OJ492: 荷兰国旗问题

热门文章

  1. 学python爬虫需要什么基础-学习python爬虫需要具备的基本功
  2. python代码基础题-python第一部分基础题1-80题
  3. python恶搞表情包-用 Python 把你的朋友变成表情包
  4. python开发系统-python3+django2开发一个简单的人员管理系统
  5. python画柱状图代码-python plotly画柱状图代码实例
  6. python序列类型-什么是序列,Python序列详解(包括序列类型和常用操作)
  7. python自动测试p-python自动化测试报告(excel篇)
  8. python做啥用-python主要用于做什么
  9. python下载代码-python下载大文件代码
  10. python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例