国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

建設(shè)網(wǎng)站去工信部備案需要什么資料網(wǎng)站seo的內(nèi)容是什么

建設(shè)網(wǎng)站去工信部備案需要什么資料,網(wǎng)站seo的內(nèi)容是什么,白酒營(yíng)銷策劃方案,兒童攝影網(wǎng)站建設(shè)Java基礎(chǔ)編程 Java 基礎(chǔ)語(yǔ)法Java 標(biāo)識(shí)符變量變量的類型Java 基本數(shù)據(jù)類型基本數(shù)據(jù)類型轉(zhuǎn)換 運(yùn)算符常見(jiàn)運(yùn)算符運(yùn)算符的優(yōu)先級(jí) 程序流程控制分支語(yǔ)句循環(huán)結(jié)構(gòu)常用的循環(huán)結(jié)構(gòu)循環(huán)的嵌套break 和 continue 關(guān)鍵字 數(shù)組一維數(shù)組多維數(shù)組的使用Arrays 工具類的使用數(shù)組中常見(jiàn)的異常 J…

Java基礎(chǔ)編程

  • Java 基礎(chǔ)語(yǔ)法
    • Java 標(biāo)識(shí)符
    • 變量
      • 變量的類型
      • Java 基本數(shù)據(jù)類型
      • 基本數(shù)據(jù)類型轉(zhuǎn)換
    • 運(yùn)算符
      • 常見(jiàn)運(yùn)算符
      • 運(yùn)算符的優(yōu)先級(jí)
    • 程序流程控制
      • 分支語(yǔ)句
      • 循環(huán)結(jié)構(gòu)
        • 常用的循環(huán)結(jié)構(gòu)
        • 循環(huán)的嵌套
        • break 和 continue 關(guān)鍵字
  • 數(shù)組
    • 一維數(shù)組
    • 多維數(shù)組的使用
    • Arrays 工具類的使用
    • 數(shù)組中常見(jiàn)的異常

Java 基礎(chǔ)語(yǔ)法

Java 標(biāo)識(shí)符

??Java 對(duì)各種變量、方法和類等要素命名時(shí)使用的字符序列稱為 標(biāo)識(shí)符,定義合法標(biāo)識(shí)符規(guī)則如下:

  • 由 26 個(gè)英文字母大小寫、0-9、_ 或 $ 組成
  • 數(shù)字不可以開(kāi)頭
  • 不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字
  • Java 中嚴(yán)格區(qū)分大小寫,長(zhǎng)度無(wú)限制
  • 標(biāo)識(shí)符不能包含空格

