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
英文地址,請注明出處:http://en.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;本文將剖析痛點、拆解錯誤思路&#…