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);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章