??Java 中的名稱命名規(guī)范如下:

  • 包名使用多單詞組成時(shí)所有字母都小寫(xxxyyyzzz
  • 類名、接口名使用多單詞組成時(shí),所有單詞的首字母大寫(XxxYyyZzz
  • 變量名、方法名使用多單詞組成時(shí),第一個(gè)單詞首字母小寫,第二個(gè)單詞開(kāi)始每個(gè)單詞首字母大寫(xxxYyyZzz
  • 常量名的所有字母都要大寫,多單詞時(shí)每個(gè)單詞用下劃線連接(XXX_YYY_ZZZ
  • 為了提高閱讀性,要見(jiàn)名知意
  • 不建議使用漢字命名

關(guān)于 Java 關(guān)鍵字和保留字
(一)Java 關(guān)鍵字

  • 用于定義數(shù)據(jù)類型的關(guān)鍵字classinterface、enum、byte、short、intlong、float、doublechar、booleanvoid
  • 用于定義流程控制的關(guān)鍵字if、else、switchcase、default、whiledo、for、break、continue、return
  • 用于定義訪問(wèn)權(quán)限修飾符的關(guān)鍵字privateprotected、public
  • 用于定義類、函數(shù)、變量修飾符的關(guān)鍵字abstract、final、static、synchronized
  • 用于定義類與類之間關(guān)系的關(guān)鍵字extends、implements
  • 用于定義建立實(shí)例及引用實(shí)例,判斷實(shí)例的關(guān)鍵字new、this、superinstanceof
  • 用于異常處理的關(guān)鍵字try、catchfinally、throwthrows
  • 用于包的關(guān)鍵字package、import
  • 其他修飾符關(guān)鍵字nativestrictfp、transientvolatile 、assert
  • 用于定義數(shù)據(jù)類型值的字面值truefalse、null

(二)Java 保留字
??Java 保留字是現(xiàn)有 Java 版本尚未使用,但以后版本可能會(huì)作為關(guān)鍵字使用,命名標(biāo)識(shí)符時(shí)要避免使用這些保留字:goto、const。

變量

變量的類型

??變量是程序中最基本的存儲(chǔ)單元(包含變量類型、變量名和存儲(chǔ)的值),用于在內(nèi)存中保存數(shù)據(jù)。Java 中使用變量時(shí)需要注意:

  • Java 中每個(gè)變量必須先聲明后使用
  • 使用變量名來(lái)訪問(wèn)這塊區(qū)域的數(shù)據(jù)
  • 變量的作用域在其定義所在的一對(duì) { } 內(nèi)
  • 變量只有在其作用域內(nèi)才有效
  • 同一個(gè)作用域內(nèi)不能定義重名的變量

??對(duì)于每一種數(shù)據(jù)都定義了明確的數(shù)據(jù)類型(強(qiáng)類型語(yǔ)言),在內(nèi)存中分配了不同大小的內(nèi)存空間:

在這里插入圖片描述

??按照變量聲明的位置不同,可以分為:成員變量和局部變量

在這里插入圖片描述

Java 基本數(shù)據(jù)類型

??整數(shù)類型包括:byte、short、intlong,使用案例如下:

// byte: -128 ~ 127
byte b = 125;
// short:-2^15 ~ 2^15-1
short s = 126;
// int: 默認(rèn)的整型,-2^31 ~ 2^31-1
int i = 129;
// long -2^63 ~ 2^63-1
long l = 1258L;

??浮點(diǎn)型包括:float、double,使用案例如下:

// float 4字節(jié) -3.403E38 ~ 3.403E38
float f = 12.34f;
// double 8字節(jié) -1.798E308 ~ 1.798E308 默認(rèn)類型
double d = 12.34;

??字符型包括:char,使用案例如下:

/*
* char 可以有三種表現(xiàn)形式
*/
// 1. 單個(gè)字符
char c1 = 'a';
// 2. 轉(zhuǎn)義字符
char c2 = '\n';
// 3. Unicode值
char c3 = '\u000f';
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);

??布爾類型包括:boolean,一般用來(lái)判斷邏輯條件:

// 注意:Java 中的 boolean 類型只能取值 true 和 false
boolean isMan = false;

基本數(shù)據(jù)類型轉(zhuǎn)換

(一)自動(dòng)類型轉(zhuǎn)換

??自動(dòng)類型轉(zhuǎn)換是指容量小的類型自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型。數(shù)據(jù)類型按容量大小排序?yàn)?#xff1a;

在這里插入圖片描述

  • 有多種類型的數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那種數(shù)據(jù)類型,然后再進(jìn)行計(jì)算
  • byte、short、char 之間不會(huì)相互轉(zhuǎn)換,它們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為 int 類型
  • boolean 類型不能與其它數(shù)據(jù)類型運(yùn)算
  • 當(dāng)把任何基本數(shù)據(jù)類型的值和字符串進(jìn)行連接運(yùn)算時(shí)(+),基本數(shù)據(jù)類型的值將自動(dòng)轉(zhuǎn)化為字符串類型
// 全部提升為double類型
byte b1 = 12;
byte b2 = 22;
// 下面的代碼報(bào)錯(cuò),因?yàn)閎yte和byte運(yùn)算也會(huì)自動(dòng)轉(zhuǎn)換為 int
// byte b3 = b1 + b2;
int i = b1 + b2;

(二)強(qiáng)制類型轉(zhuǎn)換

??強(qiáng)制類型轉(zhuǎn)換是自動(dòng)類型轉(zhuǎn)換的逆過(guò)程,能夠?qū)⑷萘看蟮臄?shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型。使用時(shí)要加上強(qiáng)制轉(zhuǎn)換符 () ,但可能造成精度降低或溢出,需要格外要注意。

int number = (int)12.23;

??通常字符串不能直接轉(zhuǎn)換為基本類型,但通過(guò)基本類型對(duì)應(yīng)的包裝類則可以實(shí)現(xiàn)把字符串轉(zhuǎn)換成基本類型:

int number = Integer.parseInt("123");

??boolean 類型不可以轉(zhuǎn)換為其它的數(shù)據(jù)類型。

運(yùn)算符

常見(jiàn)運(yùn)算符

(一)算術(shù)運(yùn)算符

??常見(jiàn)的算術(shù)運(yùn)算符如下:

運(yùn)算符運(yùn)算案例結(jié)果
+正號(hào)+33
-負(fù)號(hào)b=4;-b-4
+5+510
-6-42
*3*412
/5/51
%取模(取余)7%52
++自增(前):先運(yùn)算后取值a=2;b=++a;a=3;b=3
++自增(后):先取值后運(yùn)算a=2;b=a++;a=3;b=2
自減(前):先運(yùn)算后取值a=2;b=–a;a=1;b=1
自減(后):先取值后運(yùn)算a=2;b=a–;a=1;b=2
+字符串連接“He” + “l(fā)lo”“Hello”

算術(shù)運(yùn)算符需要注意的問(wèn)題

  • 如果對(duì)負(fù)數(shù)取??梢园涯?shù)的負(fù)號(hào)忽略不記(如:5 % -2 = 1),但被模數(shù)是負(fù)數(shù)則不可忽略(如:-5 % -2 = -1);此外,取模運(yùn)算的結(jié)果不一定總是整數(shù)
  • 對(duì)于除號(hào) /,它的整數(shù)除和小數(shù)除是有區(qū)別的:整數(shù)之間做除法時(shí)只保留整數(shù)部分而舍棄小數(shù)部分
  • + 除字符串相加功能外,還能把非字符串轉(zhuǎn)換成字符串

