黑马程序员Java基础之流程控制(control)

 ---------------------- android培训java培训、期待与您交流! ----------------------

基础要点

1、  控制中的三种结构

2、  算法在流程控制中的应用

3、  Jdk1.5中的增强for循环

for的应用之冒泡排序

/**for应用之冒泡排序
 * 从一组数种获取最大
 */
public class CycleAplication {
	public static void main (String arg[]){
		int a[] = {1,6,9,7};
		int i,temp;
		//两个一比较4格数要比三次
		for(i=0;i<=3;i++){
			//如果第一个数大于第二个,换位置
			if(a[i]<a[i+1])
				temp = a[i+1];
			else
				temp = a[i];
			a[i+1] = temp;
		}
		//输出最大数
		System.out.println(a[i+1]);
	}
}

swtich应用之根据等级显示成绩

/**swtich应用
 * 根据等级显示成绩
 * 设:90分以上为A,80分以上为B,70分以上为C,60分以上为D,60分以下为E
 */
public class BranchAplication {
	public static void main(String[] args) {
		//满分为100
		int score = 100;
		//分数/100就把等级分开,依次输出
		switch(score/10){
		case 9: System.out.println("A");break;
		case 8: System.out.println("B");break;
		case 7: System.out.println("C");break;
		case 6: System.out.println("D");break;
		case 5: System.out.println("E");break;
		default: System.out.println("Error!");
		}
	}
}

总结:分支主要用于判断条件是否满足,真(ture)则执行其下语句假(flase)则不执行。

循环的应用更多有forwhlie,在jdk1.5中有假了增加for

名称

普通for

增强for

whlie

do。。。whlie

特点

可控下标操作元素

一次性遍历里所有元素

先计算后执行

先执行后计算

经典题目1:九九乘法表

public class chengfabiao {
	public static void main(String[] args) {
		//定义两个变量用于内外循环
		int i=0,j=0;
		//第一行输出9个数
		for(i=1;i<10;i++)
			System.out.println(i+"         ");
		System.out.println("\n----------------\n");
		//这里用到的嵌套循环
		for(i=1;i<10;i++){
			for(j=1;j<=10;j++)
				//由j控制一行一行输出乘法表的内容
				System.out.println(i*j+"         ");
			System.out.println("\n");	
		}
	}
}

经典题2:百钱买百鸡

/**下面是古代数学家张丘建在他的《算经》中提到的问题
 * 鸡翁一,值钱五;母鸡一,值钱三;鸡雏三,值钱一;
 * 百钱买百鸡,翁,母,雏各几何?
 */
public class maiji {
		public static void main(String[] args) {
		int cocks = 0,hens = 0,chicks = 0;
		//100/5就是最多能买的鸡翁数,这也是最外层whlie循环的条件
		while(cocks<=25){
			//100/3是最多能卖母鸡的数,也是第二层循环的条件
			while(hens<=33){
				chicks = 100-cocks-hens;
				if((5*cocks+3*hens+chicks/3)==100&&(chicks%3==0))
					System.out.println(cocks+hens+chicks);
				//母鸡增加再次计算小鸡
				hens++;
			}
			//鸡翁增加再次计算母鸡和小鸡
			cocks++;
		}
	}
}

总结:最后一个跳转语句是用于终止循环的。有breakcontinue,区别在于前者终止整个循环后者终止本循环。

感受:无论分支还是循环都会在算法中得到体现,Java中那么多知识点固然要一个个掌握,但一个问题摆在面前还是要先考量其算法,

在用结构实现算法解决问题,所以我就很欣赏黑马教程里的三道应用题(交通Lamp、银行业务调度、移动计费)把实际问题摆在台面上,

这比枯燥的讲知识点有意思多了

 ---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值