關鍵字:被Java語言賦予了特殊含義,用作專門用途的字符串(單詞)
標識符:凡是本身能夠起名字的地方都叫標識符java
變量是java程序中最基本的存儲單元,能夠存儲一個數據
java中變量按照數據類型來分類:基本數據類型 vs 引用數據類型(數組 類 接口)數組
容量小的數據類型自動轉換爲容量大的數據類型,優化
此時的容量大小指的是數的範圍的大小code
byte、char、short、--->int --->long --->float --->double接口
short s = 12;
int i = s + 2;
注意:byte short char之間作運算,結果爲int型!文檔
將取值範圍大/精度高的數據類型 轉爲 取值範圍小/精度低的數據類型字符串
double d1 = 12.9; int t1 = (int)d1;//截斷操做 System.out.println(t1);
char c = 'a'; int num = 10; string str = "hello"; System.out.println(c + num + str); //107hello System.out.println(c + str + num); //ahello10 System.out.println(c + (num + str)); //a10hello System.out.println((c + num) + str); // 107hello System.out.println(str + num + c); // helloa10
運算符是一種特殊的符號,用以表示數據的運算、賦值和比較等string
+ - + - * / % ++ -- +
it
= += -= *= /= %=
編譯
int i= 12; i = i * 5; i *= 5;//與上一行代碼一樣的意思 //【特別地】 short s = 10; s = s + 5;//報編譯的異常 s = (short)(s + 5); s += 5;//s = s + 5,可是結果不會改變s的數據類型。 int m = 2; int n = 3; n *= m++; Sysout(m);// 3 Sysout(n);// 6 int n = 10; n += (n++) + (++n); //32
變量A++ 與 ++變量A的區別
== > < >= <= instanceof
【注意】區分== 與 = 區別。
進行比較運算操做之後,返回一個boolean類型的值
4>=3 表達的是4 > 3或者 4 = 3.結果是true。
if(i > 1 && i < 10){ }
不能寫爲:if(1 < i < 10){}
& && | || ^ !
【注意】區分 & 與 && 的區別,以及 | 與 || 的區別咱們使用的時候,選擇&& , ||
| || ,& &&區別
<< >> >>> & | ^ ~
【例子】1.如何交換m = 12和n = 5的值
2.將60轉換爲十六進制輸出。
m = m + n; n = m - n; m = m - n; // 好處不用定義變量,但有侷限性,只能用數值類型
1. 條件判斷
三種格式
①if(條件表達式){ } ②if(條件表達式){ //執行的語句1; }else{ //執行的語句2; } ③if(條件表達式1){ //執行的語句1; }else if(條件表達式2){ //執行的語句2; }else if( 條件表達式3){ //執行的語句3; }... }else{ //執行的語句; }
注意:
2. 選擇結構
switch(變量){ case 值1: break; case 值2: break; ... default: break; }
注意:
1. 三種格式
①初始化條件 ②循環條件 boolean類型 ③迭代部分 ④循環體 for(①;②;③){ ④ } ① while(②){ ④ ③ } ① do{ ④ ③ }while(②); // 遍歷100之內的偶數 for(int i = 1; i<100; i++){ if(i % 2 == 0){ System.out.println(i); } }
注意:
2. 嵌套循環
循環結構還能夠聲明循環。讓內層循環結構總體充當外層循環的循環體。
若外層循環執行m次,內層循環執行n次,整個程序執行m*n次
//題目 ****** ****** ****** for(int i = 0;i < 3;i++){ for(int j = 0;j < 6;j++){ System.out.print("*"); } System.out.println(); } //說明:外層循環控制行數,內層循環控制列數
3. 無限循環結構
for(;;){ ... if( ){ break; } ... } //或者 while(true){ ... if( ){ break; } ... }
每每咱們在無限循環結構內部提供循環的終止條件,使用break關鍵字。不然,此循環將無限制的執行下去,造成死循環,死循環是咱們要避免的
4. break & continue
break:
使用switch-case結構或者循環結構中
在循環結構中,一旦執行到break,就跳出當前循環。
continue:使用在循環結構中
for(int i = 1;i <= 10;i++){ if(i % 4 == 0){ //break; //123 continue; //123567910 } System.out.print(i); }
在嵌套循環中,使用帶標籤的break和continue
label:for(int i = 1;i < 5;i++){ for(int j = 1;j <= 10;j++){ if(j % 4 == 0){ //break; //continue; //break label; continue label; } System.out.print(j); } System.out.println(); }
/* 題目:輸入兩個正整數,求最大公約數和最小公倍數 好比:12和20的最大公約數是4,最小公倍數是60 */ Scanner scan = new Scanner(System.in); System.out.println("請輸入第一個正整數:"); int m = scan.nextInt(); System.out.println("請輸入第二個正整數:"); int n = scan.nextInt(); // 獲取這兩個數中的最小值 int min = (m <= n) ? m : n; for(int i = min; i > 0; i--){ if(m % i == 0 && n % i == 0 ){ System.out.println("最大公約數爲:"+i); break; } } // 獲取這兩個數中的最大值 int max = (m <= n) ? n : m; for(int i = max; i <= n*m; i++){ if(i % m == 0 && i % n == 0 ){ System.out.println("最小公倍數爲:"+i); break; } }
//100之內的質數的輸出 boolean isFlag = true; for(int i = 2; i <= 100; i++){ for(int j = 2; j < i; j++){ if(i % j == 0){ isFlag = False; break; } } if(isFlag == ture){ System.out.println(i); } isFlag = true; } // 優化 boolean isFlag = true; for(int i = 2; i <= 100; i++){ // j < i的開方 for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0){ isFlag = False; break; } } if(isFlag == ture){ System.out.println(i); } isFlag = true; }