java基础之控制结构

java基础之控制结构

分支

常用有两种分支结构
1)if/else

业务:判断男女,男挣钱,女花钱
If/else
package javase.base.branch;

//if分支测试,测试男女
public class TestIf {
//判断,如果是男,打印“挣钱”;如果是女,打印“花钱”
public static void main(String[] args) {
//条件表达式,要么为true,要么为false
String sex = “woman”;

	//equals比较,sex变量和括号中的内容进行比较
	System.out.println("条件是否成立:"+sex.equals("man"));
	//条件表达式,结果就2个,要么条件成立true,要么条件不成立false
	if(sex.equals("man")) {
		//真 Y
		System.out.println("挣钱");
	}else {
		//假 N
		System.out.println("花钱");
	}
}

}

业务:按数字,如果90以上,包括90,打印“优秀”;如果90以下,打印“一般”

业务:
60分以下不及格,
61~70及格,
71~80中等,
81~90良好,
91~100优秀
//if判断条件都应该互斥
int s = 65;
if(s<=60) {
System.out.println(“不及格”);
}else if(s>60 && s<=70) { //两个条件同时成立
System.out.println(“及格”);
}else if(s>70 && s<=80){
System.out.println(“中等”);
}else {
System.out.println(“上面的都不成立”);
}

2)switch(用的少,可以被if替代)

package javase.base.branch;

//分支
public class TestSwitch {
public static void main(String[] args) {
//需求:电话号码 110/120/119/114
String phone = “158”;
String rtn = “”;

	//switch有一个case成立后面就全都不判断,而且直接执行
	//判断这个变量值下面的对应处理
	switch (phone) {	
	case "110":
		rtn = "人民警察";
		break;	//执行完上面的内容,直接switch结束
	case "120":
		rtn = "医生护士";
		break;
	case "119":
		rtn = "火警电话";
		break;
	case "114":
		rtn = "人工查号";
		break;
	default:	//默认
		rtn = "非法电话";
		break;
	}
	System.out.println(rtn);
	
	
	//判断一个字符
	char c = 'c';	//char可以支持整数
	c = 101;		// ASCII 美国标准规定键盘字对应整数
					// a=97 bit=8个0或者1
	//为什么键盘输入会转换计算机能识别信息,就是ASCII
	
	System.out.println(c);
	
	switch(c) {
	case 'a':
		System.out.println("A");
		break;
	case 'b':
		System.out.println("B");
		break;
	case 'c':
		System.out.println("C");
		break;
	}
}

}

循环

For循环
package javase.base;

public class TestFor {
public static void main(String[] args) throws Exception {
//经典for循环
//有10个*,for()有3个语句
/*
* int i=0; 初始值,变量i,初始化值为0
* i<10 条件表达式,判断条件,结束条件
* java下标从0开始
* 如果判断条件永远不满足,产生经典:死循环
*/

	/*
	 * 执行过程:
	 * 1、int i = 0;初始化,只执行一次
	 * 2、判断条件 i<10,此时i=0;满足条件,继续执行
	 * 3、执行i++,i = i+1;,当前的i=1
	 * 4、执行方法体
	 * 5、再次进来,又去判断,i<10,当前i=1,满足条件
	 * 6、重复上面的步骤
	 * 7、i=10 时,判断i<10,此时条件就不成立,结束
	 */

// for(int i=0; i<10; i++) {
// System.out.println(i);
// Thread.sleep(100); //处理异常,延时1s
// System.out.println("*");
// }
// System.out.println(“执行完成”);

	//双重循环,嵌套关系,只能包含关系,不能一半在里面,一半在外面,不行
	for(int i=0; i<7; i++) {	//外层for
		for(int j=10; j<15; j++) {	//里层for
			System.out.println("i="+ i+" j="+j);
		}
		//System.out.println(j); j变量的作用域
	}
	//双重循环先执行里面循环,在外层循环
	
}

}

整数判断
if(i==6) {}
字符串的判断
String s = “6”;
if(s.equals(“6”)) {}

跳出:
1)break 跳出整个循环,一旦break执行,后面的代码就都不执行了
2)continue 结束本次循环,执行下一次循环
3)return 结束方法,方法直接返回

While循环结构
package javase.base;

public class TestWhile {

public static void main(String[] args) {
	//while结构,也要初始值,也有判断条件,一定要改变条件
	int i = 0;	//和for循环不同的是,初始化条件在while前面
	
	//for(int i=0;i<10;i++){}
	while(i<10) {	//判断条件
		if(i==6) {
			
			//直接退出
			//break;	//快速中断执行
			//return;	//结束程序
			continue;	//继续执行
		}			
		//方法体内改变值
		System.out.println(i);
		i++;

	}
	System.out.println("执行完成");
}

}

Do-while循环
package javase.base;

public class TestDoWhile {
public static void main(String[] args) {
int j = 0;
while(j<0) { //条件不成立
System.out.println(j);
j++;
}

	System.out.println("");
	
	int i = 0;
	do{	//不管条件是否成立最少执行一次
		System.out.println(i);
		i++;
	}while(i<0);
}

}

While循环和do-while循环的差异
1)while可能一次都不执行方法体
2)do-while 最少执行一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值