JAVA学习笔记 自增与自减的使用-006

目录

1 基本概述

2 自增与自减的用法

2.1单独使用

2.2 参与运算

3 思考与练习

3.1 基础题

3.2 中等题

3.3 进阶题

4 总结


源计划:我从来不认为自己的成功过程有多心酸,只是心中不惧失败,能够承受别人不能接受的失望而已!

1 基本概述

     JAVA的自增(++)与自减(--)是用于对变量进行加1或减1操作的运算符。它们既可以用于前缀用法(++i),也可以用于后缀用法(i++),但是它们的用法有一些区别的。

2 自增与自减的用法

2.1单独使用

int i = 0;

i++;     //无论是i++或者是++i,只要是单独写一行,它们的结果都是加1,自减同理。

2.2 参与运算

自增与自减参与运算时,有先加后用与先用后加两种方式。

1)先加后用的情况

int i = 1;

int add = ++i + 3;   // 表达式的运算中,++在前,表示自身先加1,然后在参与计算,add的结果为5,i为2

 2)先用后加的情况

int i = 1;

int m = i-- +i;  //表达式运算中,--在后,表示在整个表达式运算过程中,变量1是不变的,结束运算后它才会自行减1,这里的运算结果为,m为2,i=0

3)代码示例

public class test001 {public static void main(String[] args) {int i = 1;int add = ++i + 3;System.out.println(add);System.out.println(i);int m = i-- + i;System.out.println(m);System.out.println(i);}
}

运行结果

3 思考与练习

3.1 基础题

1.预测以下代码的结果

int a = 100;

int b = a++;

System.out.println(a);   //结果为?

System.out.println(b);   //结果为?

2.预测以下代码的结果

int x = 100;

int y =  --x;

System.out.println(x);   //结果为?

System.out.println(y);   //结果为?

3.预测以下代码的结果

int m = 5;

m++;

++m;

System.out.printfln(m);   //?

3.2 中等题

4.预测以下代码的结果

int i = 100;

int j = i++ + ++i;

System.out.println(i); // ?

System.out.println(j); // ?

5.预测以下代码的结果

int p = 100;

int q = p-- - --p;

System.out.println(p); // ?

System.out.println(q); // ?

6.预测以下代码的结果

int a = 10;

int b = 20;

int c = a++ * ++b;

System.out.println(a); // ?

System.out.println(b); // ?

System.out.println(c); // ?

3.3 进阶题

7.预测以下代码的结果

int num = 6;

System.out.println(num++); // ?

System.out.println(++num); // ?

System.out.println(num--); // ?

System.out.println(--num); // ?

System.out.println(num); // ?

8.预测以下代码的结果

int x = 100;

x = x++ + ++x;

System.out.println(x); // ?

9.预测以下代码的结果

int a = 10;

int b = 20;

int c = a-- + --b + a++ + b--;

System.out.println(a); // ?

System.out.println(b); // ?

System.out.println(c); // ?

4 总结

     JAVA的自增与自减运算对于代码编写是十分重要的,应用较多,因此掌握它是必须的。它们单独使用时,要么放前面,要么放后面,只要在一行内,放前或放后是没有区别的。但是涉及到计算时,自增与自减运算符放变量前面表示先自增或自减操作,然后再进行后面的表达式运算;若运算符放变量后面表示先使用目前变量的数值来参与表达式运算,最后再进行变量的自增或自减操作。单独使用大家都很容易理解,但是参与计算时很多人会懵,这时就需要反复看笔记,哪一步没有懂的就去弄懂它,理解之后会发现其实也就那样。好了,我们在下一个章节再见,加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91988.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从LCM到SomeIP,再到DDS:技术演进与工作原理剖析

文章目录一、LCM:轻量级通信与编组库工作原理C 代码示例局限性二、SomeIP:面向服务的可扩展中间件工作原理C 代码示例优势与特点三、DDS:数据分发服务工作原理C 代码示例优势与应用场景四、技术演进总结在分布式系统通信领域,技术…

Redis里面什么是sdshdr,可以详细介绍一下吗?

文章目录为什么 Redis 不直接使用 C 语言的字符串?sdshdr 的结构sdshdr 的不同类型sdshdr 带来的优势总结我们来详细解析一下 Redis 的核心数据结构之一: sdshdr。sdshdr 是 “Simple Dynamic String header” 的缩写,意为“简单动态字符串头…

RocketMq如何保证消息的顺序性

文章目录1.顺序消息的全流程1.1 发送阶段:消息分区1.2.存储阶段:顺序写入1.3.消费阶段:串行消费2.第三把锁有什么用?3.顺序消费存在的问题和Kafka只支持同一个Partition内消息的顺序性一样,RocketMQ中也提供了基于队列(分区)的顺…

zabbix平台无法删除已停用主机的处理案例

在zabbix平台上删除已停用的主机,提示“SQL描述式执行已失败: "DELETE FROM items WHERE (itemid IN (.....)”,无法删除,本文为处理情况。一、问题现象在zabbix平台上删除已停用的主机,提示“SQL描述式执行已失败…

【计算机网络】6应用层

1.网络应用模型 特性 客户/服务器模型(Client-Server, C/S) 对等模型(Peer-to-Peer, P2P) 中心化 是(依赖服务器) 否(去中心化) 角色特点 服务器 客户机 无中心服务器 提供计算服务 请求计算服务 每个节点(Peer)既是客户机也是服务器 永久在线 间歇接入网络 节点间…

基于 Spring Boot + Vue 实现人脸采集功能全流程

一、技术栈与依赖引入 后端依赖 (pom.xml) <!-- 百度AI SDK --> <dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.19</version><exclusions><exclusion><grou…

《Python基础》第3期:使用PyCharm编写Hello World

