Java基礎之自增(++)和自減(--)運算子
回顧一下相關知識:
· 自增(++):將變數的值加1,分字首式(如++i)和字尾式(如i++)。字首式是先加1再使用;字尾式是先使用再加1。
· 自減(--):將變數的值減1,分字首式(如--i)和字尾式(如i--)。字首式是先減1再使用;字尾式是先使用再減1。
一、Java程式碼
1. int i = 0;
2. int j = i++;
3. int k = --i;
這段程式碼執行後,i等於多少?j等於多少?k等於多少?
在第一個例子中,int j=i++;是字尾式,因此i的值先被賦予j,然後再自增1,所以這行程式碼執行後,i=1、j=0;而int k=--i;是字首式,因此i先自減1,然後再將它的值賦予k,因此這行程式碼執行後,i=-1、k=-1。
二、Java程式碼
1. int i = 0;
2. int j = i++ + ++i;
3. int k = --i + i--;
程式碼執行後i、j、k分別等於多少呢?
在第二個例子中,對於int j=i++ + ++i;,首先執行i++,i的值0被用於加運算(+),之後i自增值變為1,然後執行++i,i先自增變為2,之後被用於加運算,最後將i兩次的值相加的結果0+2=2賦給j,因此這行程式碼執行完畢後i=2、j=2;對於int k=--i + i--;用一樣的思路分析,具體過程在此不再贅述,結果應該是i=-2、k=-2。
自增與自減運算子還遵循以下規律:
1. 可以用於整數型別byte、short、int、long,浮點型別float、double,以及字串型別char。
2. 在Java5.0及以上版本中,它們可以用於基本型別對應的包裝器類Byte、Short、Integer、Long、Float、Double、Character。
3. 它們的運算結果的型別與被運算的變數的型別相同。
下面的這個例子驗證以上列出的規律,它可以編譯通過並執行。
Java程式碼
1. public class Test {
2. public static void main(String[] args) {
3. // 整型
4. byte b = 0;
5. b++;
6. // 整型
7. long l = 0;
8. l++;
9. // 浮點型
10. double d = 0.0;
11. d++;
12. // 字串
13. char c = 'a';
14. c++;
15. // 基本型別包裝器類
16. Integer i = new Integer(0);
17. i++;
18. }
19.}
相關推薦
java基礎之十三:Abstract類和方法
.get 引用 ava ESS 實現 print student 通過 bst 這篇介紹Java中抽象類和抽象方法,用關鍵字abstract表示抽象,是一個可以修飾類和方法的關鍵字。如果類名前面用abstract修飾,這個類就是抽象類。如果方法名稱前面有abstract修
Java基礎之字串的編碼(Encode)和解碼(Decode)
package newFeatures8; import java.io.UnsupportedEncodingException; import java.util.Arrays; /*
【Java基礎之重寫equals、hashCode和compareTo方法】什麼時候需要重寫重寫equals方法?為什麼重寫equals方法,一定要重寫HashCode方法?
1.何時需要重寫equals() 當一個類有自己特有的“邏輯相等”概念(不同於物件身份的概念)。 2.設計equals() [1]使用instanceof操作符檢查“實參是否為正確的型別”。 [2]對於類中的每一個“關鍵域”,檢查實參中的域與當前物件中對應的域值。 [2
Java基礎之自增(++)和自減(--)運算子
回顧一下相關知識: · 自增(++):將變數的值加1,分字首式(如++i)和字尾式(如i++)。字首式是先加1再使用;字尾式是先使用再加1。 · 自減(--):將變數的值減1,分字首式(如--i)和字尾式(如i--)。字首式是先減1再使用;字尾式是先使用再減1。 一、
java基礎之----基本資料型別和引用資料型別的引數傳遞過程(一)
值傳遞:方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際引數的值。 引用傳遞:也稱為傳地址。方法呼叫時,實際引數的引用(地址,而不是引數的值)被傳遞給方法中相對應的形式引數,在方法執行中,對形式引數的操作實際上就是對實際引
Java基礎之IO流(位元組流、字元流、記憶體流、帶快取的流、序列化和反序列化)
File類:File類提供了對檔案的操作,可以通過字串或URI來構建一個File類物件。通過物件,可以實現檔案的建立(createNewFile)、刪除(delete)、獲得檔名(getName)、獲得父目錄物件(getParentFile)、獲得父目錄名稱(
java基礎之多線程(3)閉鎖
ger 死循環 trac turn ktr adg throw boolean brush 1.閉鎖方式1:利用CountDownLatch進行閉鎖 import java.util.concurrent.CountDownLatch; public class Clo
java基礎之IO流(一)
目標 構造方法 play pub io流 ted ima str 有一個 java基礎之IO流(一)之字節流 IO流體系太大,涉及到的各種流對象,我覺得很有必要總結一下。 那什麽是IO流,IO代表Input、Output,而流就是原始數據源與目標媒介的數據傳輸的一種
【小家java】Java8新特性之---CompletableFuture的系統講解和例項演示(使用CompletableFuture構建非同步應用)
相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9
Java基礎之Freemarker(1)模板加載及清空機制
ron date java 自帶 pda 直接 onf 刷新方法 希望 一 freemarker加載模版機制 freemarker中的配置項template_update_delay表明模版的緩存時間,單位是s,超過緩存時間則從磁盤加載最新的模版,具體細節如下: 1)fre
Java基礎之IO操作(二)
Java基礎之IO操作(二) 一、BufferedInputStream public static void main(String[] args) { File src = new File("abc.txt"); //2、選擇流 InputStream is =null;
Java基礎之IO操作(一)
Java基礎之IO操作(一) 一、FileInputStream 第一個程式,理解操作步驟 public static void main(String[] args) { //1、建立源 File src = new File("abc.txt"); //2、
Java基礎之反射應用(如何獲取物件的構造方法、屬性以及、基本方法)
反射實戰:新建Student類,利用反射原理輸出Student的構造方法,屬性,普通方法,引數列表等等資訊。 反射資料:查詢java_API之:java.lang.reflect包下。 Student類: package com.briup.ch24; public class St
Java基礎之反射例項(例項化Account與修改屬性)
要求: 設計Account類,並且新增屬性id、name、balance,新增get和set方法與存取錢的方法。 設計ReflectAccountTest類,例項化Account物件,存如100元,與取1000元的結果顯示。 &nb
Java基礎之繼承方面的學習(三)
上面的博文已經寫了大部分了,下面這一篇博文我們主要寫繼承之後,父類和子類的方法的覆蓋和隱藏方面。 該文章版署源自: &n
Java基礎之繼承方面的學習(一)
此文章全部摘自部落格園: 連結:https://www.cnblogs
Java基礎之繼承方面的學習(二)
繼承:一個子類繼承父類的屬性以及方法過程。 Top 一:為什麼要使用到繼承或者使用繼承有什麼好處呢? 主要有Java的性質有關,java是面向物件的一門程式設計性語言,類是必不可少的部分,當我們編寫完一個類又我們想進一步的拓展時候,這個時候我們就
九、java基礎之引數傳遞(值傳遞)
一、值傳遞/*程式在執行過程中,引數傳遞問題: 1.傳遞資料是基本資料型別 2.傳遞資料是引用資料型別 */1.以下程式是傳遞基本資料型別 public class ClassTest04 { public static void m1(int i){ i++;
九、java基礎之參數傳遞(值傳遞)
oid 值傳遞 [] 問題 數據 sta out 執行過程 入口 一、值傳遞/*程序在執行過程中,參數傳遞問題: 1.傳遞數據是基本數據類型 2.傳遞數據是引用數據類型 */1.以下程序是傳遞基本數據類型 public class ClassTest04 {
java基礎之I/O流(三)-------轉換流
一.轉換流的概念: 轉換流即包裝流,可以使位元組流轉換成字元流,也可以字元流轉成位元組流。 二.位元組流轉字元流: 1.InputStreamReader 是位元組流通向字元流的橋樑:它使用指定的 charset