java的注释、关键字、标识符、变量常量、数据类型、运算符、流程控制等
? ? ? ? ? ? ? ? ? ? ? java的注釋、關鍵字、標識符、變量常量、
? ? ? ? ? ? ? ? ? ? ? ? ? ? 數據類型、運算符、流程控制等
1. java概述
1.1 java的技術體系
? ? ? ? ? ? ? ? ? ? ? Java SE:是Java的標準版,提供了完整的java核心API。
? ? ? ? ? ? ? ? ? ? ? Java EE:是Java的企業版,主要用于開發企業級分布式網絡程序系統,核心為EJB(企業Java組件模型)。
? ? ? ? ? ? ? ? ? ? ? Java ME:主要用于嵌入式系統開發。
1.2 Java語言特點
? ? ? ? ? ? ? ? ? ? ? (1)簡單性:語言省略所有難以理解和困惑的特點在C++語言,如頭文件、指針、結構、單元、運算符重載、虛擬基礎類,等它更簡潔嚴謹;
? ? ? ? ? ? ? ? ? ? ? (2)面向對象:兩個基本概念“類”和“對象”;三大特征“封裝”,“繼承”,“多態”;
? ? ? ? ? ? ? ? ? ? ? (3)跨平臺性:自帶解釋器,在需要運行 java 應用程序的操作系統上,先安裝一個Java虛擬機,在不同的系統平臺上都可以運行;
? ? ? ? ? ? ? ? ? ? ? (4)既是編譯執行的語言,也是解釋執行的語言:源文件通過編譯,形成一個文件(不是二進制文件),而是“字節碼的文件.class”,這個自節碼文件是跨平臺?的文件(java的內部會有自己的解釋器(虛擬機)),使用自帶的“解釋器”解釋執行.class。
?
2. Java程序的編寫流程
2.1 Java應用程序的編寫流程如下:
? ? ? ? ? ? ? ? ? ? ? (1)編寫源文件:編寫Java源文件,他的擴展名為.java;
? ? ? ? ? ? ? ? ? ? ? (2)編譯:通過編譯器把源文件編譯成字節碼文件,字節碼文件的擴展名為.class;
? ? ? ? ? ? ? ? ? ? ? (3)運行:使用解釋器來運行字節碼文件
2.2 源文件代碼編寫
? ? ? ? ? ? ? ? ? ? ? 在e盤下新建一個文本文檔,文件名為MyFirstCode.java,內容如下:
public class MyFirstCode {public static void main(String[] args) {System.out.println("This is my fisrt code");} }2.3 編譯源代碼文件
? ? ? ? ? ? ? ? ? ? ? 編譯操作需要使用編譯器來完成,它屬于JDK的一部分,在安裝JDK的時候已經安裝好了,位置位于JDK的bin目錄? ? ? ? ? ? ?下的javac.exe,使用DOS命令來運行它,如下圖。
? ? ? ? ? ? ? ? ? ? ?
?? ? ? ? ? ? ? ? ? ? 在編譯時控制臺上不會有輸出,如果有輸出說明源代碼有錯誤,所以大家一旦編譯出錯,就要去查看源文件中是否? ? ? ? ? ?存在錯誤,正確編譯后會在源文件同目錄下生成字節碼文件,擴展名為.class。
? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ??
2.4 運行字節碼文件
? ? ? ? ? ? ? ? ? ? ? 運行字節碼文件需要使用java.exe命令,它與javac.exe在同一目錄下,運行字節碼文件與編譯不同的是需要進入到? ? ? ? ? ?字節碼文件所在的目錄,并且在運行字節碼文件是不要加擴展名,運行如下圖。
? ? ? ? ? ? ? ? ? ? ?
2.5 簡化編譯和運行操作
? ? ? ? ? ? ? ? ? ? ? 可以發現每次程序編譯與運行都要輸入E:\ProgramFiles\jdk-8u144\bin后,才能使用javac.exe與java.exe,這樣的? ? ? ? ? ?方式很麻煩,通過通過配置Windows的PATH環境變量就可以在不同位置編譯運行。
? ? ? ? ? ? ? ? ? ? ? 配置PATH環境變量:鼠標右鍵點擊計算機 ?→ ?屬性 ?→ ?高級系統設置 ?→ ?點擊環境變量 ?→ ?找到系統變量中的? ? ? ? ? ?PATH ?→ ?點擊編輯按鈕。將JDK安裝目錄\bin路徑(我的電腦上的E:\ProgramFiles\jdk-8u144\bin)配置到PATH變量中,用? ? ? ? ?英文分號與其他變量隔開。還可如下配置環境變量:
? ? ? ? ? ? ? ? ? ? ? (1)創建變量:變量名為:JAVA_HOME 變量值:安裝JDK的目錄;
? ? ? ? ? ? ? ? ? ? ? (2)修改Path變量:在末尾添加信息: ??;%JAVA_HOME%\bin;
? ? ? ? ? ? ? ? ? ? ? (3)配置classpath:??.;%JAVA_HOME%\lib\tools.jar。
?
3. 注釋
Java中提供了三種注釋方式,分別是:
? ? ? ? ? ? ? ? ? ? ? (1)單行注釋 ???//注釋內容
? ? ? ? ? ? ? ? ? ? ? (2)多行注釋 ???/*注釋內容*/
? ? ? ? ? ? ? ? ? ? ? (3)文檔注釋 /**注釋內容*/
文檔注釋的使用:javadoc –d 生成目錄?–version –author 類名
4. 關鍵字
關鍵字是被Java語言賦予特殊含義,具有專門用途的單詞,Java中的關鍵字均為小寫關鍵字如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5. 標識符
5.1 定義
? ? ? ? ? ? ? ? ? ? ? 在Java程序中,其實標識符就是名稱的意思,除了關鍵字以外基本上都是標識符了,在定義類、方法、變量時總? ? ? ? ? ? ? ?要給它們起名字,這些名字就是標識符。
5.2 組成元素
? ? ? ? ? ? ? ? ? ? ? (1)英文字母:?a-zA-Z
? ? ? ? ? ? ? ? ? ? ? (2)數字:0-9
? ? ? ? ? ? ? ? ? ? ? (3)符號:_和$
5.3 規則
? ? ? ? ? ? ? ? ? ? ? (1)不能以數字開頭;
? ? ? ? ? ? ? ? ? ? ? (2)不可以使用關鍵字
? ? ? ? ? ? ? ? ? ? ? (3)嚴格區分大小寫
?
6. 變量與常量
6.1 常量
? ? ? ? ? ? ? ? ? ? ? 在程序運行過程中一直不會改變的的量稱為常量,通常也被稱為“final變量”,。常量在整個程序中只能被賦值? ? ? ? ? ? ? ? ? ? ?一?次。在Java中聲明一個常量除了要指定數據類型外。還需要通過final關鍵字進行限定,語法如下:
? ? ? ? ? ? ? ? ? ? ? final 數據類型 常量名 [ = 值 ]
? ? ? ? ? ? ? ? ? ? ? 常量名通常使用大寫字母,但這并不是必須的,是為了清除的表名變量。
? ? ? ? 6.2 變量
? ? ? ? ? ? ? ? ? ? ??在程序運行過程中其值能被改變的量稱為變量,可以看成是存儲數據的“盒子”。定義變量就是要告訴編譯器這個變? ? ? ? ? ? 量的數據類型,這樣編譯器才知道要分配多少內存給它,以及它能存放什么樣的數據。在程序運行過程中,空間內的值是? ? ? ? ? ? 變化的,這個內存空間就稱為變量。內存空間內的值就是變量值。語法如下:
? ? ? ? ? ? ? ? ? ? ??變量類型? 變量名 ?[ = ?變量值]? ? ? ? ? ? ? []中的叫做變量的初始化
? ? ? ? ? ? ? ? ? ? ? 內存分配方式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)基本數據類型:占用一塊內存,如局部變量int i=1;在內存里面只分配了一塊內存,里面存放的就是值? ? ? ? ? ? ? ? ? ? ? ? 1,儲到棧內存中,使用i這個名字來訪問這塊內存。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)引用數據類型:占用兩塊內存,如 String s此時為引用變量s分配了一塊內存,但是目前這個內存什么? ? ? ? ? ? ? ? ? ? ? ? 也沒有存,因為此時s不指向任何一個對象,所以是null。當s=new String(“hi”)使用new創建了一個對象后,又分配? ? ? ? ? ? ? ? ? ? ? ? 一塊內存(堆),這個對象的內容“hi”就存放在新分配的內存中。而之前給s分配的內存也有了內容,根據這? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?個內容就可以找到第二塊內存,使用其中的內容(“hi”)
7. 數據
7.1 數據類型
? ? ? ? ? ? ? ? ? ? ? Java中的數據類型分為基本數據類型和引用數據類型。
? ? ? ? ? ? ? ? ? ? ? 引用數據類型(無限個數):類,接口,數組?,String 等(它用雙引號)
? ? ? ? 7.2 數據類型分類
| 四類 | 八種 | 字節數 | 范圍 |
| 整型 | byte | 1 | -2^7~2^7-1 |
| short | 2 | -2^15~2^15-1 | |
| int | 4 | -2^31~2^31-1 | |
| long | 8 | -2^63~2^63-1 | |
| 浮點型 | float | 4 | ? ? ? ? ? ? ? -3.403E38~3.403E38 |
| double | 8 | ? ? ? ? ? ? ?-1.798E308~1.798E308 | |
| 字符型 | char | 2 | ? ? ? ? ? ? ? ? ? ? 表示一個字符 |
| 布爾型 | boolean | 1 | ? ? ? ? ? ? ? 只有兩個值true與false |
?
? ? ? ? 7.3 類型的轉換
? ? ? ? ? ? ? ? 2.2.1.高低的級別:
? ? ? ? ? ? ? ? ? ? ??byte,short,char=>int=>long=>float=>double其中,boolean類型不能跟其他類型之間做轉換。
? ? ? ? ? ? ? ? 2.2.2.自動類型轉換(隱式轉換,寬向型轉換):
? ? ? ? ? ? ? ? ? ? ? ? 將第類型賦值給高類型,如:Short?s=10;Int i=20;i=s;
? ? ? ? ? ? ? ? 2.2.3.強制類型轉換:
? ? ? ? ? ? ? ? ? ? ? ? 將高類型賦值給低類型,需要強制裝換,格式:低類型 ?變量=(低類型)變量。
? ? ? ? ? ? ? ? ? ? ? ? 注意:強制類型轉換可能會丟失精度,代碼如下
? ? ? ? ? ? ? ? ? ? ? ? int i = 357;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//4字節 ?32位的二進制數
? ? ? ? ? ? ? ? ? ? ? ? byte b = (byte)i;? ? ? ? ? ? ? ? ? ? ?//1字節 8位的二進制
? ? ? ? ? ? ? ? ? ? ? ? System.out.println(b);? ? ? ? ? ??// 結果為101
? ? ? ? ? ? ? ? 2.2.4.字符串和其它類型轉換:
? ? ? ? ? ? ? ? ? ? ? 字符串和其它類型轉換會提升成String類型
8. 運算符
? ? ? ? 8.1 算術運算符
? ? ? ? ? ? ? ?
| 運算符 | 運算規則 | 范例 | 結果 |
| + | 拼接字符串 | "拼" + "接" | 拼接 |
| + | 正號 | +1 | 1 |
| + | 加 | 1+2 | 3 |
| - | 負號 | -1 | -1 |
| - | 減 | 2-1 | 1 |
| * | 乘 | 1*2 | 2 |
| / | 除 | 5/2 | 2 |
| % | 取余 | 3/2 | 1 |
| ++ | 自加 | ? ? ? ? ? ? ? int a=1; ? ? ? ? ? ? ?a++/++a | 2 |
| -- | 自減 | ? ? ? ? ? ? ? int b=3; ? ? ? ? ? ? ? ?a--/--a | ? ? ? ? ?2 |
? ? ? ? ? ? ? ? 注意:%取余操作和取模操作的區別,在于商:取余操作:商向0取整;模操作:商向下取整
? ? ? ? ? ? ? ? ? ? ? ? ? ?++:前置++ ?后置++:無論是前置還是后置,都對原來的變量進行+1, 對于表達的結果不同,后置++(會緩? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 存變量之前的值)指向的是變量+1之前的結果。
? ? ? ? 8.2 賦值運算符
?
| 運算符 | 運算規則 | 范例 | 結果 |
| = | 賦值 | int i=2; | 2 |
| += | 加后賦值 | int i= 2,i+=1 | 3 |
| -= | 減后賦值 | int i= 2,i-=1 | 1 |
| *= | 乘后賦值 | int i= 2,i*=1 | 2 |
| /= | 除后賦值 | int i= 2,i/=1 | 2 |
| %= | 取余后賦值 | int i= 2,i/=1 | 0 |
? ? ? ? ? ? ? ?
? ? ? ? 8.3 比較(關系)運算符
? ? ? ? ? ? ? ?
| 運算符 | 運算規則 | 范例 | 結果 |
| == | 相等于 | 2==2; | True |
| != | 不等于 | 2!=2; | False |
| < | 小于 | 2<1 | False |
| > | 大于 | 2>1 | True |
| <= | 小于等于 | 2<=1 | False |
| >= | 大于等于 | 2>=1 | True |
?
? ? ? ? ? ? ? ? 注意:==如果兩側都是基本數據類型,則比較的是值大小;如果兩側都是引用類型,則比較的是地址是否是同一個
? ? ? ? 8.4 邏輯運算符
? ? ? ? ? ?
| 運算符 | 運算規則 | 范例 | 結果 |
| & | 與 | false&true | False |
| | | 或 | false|true | True |
| ! | 非 | !true | False |
| ^ | 異或 | false^true | True |
| && | 短路與 | false&&true | False |
| || | 短路或 | false||true | True |
?
? ? ? ? ? ? ? ? 短路現象:&& 第一個表達式為false,則后面的表達式不執行
?????????? ? ? ? ? ? ? ? ? ? ? ? ?|| 第一個表達式為true,則后面表達式不執行
? ? ? ? 8.5 位運算符
? ? ? ? ? ? ? ?
| ? ? ? ? ?符號 | 運算規則 | 范例 | ? ? ? ? 結果 |
| ? ? ? ? ? >>? | 右位移 | ? ? ? ? ?12 >> 2 | ? ? ? ? ?3 |
| ? ? ? ? ? << ?? | 左位移 | ? ? ? ? ?12 << 2 | ? ? ? ? ?48 |
| ? ? ? ? ?>>> ? | 無符號右位移 | ? ? ? ? ?12>>> 2 | ? ? ? ? ? 3 |
| ? ? ? ? ? ?& ? | ?按位與 | ? ? ? ? ?12 & 9 | ? ? ? ? ? 8 |
| ? ? ? ? ? | ? | 按位或 | ? ? ?? ? 12| 9 | ? ? ? ? ?13 |
| ? ? ? ? ? ? ^ ?? | 按位異或 | ? ? ? ? ?12^ 9 | ? ? ? ? ? 5 |
?
? ? ? ? ? ? ? ? 位運算符是對于補碼進行的按位操作:
?????????? ? ? ? ? ? ? ? ? ? ? ? &??:如果兩個都是1,則返回1,否則返回0
?????????? ? ? ? ? ? ? ? ? ? ? ? |??: ?如果兩個都是0,則返回0,否則返回1
?????????? ? ? ? ? ? ? ? ? ? ? ? ^??: ?如果兩個相同,則返回0,否則 ,返回1
?????????? ? ? ? ? ? ? ? ? ? ? ? ~?:一元運算符,對于某一個數的補碼進行按位取反,包括符號位。
? ? ? ? 8.6 三元運算符
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? 語法:?條件表達式?值1:值2
? ? ? ? ? ? ? ? 規則:如果條件表達式返回為真,取值1,否則取值2;值1表達式的類型和值2的表達式類型一致
? ? ? ? 8.7 運算符的優先級
| 優先級 | 描述 | 運算符 |
| 1 | 括號 | ()、[] |
| 2 | 正負號 | +、- |
| 3 | 自增自減,非 | ++、--、! |
| 4 | 乘除,取余 | *、/、% |
| 5 | 加減 | +、- |
| 6 | 移位運算 | <<、>>、>>> |
| 7 | 大小關系 | >、>=、<、<= |
| 8 | 相等關系 | ==、!= |
| 9 | 按位與 | & |
| 10 | 按位異或 | ^ |
| 11 | 按位或 | | |
| 12 | 邏輯與 | && |
| 13 | 邏輯或 | || |
| 14 | 條件運算 | ?: |
| 15 | 賦值運算 | =、+=、-=、*=、/=、%= |
| 16 | 位賦值運算 | &=、|=、<<=、>>=、>>>= |
?
? ? ? ? ? ? ? ? 優先級:? ()調整優先級
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 大體遵循規則:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 算術運算符>?比較運算符 >?位運算符>?邏輯運算符>?賦值運算符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? !優先級別最高
? ? ? ? ? ? ? ?
9. 流程控制
9.1 順序結構
? ? ? ? ? ? ? ? ? ? ? 程序從上到下,從左到右執行。
9.2 分支結構
? ? ? ? ? ? ? ? ? ? ? if結構語法,有3種如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1) if(條件表達式){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行語句
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
int i = 2; if(i == 2) {System.out.println(i); }? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2) if(條件表達式){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行成立語句1
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行不成立語句2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
int x = 5; int y = 2; if(x==3) {y = x + y; }else {y = x - y; } System.out.println(y);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3) if(條件表達式1){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行語句2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else if(條件表達式2){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行語句2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//執行語句3
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
int x = 10;int y = 0;if(x>=3) {y = 2 * x + 1;}else if(-1<x && x<3){y = 2 * x;}else if(x<=-1){y = 2 * x - 1;} System.out.println(y); }? ? ? ? ? ? ? ? ? ? ? 注意:(1)分支語句中執行語句只有一個表達式可以省略大括號,否則不能省略。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)多分支語句中將條件范圍小的放在最前面;如果前面的條件成立,后面的條件即使成立也不執行。
? ? ? ? ? ? ? ? ? ? ? switch結構語法:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? switch(變量/常量){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 值1:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行1;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case 值2:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行2;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ......
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?defualt:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行3;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? 注意:(1)變量/常量的類型只能是:byte,short,int,char,String(jdk1.7后),枚舉;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)當省略break時,順序從滿足條件的語句從上到下執行,與case無關;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)case塊中的值是唯一的,并且是等值比較的。
int score = 99; switch (score / 10) { case 9:case 10:System.out.println("A");break;case 8:System.out.println("B");break;case 7:System.out.println("C");break;case 6:System.out.println("D");break;default:System.out.println("不及格");break;}9.3 循環
? ? ? ? ? ? ? ? ? ? ? for循環
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?for(初始值表達式①,條件表達式②,迭代④){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行③
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
//水仙花樹(100~500) 153=1*1*1+5*5*5+3*3*3 for(int i=100;i<500;i++) {int theUnit = i%10;int decade = i/10%10;int hundred = i/100;if(i==theUnit *theUnit *theUnit +decade *decade *decade +hundred *hundred *hundred ) {System.out.println(i);} }? ? ? ? ? ? ? ? ? ? ? while循環
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 初始值①
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while(條件表達式②){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行③
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //迭代④
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
//100以內能被5整除的數的和 int sum = 0; int i=1; //初始值 1 while(i<=100) { if(i%5==0) {sum += sum;}i++; }? ? ? ? ? ? ? ? ? ? ? do while循環
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始值①
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?do{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行②
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //迭代③
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}while(條件表達式④);
//輸入字母,如果為q則退出系統 Scanner in=new Scanner(System.in); System.out.println("請輸入字母, 輸入q則退出系統"); String letter =""; do {letter=in.nextLine(); } while (!letter.equals("q")); System.out.println("退出系統");? ? ? ? ? ? ? ? ? ? ? foreach循環(增強for循環)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?for(類型 對象 : 數組或集合){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //執行操作
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? 注意:(1)按照①-④的循序執行;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)for循環和while循環的特點:先判斷,后執行;do while先執行一次再判斷;增強for循環用于變量數組? ? ? ? ? ? ? ? ? ? ? ? 或集合。
//遍歷數組 int[] array = new array[]{11,22,33,44,55,66}; for(int every : array){System.out.println(every + " "); }9.4 嵌套循環
? ? ? ? ? ? ? ? ? ? ? 在一個循環中又嵌套另一個循環結構。
? ? ? ? ? ? ? ? ? ? ? 嵌套循環特點:外層循環執行一次,內層循環執行全部。
for(int i=0;i<10;i++) { for(int j=0;j<=i;j++) {System.out.print("*");}System.out.println();}9.5 關鍵字break與continue
? ? ? ? ? ? ? ? ? ? ? break(終止,打斷):只能出現在switch語句和循環結構中;在循環中表示終止循環;后面不能跟輸出語句;
? ? ? ? ? ? ? ? ? ? ? continue(繼續):只能出現在循環結構中;表示結束當前循環,進入下一次循環;
? ? ? ? ? ? ? ? ? ? ? 循環標號見如下代碼:
label:for(int i=2;i<=100;i++) { for(int j=2;j<=Math.sqrt(i);j++) { if(i%j==0) {continue label;}}}? ? ? ? ? ? ? ? ? ? ? break和continue都遵循就近原則。正常的break只退出一重循環,你可以用標號標出你想退出哪一個語句。
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的java的注释、关键字、标识符、变量常量、数据类型、运算符、流程控制等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础(三)--序列
- 下一篇: Flink运行时架构