Java 控制流程、大數(shù)值、數(shù)組
1. 控制流程
1.1 塊作用域
【易錯(cuò)點(diǎn)】: 不能在嵌套的兩個(gè)塊中聲明同名變量,如
public static void main(String[] args){
int n;
...
{
int n; // Error--can't redefine n in inner block
}
}
該代碼由于在嵌套的兩個(gè)塊中出現(xiàn)了同名變量,無法通過編譯
注意:
在 C++ 中,可以在嵌套的塊中重定義一個(gè)變量。在內(nèi)層定義的變量會(huì)覆蓋在外層定義的變量。
1.2 條件語(yǔ)句
【易錯(cuò)點(diǎn)】: 在循環(huán)中,檢測(cè)兩個(gè)浮點(diǎn)數(shù)是否相等需要格外注意,如
for(double x=0; x!=10; x+=0.1);
上述循環(huán)不會(huì)結(jié)束,因?yàn)?0.1 無法精確的用二進(jìn)制表示,所以 x 將從 9.99999999999998 跳到 10.09999999999998。
【補(bǔ)充點(diǎn)】: switch 語(yǔ)句中的 case 分支語(yǔ)句如果末尾不加 break,其實(shí)是一種較危險(xiǎn)的情況。所以使用 switch 語(yǔ)句編譯代碼時(shí)可以這樣寫 javac -Xlint:fallthrough 文件名.java。這樣寫的話如果某個(gè)分支某位缺少 break,編譯器就會(huì)報(bào)警告。如果你就是需要有些分支后面不加 break,可以為其外圍方法加一個(gè)標(biāo)注 @SuppressWarnings("fallthrough"),這樣就不會(huì)對(duì)方法生成警告。
【補(bǔ)充點(diǎn)】: Java 沒有 goto 語(yǔ)句,但 break 可以帶標(biāo)簽,可以利用它實(shí)現(xiàn)從內(nèi)層循環(huán)跳出的目的。如
int n;
read_data:
while(){
for(){
...
break read_data;
...
}
}
注意:
該方式只能跳出語(yǔ)句塊,而不能跳入語(yǔ)句塊
2. 大數(shù)值
【補(bǔ)充點(diǎn)】: 如果基本的整數(shù)和浮點(diǎn)數(shù)不能滿足需求,可以使用 java.math 包中的兩個(gè)類:BigInteger 和 BigDecinmal。這兩個(gè)類可以處理包含任意長(zhǎng)度數(shù)字序列的數(shù)值。BigInteger 類實(shí)現(xiàn)了任意精度的整數(shù)運(yùn)算,BigDecinmal 實(shí)現(xiàn)了任意精度的浮點(diǎn)型數(shù)運(yùn)算
3. 數(shù)組
【易錯(cuò)點(diǎn)】: Java 中的數(shù)組長(zhǎng)度不要求是常量,如 new int[n] 會(huì)創(chuàng)建一個(gè)長(zhǎng)度為 n 的數(shù)組。但是確定 n 的值之后就不能改變。
3.1 命令行參數(shù)
【補(bǔ)充點(diǎn)】:每一個(gè) Java 應(yīng)用程序都有一個(gè)帶 String[] args 參數(shù)的 main 方法。這個(gè)參數(shù)表明 main 方法將接受一個(gè)字符串?dāng)?shù)組,也就是命令行參數(shù)。如
public class Message{
public static void main(String[] args){
if(args.length==0||args[0].equals("-h")){
System.out.print("Hello,");
}else if(args[0].equlas("-g")){
System.out.print("Goodbye,");
}
for(int i=1;i<args.length;i++){
System.out.print(" "+args[i]);
}
}
}
如果我們?cè)诿钚惺褂孟旅孢@種形式運(yùn)行這個(gè)程序:java Message -g cruel world ,將顯示下列信息 Goodbye, cruel world!
這表明 args 數(shù)組內(nèi)存的內(nèi)容如下:args[0]="-g",args[1]="cruel",args[2]="world"
注意:
在 Java 應(yīng)用程序的 main 方法中,程序名并沒有儲(chǔ)存在 args 數(shù)組中
到此這篇關(guān)于Java 控制流程、大數(shù)值、數(shù)組的文章就介紹到這了,更多相關(guān)Java 控制流程、大數(shù)值、數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java實(shí)現(xiàn)經(jīng)典蜘蛛紙牌游戲
《蜘蛛紙牌》(Ancient?Spider)?是由Oberon?Games開發(fā)的一款休閑益智類游戲。本文將利用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下2022-05-05
spring security集成cas實(shí)現(xiàn)單點(diǎn)登錄過程
這篇文章主要介紹了spring security集成cas實(shí)現(xiàn)單點(diǎn)登錄過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Java讀取InfluxDB數(shù)據(jù)庫(kù)的方法詳解
本文介紹基于Java語(yǔ)言,讀取InfluxDB數(shù)據(jù)庫(kù)的方法,包括讀取InfluxDB的所有數(shù)據(jù)庫(kù),以及指定數(shù)據(jù)庫(kù)中的measurement、field、tag等,感興趣的小伙伴跟著小編一起來看看吧2025-01-01
Spring通過配置文件和注解實(shí)現(xiàn)屬性賦值
這篇文章主要介紹了Spring通過配置文件和注解實(shí)現(xiàn)屬性賦值,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
spring boot項(xiàng)目fat jar瘦身的實(shí)現(xiàn)
這篇文章主要介紹了spring boot項(xiàng)目fat jar瘦身的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說明
這篇文章主要介紹了在MyBatis中使用 # 和 $ 書寫占位符的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10