(二)賦值運(yùn)算符

??賦值運(yùn)算符是= ,當(dāng) = 兩側(cè)數(shù)據(jù)類型不一致時(shí),可以使用自動(dòng)類型轉(zhuǎn)換或使用強(qiáng)制類型轉(zhuǎn)換原則進(jìn)行處理(支持連續(xù)賦值)。此外,賦值運(yùn)算符還包括下面的擴(kuò)展賦值運(yùn)算符:+=、-=*=、/=、%=

(三)比較運(yùn)算符(關(guān)系運(yùn)算符)

運(yùn)算符運(yùn)算案例結(jié)果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof檢查是否是類的對(duì)象“Hello” instanceof Stringtrue

注意

  • 比較運(yùn)算符的結(jié)果都是 boolean
  • 比較運(yùn)算符 == 不能誤寫成 =

(四)邏輯運(yùn)算符

aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse

& 和 && 的區(qū)別

  • & 時(shí),左邊無(wú)論真假,右邊都進(jìn)行運(yùn)算
  • & 時(shí),如果左邊為真,右邊參與運(yùn)算;如果左邊為假,那么右邊不參與運(yùn)算
  • ||| 的區(qū)別同理,||表示當(dāng)左邊為真,右邊不參與運(yùn)算。
int a = 20;
// ++a > 10 不會(huì)執(zhí)行
if (false && ++a > 10) {}
System.out.println(a); // 20
// ++a > 10 會(huì)執(zhí)行
if (false & ++a > 10) {}
System.out.println(a); // 21
// ++a > 10 不會(huì)執(zhí)行
if (true || ++a > 10) {}
System.out.println(a); // 21
// ++a > 10 會(huì)執(zhí)行
if (false | ++a > 10) {}
System.out.println(a); // 22

