1. 程式人生 > >i++和++i, i--和--i的區別

i++和++i, i--和--i的區別

    i的值總加減,表示式的值,誰在前總等誰(設定i初始值為10)

    1 固定的:不管怎樣,i的值都會改變,對於i++和++i,i的值最終都為11,同樣對於i--和--i,i的值最終都為9。

    2 變的:容易搞混的是表示式的值,噱頭所在,例如 int j = i++,先把i值賦給j(表示式的值),再執行i+1,j也就是表示式的最終值為10。對於int j = ++i,先執行i+1,再把值賦給j(j也就是表示式的最終值為11)。

    執行一段程式碼:

public static void main(String[] args){
		int i = 10;
		int j = i++;
		System.out.println("測試i++:");
		System.out.println(i);
		System.out.println(j);
		
		int m = 10;
		int n = ++m;
		System.out.println("測試++i:");
		System.out.println(m);
		System.out.println(n);
	}

相關推薦

Qemu模擬IO半虛擬化Virtio的區別以及I/O半虛擬化驅動介紹

RoCE 缺少 靈活 緩沖 不支持 src 自動 令行 nic QEMU的基本原理和優缺點 基本原理: 使用QEMU模擬I/O的情況下,當客戶機中的設備驅動程序(device driver)發起I/O操作請求之時,KVM模塊中的I/O操作捕獲代碼會攔截這次I/O請求,然後

深入理解php內核 編寫擴展 I:介紹PHPZend

保持 理論 ifd gem counter 被調用 builds 讀取 添加 內容: 編寫擴展I - PHP和Zend起步 原文:http://devzone.zend.com/public/view/tag/Extension Part I: Introduction

ABAP的include關鍵字,Java的import, C的includeC4C ABSL 的i

Java C++ JavaScript ABAP SAP ABAP 使用關鍵字重復引入一個include program,會報syntax error: 原因是因為ABAP對include這個關鍵字的實現和其他編程語言有點不一樣,在激活時簡單地把被include的program的全部源代

阻塞式I/0 非阻塞式I/O 同步異步詳細介紹

name 比較 基本上 b2c 復制 描述 tab 是把 分享 請求描述: `阻塞/非阻塞` 和 `同步/異步` 不是一個概念。舉幾個簡單的例子。 當進程調用一個進行IO操作的API時(比如read函數),在數據沒有到達前,read 會掛起,進程會卡住。在

中斷I/O控制方式DMA

中斷控制I/O方式 中斷:計算機系統在執行程式中,常會被系統內部或外部的事件所打斷,脫離正在執行的程式,轉去執行一段預先安排好的中斷服務程式;而在服務結束後,又返回原來的斷點,繼續執行原來的程式,這一過程稱為中斷。 中斷方式:要求為每個外設分配一箇中斷請求號和針對此裝置的中斷程式,此外還需要一箇中斷控制器

I[i]pl[L]I[i]mage與MatCvMat的轉換——笨蛋學OpenCv

Mat2IplImage 宣告Mat型別變數matimage: Mat matimage(300,400,CV_8UC3); 轉換過程: IplImage iplimage = matimage; Mat2CvMat 宣告Mat型別變數matimage: Mat matimage

高階I/O之readvwritev函式

為什麼引出readv()和writev() 因為使用read()將資料讀到不連續的記憶體、使用write()將不連續的記憶體傳送出去,要經過多次的呼叫read、write 如果要從檔案中讀一片連續的資料至程序的不同區域,有兩種方案:①使用read()一次將它們讀至一個較大的緩

Android問題集錦之八 呼叫其他程式中的activityPermission Denial starting I

                今天想除錯多個task中棧的情況,在測試程式中呼叫另一個程式的activity,程式碼片段如下:        btnStartX=(Button)findViewById(R.id.btnStartX);        btnStartX.setOnClickListener

