日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK

發(fā)布時間:2024/10/14 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.float 與 double

1.1 字面量屬于 double 類型,不能直接將 1.1 直接賦值給 float 變量,因為這是向下轉(zhuǎn)型。

// float f = 1.1;

Java 不能隱式執(zhí)行向下轉(zhuǎn)型,因為這會使得精度降低。

1.1f 字面量才是 float 類型。

float f = 1.1f;

2. 隱式類型轉(zhuǎn)換

因為字面量 1 是 int 類型,它比 short 類型精度要高,因此不能隱式地將 int 類型下轉(zhuǎn)型為 short 類型。

short s1 = 1; // s1 = s1 + 1;

但是使用 += 運算符可以執(zhí)行隱式類型轉(zhuǎn)換。

s1 += 1;

上面的語句相當(dāng)于將 s1 + 1 的計算結(jié)果進(jìn)行了向下轉(zhuǎn)型:

s1 = (short) (s1 + 1);

3.?switch

從 Java 7 開始,可以在 switch 條件判斷語句中使用 String 對象

String s = "a";switch (s) {case "a":System.out.println("aaa");break;case "b":System.out.println("bbb");break; }

switch 不支持 long,是因為 switch 的設(shè)計初衷是對那些只有少數(shù)的幾個值進(jìn)行等值判斷,如果值過于復(fù)雜,那么還是用 if 比較合適。

// long x = 111; // switch (x) { /* Incompatible types. Found: 'long',* required:'char, byte, short, int, * Character, Byte, Short, Integer, String, or an enum'*/// case 111:// System.out.println(111);// break;// case 222:// System.out.println(222);// break; // }

4.?重寫與重載

4.1 重寫(Override)

存在于繼承體系中,指子類實現(xiàn)了一個與父類在方法聲明上完全相同的一個方法。

為了滿足里式替換原則,重寫有有以下兩個限制:

  • 子類方法的訪問權(quán)限必須大于等于父類方法;
  • 子類方法的返回類型必須是父類方法返回類型或為其子類型。

使用 @Override 注解,可以讓編譯器幫忙檢查是否滿足上面的兩個限制條件。

4.2 重載(Overload)

存在于同一個類中,指一個方法與已經(jīng)存在的方法名稱上相同,但是參數(shù)類型、個數(shù)、順序至少有一個不同。

應(yīng)該注意的是,返回值不同,其它都相同不算是重載。

5.?Java 與 C++ 的區(qū)別

  • Java 是純粹的面向?qū)ο笳Z言,所有的對象都繼承自 java.lang.Object,C++ 為了兼容 C 即支持面向?qū)ο笠仓С置嫦蜻^程。
  • Java 通過虛擬機從而實現(xiàn)跨平臺特性,但是 C++ 依賴于特定的平臺。
  • Java 沒有指針,它的引用可以理解為安全指針,而 C++ 具有和 C 一樣的指針。
  • Java 支持自動垃圾回收,而 C++ 需要手動回收。
  • Java 不支持多重繼承,只能通過實現(xiàn)多個接口來達(dá)到相同目的,而 C++ 支持多重繼承。
  • Java 不支持操作符重載,雖然可以對兩個 String 對象支持加法運算,但是這是語言內(nèi)置支持的操作,不屬于操作符重載,而 C++ 可以。
  • Java 的 goto 是保留字,但是不可用,C++ 可以使用 goto。
  • Java 不支持條件編譯,C++ 通過 #ifdef #ifndef 等預(yù)處理命令從而實現(xiàn)條件編譯。

6.JRE or JDK

  • JRE is the JVM program, Java application need to run on JRE.
  • JDK is a superset of JRE, JRE + tools for developing java programs. e.g, it provides the compiler "javac

總結(jié)

以上是生活随笔為你收集整理的float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。