(五)位運(yùn)算符

運(yùn)算符運(yùn)算范例結(jié)果
<<左移3 << 212
>>右移3 >> 11
>>>無(wú)符號(hào)右移3 >>> 11
&與運(yùn)算6 & 32
|或運(yùn)算6 | 37
^異或運(yùn)算6 ^ 35
~取反運(yùn)算~6-7

位運(yùn)算符是直接對(duì)整數(shù)的二進(jìn)制進(jìn)行的運(yùn)算。

運(yùn)算符說(shuō)明
<<空位補(bǔ)0,被移除的高位丟棄,空缺位補(bǔ)0
>>被移位的二進(jìn)制最高位是0,右移后空缺位補(bǔ)0;最高位是1,空缺位補(bǔ)1
>>>被移位二進(jìn)制最高位無(wú)論是0或者是1,空缺位都用0補(bǔ)
&二進(jìn)制位進(jìn)行&運(yùn)算,只有1&1時(shí)結(jié)果是1,否則是0
|二進(jìn)制位進(jìn)行 | 運(yùn)算,只有 0|0 時(shí)的結(jié)果是0,否則是1
^相同二進(jìn)制位進(jìn)行 ^ 運(yùn)算,結(jié)果是0;不相同二進(jìn)制位 ^ 運(yùn)算結(jié)果是1
~正數(shù)取反,各二進(jìn)制碼按補(bǔ)碼各位取反;負(fù)數(shù)取反,各二進(jìn)制碼按補(bǔ)碼各位取反

(六)三元運(yùn)算符

??三元運(yùn)算符的格式如下 (條件表達(dá)式?表達(dá)式1:表達(dá)式2),當(dāng)條件表達(dá)式為 true 的時(shí)候運(yùn)算結(jié)果是表達(dá)式 1,否則是表達(dá)式2:

int number = 3 > 2 ? 3 : 2;

運(yùn)算符的優(yōu)先級(jí)

??運(yùn)算符有不同的優(yōu)先級(jí),所謂優(yōu)先級(jí)就是表達(dá)式運(yùn)算中的運(yùn)算順序。如圖,上一行運(yùn)算符總優(yōu)先于下一行:

在這里插入圖片描述

程序流程控制

??流程控制語(yǔ)句是用來(lái)控制程序中各語(yǔ)句執(zhí)行順序的語(yǔ)句,可以把語(yǔ)句組合成能完成一定功能的小邏輯模塊。流程控制方式采用結(jié)構(gòu)化程序設(shè)計(jì)中規(guī)定的三種基本流程結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

分支語(yǔ)句

(一)if-else 語(yǔ)句

import java.util.Scanner;public class HelloWorld {public static void main(String[] args) {int ticket = (int)(Math.random() * 90 + 10);Scanner sc = new Scanner(System.in);System.out.print("請(qǐng)輸入彩票號(hào)碼(兩位數(shù)):");int number = sc.nextInt();String tStr = "" + ticket;String nStr ="" + number;System.out.println("彩票號(hào)碼:" + ticket);System.out.println("輸入的號(hào)碼:" + number);if (tStr.equals(nStr)) {System.out.println("獎(jiǎng)金 10000 美元");} else if (tStr.charAt(0) == nStr.charAt(1) && tStr.charAt(1) == nStr.charAt(0) ) {System.out.println("獎(jiǎng)金 3000 美元");} else if (tStr.charAt(0) == nStr.charAt(0) || tStr.charAt(1) == nStr.charAt(1) ) {System.out.println("獎(jiǎng)金 1000 美元");} else if (tStr.charAt(0) == nStr.charAt(1) || tStr.charAt(1) == nStr.charAt(0) ) {System.out.println("獎(jiǎng)金 500 美元");} else {System.out.println("毛都沒(méi)有");}}
}