x i l i n x -selectioclocking學習筆記

  最近做高速視訊影象採集相關的工作,需要對FPGA的selectio以及clocking資源有足夠的瞭解,於是把xilinx的ug381,ug382, xapp1064文件閱讀了一遍, 結合實際除錯中遇到的問題,總結了如下要點。   1, selectio sp

陣列字串//陣列拆分 I

給定長度為 2n 的陣列, 你的任務是將這些數分成 n 對, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得從1 到 n 的 min(ai, bi) 總和最大。 示例 1: 輸入: [1,4,3,2] 輸出: 4 解釋: n 等於 2,

I/O模型:同步I/O非同步I/O,阻塞I/O非阻塞I/O

同步(synchronous) IO和非同步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分別是什麼,到底有什麼區別? 這個問題其實不同的人給出的答案都可能不同,在大部分的博文中(包括WIKI在內),我們很可能

linux I-O體系結構裝置驅動程式

裝置驅動程式模型 基於linux 3.13 sysfs檔案系統 允許使用者態應用程式訪問核心內部資料結構的一種檔案系統。被安裝於/sys目錄下,相應的高層目錄結構如下: block 塊裝置,獨立於所連線的匯流排 devices

Lambda表示式匿名內部類(I)

前言 Java Lambda表示式的一個重要用法是簡化某些匿名內部類(Anonymous Classes)的寫法。實際上Lambda表示式並不僅僅是匿名內部類的語法糖,JVM內部是通過invokedynamic指令來實現Lambda表示式的。具體原理放到下一篇。本篇我們首先感受一下使用Lambda表示式帶來

java面試題:i=i++j=i++兩句分別輸出i=?,j=?

package 網易校招面試題; public class Inc { public static void main(String[] args) { Inc inc = new Inc(); int i=0; int j=0; inc.ferm

for ifor eachJava8的forEach效能測試,到底誰快的測試

有說這個快,有說那個快,但是,靠嘴不頂用啊。還是測試一下就知道啦。 (Lists.newArrayList(); 這個是guava裡面的一個集合初始化的工具) 如下 : 先是main方法吧

Linux檔案系統分析之二(超級塊,i節點點陣圖邏輯塊點陣圖)

第二個扇區和第一個扇區一樣屬於引導塊,這裡就不列舉出其內容了,這裡的一塊是兩個扇區即1024B。接下來的一塊就是大名鼎鼎的超級塊了。其內容如下:00000400h: E0 01 A0 05 01 00 01 00 13 00 00 00 00 1C 08 10 ; ??..

9.I/O重定向管道

標準輸入重定向(STDIN,檔案描述符為0):預設從鍵盤輸入。 標準輸出重定向(STDOUT,檔案描述符為1):預設輸出到螢幕。 錯誤輸出重定向(STDERR,檔案描述符為2):預設輸出到螢幕。 1.IO重定向 IO重定向:就是把一些預設輸入輸出

numpy array list 的相互轉化, [np.where(x == i)[0] for i in range(10)] 的意思

1.list 轉 numpy array a = [0,2,3,2,1,2,4,5,6,7,8,6,5,4,3,2,7,8,9,6,5,7,8,9,6,9,1,2,2,5,6,8,8,9,7,0] x = np.array(a) print(x)  2. numpy arr

同步、非同步、堵塞、非堵塞函式呼叫及I/O之間的組合概念

        在我們工作和學習中,經常會接觸到“同步”、“非同步”、“堵塞”和“非堵塞”這些概念,但是並不是每個人都能將它們的關係和區別說清楚。本文將對這些基本概念進行討論,以期讓大家有更清楚的認識。(轉載請指明出於breaksoftware的csdn部落格)      

java基礎I/O系列--FileFileDescriptor總結

File 介紹 File 是“檔案”和“目錄路徑名”的抽象表示形式。 File 直接繼承於Object,實現了Serializable介面和Comparable介面。實現Serializable介面,意味著File物件支援序列化操作。而實現Compa