[JAVA · 初级]:4.深入理解自增&自减运算

简介:
+关注继续查看

定义

自增,自减运算符: ++   --

                 它们是计算机专家自创的特有运算符。

                 ++ 有两种身份

                 a) 前加  ++a; 其规则是: a先增加,后使用。

                 b) 后加  a++; 其规则是: a先使用,后增加。

                 注意: 不论是前加 ++a;  还是后加 a++; 它们最终等价于  a = a + 1;

--有两种身份:

                 a) 前减 --a;  其规则是: a先减少,后使用。

                 b) 后减 a--;  其规则是: a先使用,后减少。

                 注意: 不论是前减 --a; 还是后减 a--; 它们最终等价于 a = a - 1;

深入理解

下面我们来围绕一个Demo来解释关于变量自身的自增和自减问题:

<span style="font-size:18px;"><span style="font-family:SimSun;font-size:18px;"><span style="font-size:18px;">public class AddItself{
      publicstatic void main(String[]args){
      inti = 0;
      intj;
      for(j= 0;j < 5;j++){
           i= i++;
      System.out.println("i= " + i); 
      }
    }
}</span></span></span>

在编译器上出了问题,java的编译器在遇到i++和i- -的时候会重新为变量运算分配一块内存空间,以存放原始的值,而在完成了赋值运算之后,将这块内存释放掉,下面首先看一下如果是j=i++的情况:


明白了上面的问题,让我们接下来看看i=i++的情况:


所以这样最后一次循环内的结果仍旧是i(即0):


学习小结

这种情况表明java的处理语法的机制不同,如果在程序中只输入i++就不会出现这个方面的问题,所以大家在以后的程序中如果使用到i=i++的时候要格外小心,一般只需要用i++就不会有问题了。

所以,关于的JAVA的学习必须不断地加强练习,尤其对于初学者来说,这段时间更是一个很好地提高期,借用极客快讯中一句劝谏的话:“不忘梦想和初心!”。







目录
相关文章
|
9月前
|
XML 缓存 安全
Java初级-Spring常见面试题总结
Java初级-Spring常见面试题总结
|
10月前
|
存储 Java 开发工具
JAVA初级学习笔记(韩顺平1-263)
JDK 的全称(Java Development Kit Java 开发工具包)
JAVA初级学习笔记(韩顺平1-263)
|
存储 Java 程序员
初级 Java 必须学会的 7 个知识点。。。
初级 Java 必须学会的 7 个知识点。。。
|
SQL 开发框架 缓存
Java 初级 面试前准备
Java 初级 面试前准备
86 0
|
Java 开发工具 git
Java开发初级6.24.3
5.在Git使用过程中,进行Git配置的操作命令是哪个() A. config B. config -g C. config -a D. git config 相关知识点: 在git中,经常使用git config 命令用来配置git的配置文件,git配置级别主要有:仓库级别 local 【优先级最高】、用户级别 global【优先级次之】、系统级别 system【优先级最低】 正确答案:D 10.RDBMS是什么? A. Rela Database Management Systems B. Relational Database Management Systems C. Relation
83 0
|
SQL 前端开发 JavaScript
Java开发初级6.24.2
3.Java网站src/main/java目录保存的是什么资源? A. Java源代码文件 B. 测试代码 C. JavaScript、CSS等文件 D. 图片资源 正确答案:A 4.什么是索引Index? A. SQL数据库里的表管理工具 B. SQL数据库里的查询工具 C. SQL数据库里的目录工具 D. SQL数据库用来加速数据查询的特殊的数据结构 正确答案:D
89 0
|
Java
Java开发初级6.24.1
1.下面关于泛型的描述中错误的一项是? A. “? extends 类”表示设置泛型上限 B. “? super 类”表示设置泛型下限 C. 利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容 D. 如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程序将无法编译通过 相关知识点: https://edu.aliyun.com/course/35 正确答案:D 2.下列选项中属于SVN中控制鉴权用户访问版本库的权限默认权限的是() A. write B. read C. none D. null 相关知识点: auth-access:取值范围为"writ
165 0
|
Java 开发工具 git
Java开发初级6.23.3
5.在Git使用过程中,进行Git配置的操作命令是哪个() A. config B. config -g C. config -a D. git config 相关知识点: 在git中,经常使用git config 命令用来配置git的配置文件,git配置级别主要有:仓库级别 local 【优先级最高】、用户级别 global【优先级次之】、系统级别 system【优先级最低】 正确答案:D 10.RDBMS是什么? A. Rela Database Management Systems B. Relational Database Management Systems C. Relation
82 0
|
SQL 前端开发 JavaScript
Java开发初级6.23.2
3.Java网站src/main/java目录保存的是什么资源? A. Java源代码文件 B. 测试代码 C. JavaScript、CSS等文件 D. 图片资源 正确答案:A 4.什么是索引Index? A. SQL数据库里的表管理工具 B. SQL数据库里的查询工具 C. SQL数据库里的目录工具 D. SQL数据库用来加速数据查询的特殊的数据结构 正确答案:D
157 0
|
Java
Java开发初级6.23.1
1.下面关于泛型的描述中错误的一项是? A. “? extends 类”表示设置泛型上限 B. “? super 类”表示设置泛型下限 C. 利用“?”通配符可以接收全部的泛型类型实例,但却不可修改泛型属性内容 D. 如果类在定义时使用了泛型,则在实例化类对象时需要设置相应的泛型类型,否则程序将无法编译通过 相关知识点: https://edu.aliyun.com/course/35 正确答案:D 2.下列选项中属于SVN中控制鉴权用户访问版本库的权限默认权限的是() A. write B. read C. none D. null 相关知识点: auth-access:取值范围为"writ
103 0
相关产品
云迁移中心
推荐文章
更多