if-else 使用說(shuō)明

  • 條件表達(dá)式必須是布爾表達(dá)式(關(guān)系表達(dá)式或邏輯表達(dá)式)、布爾變量
  • 語(yǔ)句塊只有一條執(zhí)行語(yǔ)句時(shí),一對(duì){}可以省略,但建議保留
  • if-else 語(yǔ)句結(jié)構(gòu)根據(jù)需要可以嵌套使用
  • 當(dāng) if-else 結(jié)構(gòu)是多選一時(shí),最后的 else 是可選的,根據(jù)需要可以省略
  • 當(dāng)多個(gè)條件是互斥關(guān)系時(shí),條件判斷語(yǔ)句及執(zhí)行語(yǔ)句間順序無(wú)所謂;當(dāng)多個(gè)條件是包含關(guān)系時(shí),需要遵循 小上大下 / 子上父下
int score = 80;
if (score >= 90) {System.out.println("優(yōu)秀");
} else if (score >= 80) {System.out.println("良好");
} else if (score >= 60) {System.out.println("及格");
} else {System.out.println("不及格");
}

(二)switch-case 語(yǔ)句

import java.util.Scanner;public class HelloWorld {public static void main(String[] args) {// 根據(jù)用于指定月份,打印該月份所屬的季節(jié)// 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季Scanner sc = new Scanner(System.in);System.out.print("請(qǐng)輸入月份:");int month = sc.nextInt();switch (month) {case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;case 12:case 1:case 2:System.out.println("冬季");break;default:System.out.println("出入月份不對(duì)");break;}}
}

switch-case 使用說(shuō)明

  • switch(表達(dá)式) 中表達(dá)式的值必須是下述幾種類型之一:byteshortcharint枚舉String
  • case 子句中的值必須是常量,不能是變量名或不確定的表達(dá)式值
  • 同一個(gè) switch 語(yǔ)句,所有 case 子句中的常量值互不相同
  • break 語(yǔ)句用來(lái)在執(zhí)行完一個(gè) case 分支后使程序跳出 switch 語(yǔ)句塊。如果沒(méi)有break,程序會(huì)順序執(zhí)行到 switch 結(jié)尾
  • default 子句是可任選的,其位置也是靈活的,當(dāng)沒(méi)有匹配的 case 時(shí)執(zhí)行 default

switch 和 if 語(yǔ)句的對(duì)比

  • 如果判斷的具體數(shù)值不多,而且符合 byte、short、char、int、String、枚舉等幾種類型,雖然兩個(gè)語(yǔ)句都可以使用,但建議使用 swtich 語(yǔ)句,因?yàn)樾噬愿?/li>
  • 其他情況,如:對(duì)區(qū)間判斷、對(duì)結(jié)果為 boolean 類型判斷等,則使用if,因?yàn)?if 的使用范圍更廣

??也就是說(shuō),使用 switch-case 的,都可以改寫為 if-else ,反之不成立。

循環(huán)結(jié)構(gòu)

常用的循環(huán)結(jié)構(gòu)

??循環(huán)結(jié)構(gòu)能夠?qū)崿F(xiàn)在某些條件滿足的情況下反復(fù)執(zhí)行特定代碼的功能,一般循環(huán)語(yǔ)句由四個(gè)部分組成:初始化部分(init_statement)、循環(huán)條件部分(test_exp)、循環(huán)體部分(body_statement)和迭代部分(alter_statement)

在這里插入圖片描述

(一)for 循環(huán)