我们写文档大多用 Word、写表格大多用 Excel、写幻灯片大多用 PPT。 写代码也需要一个软件作为编辑器&#xff08;传说的大神用记事本写代码纯属玩笑了&#xff0c;越是大神越追求效率&#xff0c;用的软件功能越强&#xff09;。 Python 现在已经有了非常多的代码编辑器&#…

我的第一个开源项目:排序算法的多种实现方式

以 排序算法 为例&#xff0c;展示如何在 Python 中进行不同实现方式的对比项目概述本项目旨在通过 Python 实现几种经典的排序算法&#xff0c;并通过性能对比、代码注释和优化手段&#xff0c;为开源社区提供参考。选择排序、冒泡排序、快速排序和归并排序作为主要算法&#…

5G-LEO - 用于 5g satellite 链接的 OpenAirInterface™ 扩展

目标&#xff1a;5G-LEO 旨在加速 OAI 作为开源工具的发展&#xff0c;允许卫星通信社区交流和比较 5G NTN 结果&#xff0c;并促进研发活动的合作。扩展的OAI软件库被视为开发早期原型的重要工具&#xff0c;用于验证关键的5G NTN设计方面&#xff0c;并为3GPP标准化过程提供及…

基于 Mybatis 框架*的完整开发流程与顺序

基于 MyBatis 框架 的完整开发流程与顺序一、环境准备阶段1. 新建 Maven 项目&#xff08;或普通 Java 项目&#xff09;作用&#xff1a;用 Maven 统一管理依赖&#xff0c;自动下载 MyBatis、MySQL 驱动等 Jar 包操作&#xff1a;IDE&#xff08;如 IDEA&#xff09;选 Maven…

机械学习--决策树(实战案例)

决策树分两种分类和回归&#xff0c;这篇博客我将对两种方法进行实战讲解一、分类决策树代码的核心任务是预测 “电信客户流失状态”&#xff0c;这是一个典型的分类任务数据集附在该博客上&#xff0c;可以直接下载代码整体结构整理代码主要分为以下几个部分&#xff1a;导入必…

SQL154 插入记录(一)

描述牛客后台会记录每个用户的试卷作答记录到exam_record表&#xff0c;现在有两个用户的作答记录详情如下&#xff1a;用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001&#xff0c;并在50分钟后提交&#xff0c;得了90分&#xff1b;用户1002在2021年9月4日上午7点1分…

BeanFactory 和 ApplicationContext 的区别?

口语化答案好的&#xff0c;面试官。BeanFactory和ApplicationContext都是用于管理Bean的容器接口。BeanFactory功能相对简单。提供了Bean的创建、获取和管理功能。默认采用延迟初始化&#xff0c;只有在第一次访问Bean时才会创建该Bean。因为功能较为基础&#xff0c;BeanFact…

VNC连接VirtualBox中的Ubuntu24.04 desktop图形化(GUI)界面

测试环境&#xff1a;VirtualBox 7,Ubuntu24.04 desktop,Ubuntu24.04 server(no desktop) 一、下载和安装dRealVNC viewer。 二、配置 VirtualBox 网络&#xff1a;NAT 模式 端口转发 1、打开 VirtualBox&#xff0c;选择您的 Ubuntu 虚拟机&#xff0c;点击 设置。 选择 网…

浮动路由和BFD配置

拓扑图 前期的拓扑图没有交换机配置步骤 1、配置IP地址 终端IP地址的配置 路由器IP地址的配置 配置router的对应接口的IP地址 <Huawei>sys [Huawei]sysname router [router]interface Ethernet 0/0/0 [router-Ethernet0/0/0]ip address 192.168.10.254 24 [router-Ethern…

Docker 实战 -- Nextcloud

文章目录前言1. 创建 docker-compose.yml2. 启动 Nextcloud3. 访问 Nextcloud4. 配置优化&#xff08;可选&#xff09;使用 PostgreSQL使用 redis添加 Cron 后台任务5. 常用命令6. 反向代理&#xff08;Nginx/Apache&#xff09;前言 当你迷茫的时候&#xff0c;请点击 Docke…

【计算机网络 | 第2篇】计算机网络概述(下)

文章目录七.因特网服务提供商&#x1f95d;八.接入网&#x1f95d;主流的家庭宽带接入方式介入网工作原理&#x1f9d0;DSL技术&#xff1a;铜线上的“三通道”通信DSL的速率标准呈现出显著的"不对称"特征&#x1f914;电缆互联网接入技术&#x1f34b;‍&#x1f7e…

SpringMVC 6+源码分析(四)DispatcherServlet实例化流程 3--(HandlerAdapter初始化)

一、概述 HandlerAdapter 是 Spring MVC 框架中的一个核心组件&#xff0c;它在 DispatcherServlet 和处理程序&#xff08;handler&#xff09;之间扮演适配器的角色。DispatcherServlet 接收到 HTTP 请求后&#xff0c;需要调用对应的 handler 来处理请求&#xff08;如控制器…

【lucene】FastVectorHighlighter案例

下面给出一套可直接拷贝运行的 Lucene 8.5.0 FastVectorHighlighter 完整示例&#xff08;JDK 8&#xff09;&#xff0c;演示从建索引、查询到高亮的全过程。 > 关键点&#xff1a;字段必须 1. 存储原始内容&#xff08;setStored(true)&#xff09; 2. 开启 TermVecto…

C++返回值优化(RVO):高效返回对象的艺术

在C开发中&#xff0c;按值返回对象的场景十分常见&#xff08;如运算符重载、工厂函数等&#xff09;&#xff0c;但开发者常因担忧“构造/析构的性能开销”而陷入纠结&#xff1a;该不该返回对象&#xff1f;如何避免额外成本&#xff1f;本文将剖析痛点、拆解错误思路&#…