1、Java的八種基本資料型別
1、byte 1位元組 取值范圍:-128~127
2、short 2位元組 取值范圍:-32768~32767
3、int 4位元組 取值范圍:-231~231-1 # int是開發中最常用的,也是Java中默認的資料型別
4、long 8位元組 取值范圍:-263~263-1 #宣告超過int取值范圍的long型別的資料的時候,在值的上面加L或者l,否則報錯,
例:long l1 = 28299228; long l2 = 27828299292929L;
5、float 4位元組 #宣告float型別資料的時候,需要加f后者F float的有效位數為8位
例:float f2 = 1.23456789123f; System.out.println(f2); //1.2345679
float f3 = 2828.8989898989f; System.out.println(f3); //2828.899
6、double 8位元組 有效位數為16位,
7、char 2位元組 #字符型別的資料使用單引號進行引起來,而且單引號中只能有一個元素
例:char ch1 = '上'; char ch2 = 'k';
8、boolean 1位元組 值為true或false
2、類和變數的命名規范
類的命名:
1.首字母大寫
2.如果有多個單詞組成的類名 采用大駝峰的命名規則 HelloWorld SingleDog
變數的命名:
1.變數的命名可以使用 數字,字母,_,$等組成,但是不能以數字開頭
2.首字母不能大寫
3.采用的是小駝峰命名規則 或者采用下劃線連接多個單詞的寫法
4.命名一定要見名知意
5.已經被Java預留的關鍵不能再作為變數的名字了
3、轉義字符
目的: 將一個無意義的字符轉為有意義的字符或者將一個有意義的字符轉為無意義的字符
語法格式:
\字符(有特殊意義的字符或者無特殊意義的字符)
兩個特殊的符號:
\t: 制表符 空格
\n: 換行
4、運算子
1、算術運算子
+ - * \
注:算數運算中,兩個整數型別的的數,“\”運算的值為結果的整數部分,小數部分舍棄
int m=20, n=3;System.out.println(m/n); 結果:6
+= -= *= /= %=
a+=b是a=a+b的簡寫,后面其他三項同理
自增與自減 變數++ ++變數 變數-- --變數
變數++;先執行當前操作,后變數自身+1
int b=3; System.out.println(b++); //3 #先執行輸出變數b的操作,后變數b的值+1 System.out.println(b); //4
int a = 5; int i = 5; // a = 5 + 6 + 8 + 9 a = i++ + i++ + ++i + ++i; System.out.println(a);//28 System.out.println(i);//9 //a = 9 + 9 + 9 a = i-- + ++i + i++; System.out.println(a);//27
2、關系運算子
> < >= (大于等于) <=(小于等于) !=(不等于) ==(等于)
語法格式: boolean 變數名字 = 值1 關系運算子 值2;
boolean ret1 = 3 > 4; System.out.println(ret1);//false boolean ret2 = (5 > 1); System.out.println(ret2);//true boolean ret3 = 4 >= 3; System.out.println(ret3);//true boolean ret4 = 5 == 5; System.out.println(ret4); boolean ret5 = 6!=6; System.out.println(ret5);//false
3、邏輯運算子
&&
語法格式: 關系運算子的運算式1 && 關系運算子的運算式2 //如果運算式都為true的時候整體結果i就為true,如果有一個運算式為false,那么整體就為false boolean ret = (3 > 4) && (4 > 2); System.out.println(ret);//false boolean ret1 = (5 >1) && (3 >2) && (9 >= 7); System.out.println(ret1);//true
||
boolean ret1 = 3 > 4 || 5 >3; //|| 或是只要有一個為true 則整體為true, 兩個都是false才為false System.out.println(ret1);//true boolean ret2 = 5 < 3 || 7 < 2 || 7 < 4; System.out.println(ret2);//false
非: !
boolean ret3 = !(3 > 4);//取反 System.out.println(ret3); //true
邏輯與的短路原則:
條件1 && 條件2 && 條件3&&... 只要有一個為false整體就為false
注意: 條件1為false的話,已經確定整體為false,后面的條件就不再運行,
邏輯或的短路原則
條件1 || 條件2 ||...
只要一個為true,整體就為true了,
注意: 如果條件1 為true的話,后面的條件就不再執行,因為條件1為true的話
已經確定整體的結果了,后面的條件結果不會影響整體的結果了,所以直接短路
//邏輯與的短路原則 int num = 10; boolean ret1 = (3 < 2) && (++num > 12); System.out.println(ret1);//false System.out.println(num);//10 //邏輯或的短路原則 int num1 = 10; boolean ret2 = (3 > 2) || (++num1 > 90); System.out.println(ret2);//true System.out.println(num1);//10
5、分支結構
1、if 分支
語法格式:
if (運算式) { 陳述句體 }
運算式: 一定回傳值是布爾型別資料的運算式,(關系運算子運算式和邏輯運算子運算式)
執行流程:首先進入if 判斷if后面小括號中的運算式的值 如果為true 則執行后面大括號中的陳述句體,
如果為false,就不執行大括號中的二陳述句體,代碼要繼續往下執行
int a = 3; if (a < 1) {//小括號中的運算式的結果決定這大括號里面是否執行 System.out.println("嘻嘻,3 大于1"); } System.out.println("代碼執行結束");
2、if-else分支
語法格式:
if (運算式) { 陳述句體1 } else { 陳述句體2 }
執行流程:判斷運算式,如果運算式為true,執行陳述句體1,如果運算式為false 執行陳述句體2
兩者只能選其一
int money = 30;//口袋里面有30塊錢 //如果口袋里面的錢超過了20,列印我就吃頓好的,鮑魚 //如果口袋里面的錢沒有超過了20,列印就湊合一下,泡面 if (money > 20) { System.out.println("我就吃頓好的,鮑魚"); } else { System.out.println("就湊合一下,泡面+加腸"); }
3、if-else if 分支
語法格式:
if (運算式1) { 陳述句體1 } else if (運算式2) { 陳述句體2 } else if (運算式3) { 陳述句體3 }else if (運算式4) { 陳述句體4 }else { 陳述句體n }
執行流程: 如果碰到if后面的小括號中的運算式的值為true的時候,就執行對應大括號中的陳述句體,其他陳述句體一概不執行,若所以判斷條件均未通過,執行else后的陳述句體,
多種條件只能選擇其一 例:
如果語文成績大于80分且數學成績大于80分,列印給獎學金
如果語文成績小于80分大于60且數學成績大于60分小于80,列印及格
如果語文成績小于30分且數學成績小于30分,列印重修
int chineseScore = 89;//語文成績 int mathScore = 29;//數學成績 /**chineseScore >= 80 && mathScore >= 80 * 89>=80 && 29>=80 true && false 整體結果就是false * */ if (chineseScore >= 80 && mathScore >= 80) { System.out.println("給獎學金"); } else if ((chineseScore >= 60 && chineseScore < 80) && (mathScore >= 60 && mathScore < 80)) { System.out.println("及格"); } else if (chineseScore< 30 && mathScore < 30) { System.out.println("重修"); } else { System.out.println("繼續努力!!!有一門需要努力"); }
4、switch-case分支
只有當滿足當前的條件的時候才會執行前的陳述句體
語法格式:
switch (運算式) {//運算式 結果是一個具體的值 不是布爾型別的值 case 常量1: 陳述句體1; break; case 常量2: 陳述句體2; break; case 常量3: 陳述句體3; break; ... default://其他的情況 陳述句體n; break; }
執行流程:
首先計算運算式的值,拿到這個值以后去和case后面的常量去匹配,如果發現一致,就執行當前陳述句體
int score = 28; //找規律: 90~100 91/10=9 92/10 =9 99/10=9 //87/10=8 81/10=8 switch (score / 10) { case 10: System.out.println("優秀"); break; case 9: System.out.println("優秀"); break; case 8: System.out.println("良好"); break; case 7: System.out.println("一般"); break; case 6: System.out.println("及格"); break; default: System.out.println("不及格,要努力"); break; }
注:swicth運算式中,常量的值可取的資料型別
byte short int char String 列舉(jdk1.8新特性)
接收控制臺的資料給 Java中某一個變數
1.導包 import java.util.Scanner; 2.創建一個物件 Scanner 物件 Scanner scanner = new Scanner(System.in); 3.拿物件sc呼叫方法獲取控制臺的各種型別的資料 int a = scanner.nextInt(); //獲取的是整數型別的 double a = scanner.nextDouble(); //獲取的是小數型別的 boolean b1 = scanner.nextBoolean(); //獲取的是布爾型別的 String str = scanner.next(); //獲取的是字串型別的 char ch1 = scanner.next().charAt(3); //獲取字符,依靠字串來獲取 獲取控制臺輸入的字串的4位字符
5、三目運算子
語法格式:資料型別 x = 運算式 ? 值1 : 值2;
執行流程: 先判斷運算式 的真偽,如果運算式為true的話,將值1賦值給變數x,如果運算式為false的話就會將值2賦值給變數x,
int a1 = 20; int c1 = a1 > 50 ? 30 : 0; //先判斷 a1 > 50 的值,如果true 將30 f賦值c1 如果為false 將0 賦值給c1 System.out.println(c1); // 0 //等效于 if ( a1 > 50) { c2 = 30; } else { c2 = 0; }
6、回圈結構
回圈至少三個條件: 1.初始化條件 2.回圈條件 3.終止條件
1、while回圈
語法格式:
while (布爾運算式) { 回圈體; }
執行流程:
如果代碼執行到while以后,首先判讀小括號中的布爾的運算式
如果布爾運算式為true,執行大括號中的回圈體,然后再次到while
再次判斷布爾運算式,
直到布爾運算式為false的時候,終止回圈,
例:列印1 ~9這些數字
int i = 1; while (i < 10) { System.out.println(i+" ");//剛好借助i的值 來完成輸出 i++; }
1 2 3 4 5 6 7 8 9
2、do-while
語法格式:
do { 回圈體 } while (布爾運算式);
執行流程:
首先代碼走到 do
執行do后面大括號中的代碼(回圈體),然后執行while后面的布爾運算式,
判斷布爾運算式
如果運算式為true 的話,再次回到do 執行回圈體,然后執行while后面的布爾運算式
判斷布爾運算式
直到布爾運算式為false的話,回圈結束
int i = 9; do { System.out.println("hello"); i++; } while (i < 3);
注:while 回圈和do-while的區別-->while先判斷根據判斷的結果后執行, do-while 先執行后判斷
3、for回圈
語法格式:
for (運算式1; 運算式2; 運算式3) { 回圈體; }
運算式1:初始化的值 運算式2:終止條件 運算式3:回圈條件
執行流程: 先執行運算式1
然后執行運算式2進行判斷
如果運算式2為true,執行后面大括號中的代碼,然后再執行運算式3,
回去執行運算式2進行判斷
如果為true 繼續執行后面大括號中的代碼,執行后面大括號中的代碼,執行運算式3,
再次判斷運算式2,直到運算式2位false 大括號中的代碼不再執行
for (int i=0;i<10;i++){ System.out.print(i+" "); }
0 1 2 3 4 5 6 7 8 9
4、嵌套回圈
回圈中嵌套另外一個回圈
例:列印直角三角形
for (int i = 1; i < 5; i++) {//控制的行 4行 for (int j = 1; j <= i; j++) {//控制的列 讓你 System.out.print("* "); } System.out.println(); }
* * * * * * * * * *
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/556399.html
標籤:其他
上一篇:微信小程式訂閱模板訊息推送
下一篇:返回列表