public class HelloWorld {public static void main(String[] args) {int sum = 0;for (int i = 0; i < 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("100 以內(nèi)的偶數(shù)的和是:" + sum);}
}

(二)while 循環(huán)

public class HelloWorld {public static void main(String[] args) {int sum = 0;int i = 0;while (i < 100) {if (i % 2 == 0) {sum += i;}i++;}System.out.println("100 以內(nèi)的偶數(shù)的和是:" + sum);}
}

(三)do-while 循環(huán)

public class HelloWorld {public static void main(String[] args) {int sum = 0;int i = 0;do  {if (i % 2 == 0) {sum += i;}i++;} while (i < 100);System.out.println("100 以內(nèi)的偶數(shù)的和是:" + sum);}
}

循環(huán)的嵌套

??循環(huán)是可以嵌套的,將一個(gè)循環(huán)放在另一個(gè)循環(huán)體內(nèi)就形成了嵌套循環(huán):

public class HelloWorld {public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(i + "*" + j + "=" + (i * j) + "\t");}System.out.println();}}
}

break 和 continue 關(guān)鍵字

??break 語(yǔ)句用于終止某個(gè)語(yǔ)句塊的執(zhí)行:

public class HelloWorld {public static void main(String[] args) {for (int i = 0; i < 3; i++) {for (int j = 0; j < 10; j++) {if (j % 2 == 0) {System.out.print(j + "\t");break;}}System.out.println();}}
}

??break 語(yǔ)句出現(xiàn)在多層嵌套的語(yǔ)句塊中時(shí),可以通過(guò)標(biāo)簽指明要終止的是哪一層語(yǔ)句塊:

public class HelloWorld {public static void main(String[] args) {out: for (int i = 0; i < 3; i++) {for (int j = 0; j < 10; j++) {if (j % 2 == 0) {System.out.print(j + "\t");break out;}}System.out.println();}}
}

??continue 語(yǔ)句用于跳過(guò)其所在循環(huán)語(yǔ)句塊的一次執(zhí)行,繼續(xù)下一次循環(huán)(continue 只能使用在循環(huán)結(jié)構(gòu)中):

public class HelloWorld {public static void main(String[] args) {for (int i = 0; i < 3; i++) {for (int j = 0; j < 10; j++) {if (j % 2 == 0) {System.out.print(j + "\t");continue;}}System.out.println();}}
}

??continue 語(yǔ)句出現(xiàn)在多層嵌套的循環(huán)語(yǔ)句體中時(shí),可以通過(guò)標(biāo)簽指明要跳過(guò)的是哪一層循環(huán):

public class HelloWorld {public static void main(String[] args) {out: for (int i = 0; i < 3; i++) {for (int j = 0; j < 10; j++) {if (j % 2 == 0) {System.out.print(j + "\t");continue out;}}System.out.println();}}
}

特殊流程控制語(yǔ)句說(shuō)明

  • break 只能用于 switch 語(yǔ)句和循環(huán)語(yǔ)句中
  • continue 只能用于循環(huán)語(yǔ)句中
  • continue 是終止本次循環(huán),break 是終止本層循環(huán)
  • break、continue 之后不能有其他的語(yǔ)句,因?yàn)槌绦蛴肋h(yuǎn)不會(huì)執(zhí)行其后的語(yǔ)句
  • 標(biāo)號(hào)語(yǔ)句必須緊接在循環(huán)的頭部,標(biāo)號(hào)語(yǔ)句不能用在非循環(huán)語(yǔ)句的前面
  • return 并非專門用于結(jié)束循環(huán)的,它的功能是結(jié)束一個(gè)方法,當(dāng)一個(gè)方法執(zhí)行到一個(gè)return 語(yǔ)句時(shí),這個(gè)方法將被結(jié)束
  • breakcontinue 不同的是,return 直接結(jié)束整個(gè)方法,不管這個(gè) return 處于多少層循環(huán)之內(nèi)

數(shù)組

