JAVA基礎知識筆記(二)

day02

1、運算符
1>算術運算符:+(加),-(減),*(乘),/(除),%(取餘),++(加加),–(減減)

int a = 5,b = 10,c = 15;
System.out.println(a+b);//15
System.out.println(b-1);//5
System.out.println(a*b);//50
System.out.println(b/a);//2
System.out.println(c/b);//1,整數相除結果只能是整數,整數其餘的部分會被捨棄

++,–放在變量前後運算的結果截然不同

int a = 5,b = 10;
System.out.println(a++);//運算結果:5,a的值變爲6
System.out.println(++b);//運算結果爲:6,a的值變爲6
int c = a++;
System.out.println(c);//結果:c=6,a=7

2>關係運算符:>(大於),<(小於),>=(大於等於),<=(小於等於),==(等於等於),!=(不等於)
關係運算符的運算結果爲boolean類型

int a = 5,b = 10;
System.out.println(a>=b);//false
System.out.println(a==b);//false
System.out.println(a!=b);//true

3>邏輯運算符:&&(與),||(或),!(非),運算結果也是boolean類型
邏輯運算符常常與關係運算符一起使用
&&:兩邊都爲true則爲true,否則爲false
||:兩邊都爲false則爲false,否則爲true
!:表示取反,兩邊一真一假

int a = 5,b = 10,c = 15;
boolean d = a<=b && a>=c;
System.out.println(d);//false,d=true&&false=false
int e = a<=b || a>=c;
System.out.println(e);//true,e = true||false=true

4>賦值運算符:=,+=,-=,*=,/=,%=

int a = 5,b = 10;
System.out.println(b+=a);//15,b+=a即b=b+a=15;
int c = 15;
System.out.println(c/+a);//3,c/=a即c=c/a=3;

5>字符串連接運算符:+

String a = 3+4+"hello"+5;
System.out.println(a);//7hello5
String b = "hello" + " " + "world";//hello world

6>條件/三目運算符:boolean?數1:數2;
若boolean結果爲true,則返回結果爲數1;若boolean結果爲false,則返回結果爲false

int a = 5,b = 10;
int c = a>b?a:b;
System.out.println(c);//10,a>b結果爲false,返回結果爲b=10

2、分支結構
1>if結構,1條路
2>if…else結構,2條路

boolean flag = true;
if(flag){}//if結構
if(number>=100){語句塊1
}else{語句塊2
}//if...else語句

3>if…else if結構:多條路

	if(條件語句1){
	代碼塊1
	}else if(){
	代碼塊2
	}else{
	代碼塊3
	}

4>嵌套if

	if(條件1){
		代碼塊1
		if(條件2){
		代碼塊2
		}
	}else{
	代碼塊3
	}
if(score>=0 && score<=100) {
	if(score>=90) {
		System.out.println("A-優秀");
	}else if(score>=80) {
		System.out.println("B-良好");
	}else if(score>=60) {
		System.out.println("C-中等");
	}else {
		System.out.println("D-不及格");
	}
}else {
	System.out.println("成績不合法");
}

5>switch…case結構,多條支路
優點:效率高,結構清晰
缺點:表達式的值和case的值相等,且必須爲整數

		switch(表達式){
		case 值1:
			執行代碼塊1;
			break;;
		case 值2:
			執行代碼2;
			break;;
		case 值3:
			執行代碼3;
			break;
		default:
			默認代碼塊;
		}

break跳出switch語句,若中間未遇到break,則會向下移動;
若所有的值都不符合,則會默認執行default語句

int num = 4;
		switch(num) {
		case 1:
			System.out.println("Monday");//星期一
			break;
		case 2:
			System.out.println("Tuesday");//星期二
			break;
		case 3:
			System.out.println("Wednesday");//星期三
			break;
		case 4:
			System.out.println("Thursday");//星期四
			break;
		case 5:
			System.out.println("Fraaday");//星期五
			break;
		case 6:
			System.out.println("Saturday");//星期六
			break;
		case 7:
			System.out.println("Sunday");//星期天
			break;
		default:
			System.out.println("請輸入合法數據");//不在上述任何一種情況之內
		}
		/* 輸出:Thursday */

4,循環結構
任何複雜的程序邏輯都可以通過三種結構來實現:
1)順序結構:從上往下逐行執行,每句必走
2)分支結構:有條件的執行某語句一次,並非每句必走
3)循環結構:有條件的執行某語句多次,並非每句必走
循環:反覆執行一段相同或相似的代碼
循環三要素:
1)循環變量的初始化
2)循環的條件(以循環變量爲基礎)
3)循環變量的改變(向着循環的結束變)
循環變量:在整個循環過程中所反覆改變的那個數
1>while語句
while循環語句格式:

		while(判斷條件語句){
			循環體語句;
		}

2>do…while語句

		do{
			循環體語句;
		}	while(判斷條件語句)

while和do…while的區別:while是先判斷後執行,do…while是先執行後判斷,且至少執行一次循環體語句。
3>for循環語句

		for(初始化語句;判斷條件語句;控制條件語句) {
     循環體語句;
	 }

特點:三個語句之間,語句可以省略,但分號不可省略;
下面我們舉例分別用三種循環求1-100的和:

/* for循環 */
public class Sum {
	public static void main(String[] args) {
		int sum = 0;
		for(int i=1;i<=100;i++) {
/* i=1,循環變量的初始化
 * i <100,循環的條件
 * i++,循環變量的改變
 */
			sum+=i;
		}
		System.out.println(sum);
	}
}
/* while循環 */
public class Sum {
	public static void main(String[] args) {
		int sum = 0,i=1;//循環變量的初始化
		while(i<=100) {//循環的條件
			sum+=i;
			i++;//循環變量的改變
		}
		System.out.println(sum);
	}
}
/* do...while循環 */
public class Sum {
	public static void main(String[] args) {
		int sum = 0,i=1;//循環變量的初始化
		do {
			sum+=i;
			i++;//循環變量的改變
		}while(i<=100);//循環的條件
		System.out.println(sum);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章