??數(shù)組(Array)是多個(gè)相同類型數(shù)據(jù)按一定順序排列的集合,使用一個(gè)名字命名,并通過(guò)編號(hào)的方式對(duì)這些數(shù)據(jù)進(jìn)行統(tǒng)一管理:

  • 數(shù)組本身是 引用數(shù)據(jù)類型,而數(shù)組中的元素可以是 任何數(shù)據(jù)類型(包括:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型)
  • 創(chuàng)建數(shù)組對(duì)象會(huì)在內(nèi)存中開(kāi)辟一整塊 連續(xù)的空間,而數(shù)組名中引用的是這塊連續(xù)空間的 首地址
  • 數(shù)組的 長(zhǎng)度一旦確定,就不能修改
  • 可以直接通過(guò)下標(biāo)(或索引)的方式調(diào)用指定位置的元素,速度很快
  • 數(shù)組的分類:
    • 按照維度:一維數(shù)組、二維數(shù)組、三維數(shù)組、…
    • 按照元素的數(shù)據(jù)類型分:基本數(shù)據(jù)類型元素的數(shù)組、引用數(shù)據(jù)類型元素的數(shù)組

一維數(shù)組

??數(shù)組的初始化方式如下:

// 方法一
int arr1[];
arr1 = new int[3];// 方法二
int arr2[] = new int[3];// 方法三
int arr3[] = new int[] {1, 2, 3};// 方法四
int arr4[] = {1, 2, 3, 4};
arr4[0] = 1;
System.out.println(arr4[0]);

關(guān)于數(shù)組的幾點(diǎn)說(shuō)明

  • 定義并用運(yùn)算符 new 為之分配空間后,才可以引用數(shù)組中的每個(gè)元素
  • 數(shù)組元素的引用方式:數(shù)組名[數(shù)組元素下標(biāo)]
  • 每個(gè)數(shù)組都有一個(gè)屬性 length 指明它的長(zhǎng)度(數(shù)組一旦初始化,其長(zhǎng)度是不可變的)

??數(shù)組是引用類型,它的元素相當(dāng)于類的成員變量,因此數(shù)組一經(jīng)分配空間,其中的每個(gè)元素也被按照成員變量同樣的方式被隱式初始化:

  • 對(duì)于基本數(shù)據(jù)類型而言,默認(rèn)初始化值各有不同
  • 對(duì)于引用數(shù)據(jù)類型而言,默認(rèn)初始化值為 null
數(shù)組元素類型元素默認(rèn)初始值
byte0
short0
int0
long0L
float0.0F
double0.0
char0 或 ‘\u0000’
booleanfalse
引用類型null

多維數(shù)組的使用

??Java 語(yǔ)言里提供了支持多維數(shù)組的語(yǔ)法,但是從數(shù)組底層的運(yùn)行機(jī)制來(lái)看,其實(shí)沒(méi)有多維數(shù)組:

// 方法一
int[][] arr1 = new int[3][2];// 方法二
int[][] arr2 = new int[3][];// 方法三
int[][] arr3 = new int[][]{{3,8,2},{2,7},{9,0,1,6}
};

Arrays 工具類的使用

??java.util.Arrays 類是操作數(shù)組的工具類,包含了用來(lái)操作數(shù)組(比如:排序和搜索)的各種方法:

方法說(shuō)明
boolean equals(int[] a, int[] b)判斷兩個(gè)數(shù)組是否相等
String toString(int[] a)輸出數(shù)組信息
void fill(int[] a, int val)將指定值填充到數(shù)組之中
void sort(int[] a)對(duì)數(shù)組進(jìn)行排序
int binarySearch(int[] a, int key)對(duì)排序后的數(shù)組進(jìn)行二分法檢索指定的值
public class HelloWorld {public static void main(String[] args) {int[] array = {2,4,1,2,7,9,5,6,7};System.out.println(Arrays.toString(array));Arrays.sort(array);System.out.println(Arrays.toString(array));}
}

數(shù)組中常見(jiàn)的異常

// 數(shù)組腳標(biāo)越界異常(ArrayIndexOutOfBoundsException)
// 訪問(wèn)到了數(shù)組中的不存在的腳標(biāo)時(shí)發(fā)生
int[] arr = new int[2];
System.out.println(arr[2]);
System.out.println(arr[-1]);// 空指針異常(NullPointerException)
// arr引用沒(méi)有指向?qū)嶓w,卻在操作實(shí)體中的元素時(shí)。
int[] arr = null;
System.out.println(arr[0]);
http://aloenet.com.cn/news/36801.html

相關(guān)文章:

  • 做返利網(wǎng)站能賺錢的免費(fèi)入駐的電商平臺(tái)
  • 網(wǎng)站建設(shè)常用問(wèn)題庫(kù)黑帽seo是什么
  • 門店管理系統(tǒng)有哪些寧波免費(fèi)seo在線優(yōu)化
  • 東莞模板網(wǎng)頁(yè)制作惠州seo網(wǎng)站排名
  • 橋梁畢業(yè)設(shè)計(jì)代做網(wǎng)站6個(gè)好用的bt種子搜索引擎
  • 網(wǎng)站建設(shè)的需要分析做網(wǎng)絡(luò)優(yōu)化的公司排名
  • 長(zhǎng)沙的企業(yè)網(wǎng)站建設(shè)陜西網(wǎng)站設(shè)計(jì)
  • DW做旅游網(wǎng)站模板正規(guī)拉新推廣平臺(tái)有哪些
  • 網(wǎng)站建設(shè)業(yè)務(wù)文案亞洲長(zhǎng)尾關(guān)鍵詞挖掘
  • 湛江論壇建站模板集客營(yíng)銷軟件官方網(wǎng)站
  • 商業(yè)網(wǎng)站建設(shè)案例課程圖片優(yōu)化是什么意思
  • wordpress網(wǎng)站音樂(lè)放不全百度搜索服務(wù)
  • 網(wǎng)站上的洗衣液瓶子做花瓶怎么材質(zhì)互聯(lián)網(wǎng)廣告代理商
  • wordpress云端采集插件廣州新塘網(wǎng)站seo優(yōu)化
  • 商務(wù)網(wǎng)站建設(shè)綜合實(shí)訓(xùn)信陽(yáng)網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站開(kāi)發(fā)專業(yè)就業(yè)培訓(xùn)學(xué)校信息流優(yōu)化師沒(méi)經(jīng)驗(yàn)可以做嗎
  • 網(wǎng)站圖片有什么要求嗎長(zhǎng)春seo排名公司
  • 攀枝花 網(wǎng)站建設(shè)app拉新怎么對(duì)接渠道
  • 最好看免費(fèi)觀看高清大全城中之城上海關(guān)鍵詞優(yōu)化排名哪家好
  • 怎么知道哪家公司網(wǎng)站做的好網(wǎng)站買賣交易平臺(tái)
  • 網(wǎng)絡(luò)組建設(shè)計(jì)與方案網(wǎng)站seo 優(yōu)化
  • jquery 特效 網(wǎng)站網(wǎng)絡(luò)推廣公司是干什么
  • 廣西住房城鄉(xiāng)建設(shè)廳官網(wǎng)站大數(shù)據(jù)培訓(xùn)班出來(lái)能就業(yè)嗎
  • 網(wǎng)站頁(yè)面數(shù)量開(kāi)發(fā)網(wǎng)站的公司
  • 做網(wǎng)站圖片怎么弄一個(gè)自己的網(wǎng)站
  • 河北網(wǎng)站開(kāi)發(fā)費(fèi)用百度電話人工服務(wù)
  • 做門窗接活的網(wǎng)站廣告投放渠道
  • 做我女朋友好不好套路網(wǎng)站seo高級(jí)優(yōu)化技巧
  • 做局域網(wǎng)網(wǎng)站公司網(wǎng)站怎么弄
  • 家居企業(yè)網(wǎng)站建設(shè)如何豬八戒網(wǎng)接單平臺(tái)