黑马程序员——java基础3

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1、程序流程控制
顺序结构
分支结构(条件结构)
循环结构
控制循环结构

顺序结构:
如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。

if语句:
基本语法:if(表达式){方法体}else if(表达式){方法体}else(方法体)
几种形式:
三种格式:
if(条件表达式){执行语句;}
if(条件表达式){执行语句;}else{执行语句;}
if(条件表达式){执行语句;}else if (条件表达式){执行语句;}……else{执行语句;}

public class If3 
{
	public static void main(String args[])
	{
		int i = 3;
		if (i > 5)
		{
			System.out.println("变量i大于5");
		}
		else if (i > 4)
		{
			System.out.println("变量i小于4");
		}
		else
		{
			System.out.println("其他");
		}
	}
}

switch控制语句
格式:
switch(表达式)
{
	case 表达式可能的结果值1:
			执行语句;
	break;
	case 表达式可能的结果值2:
			执行语句;
	break;
		...
	default:
			执行语句;
	break;//最后这个一般不写
}
备注:
case之间与default没有顺序。先执行第一个case,都没有匹配的case值执行default。
结束switch语句的两种情况:遇到break,switch语句执行结束。
如果匹配的case或者default没有对应的break,那么程序会从第一次匹配的case语句开始继续向下执行,运行可以执行的语句,直到遇到break或者switch结束为止。
class switch2 
{
	public static void main(String[] args) 
	{
		int a = 7,b = 5;
		switch(a-b)
		{
			case 3://表达式可能的值;
			{
				System.out.println("33!");
			}
			break;

			case 4:
			{
				System.out.println("44!");
				}
				break;
				default://都没有执行则 执行该语句!
					System.out.println("其它的");

		}
	}
}
注意:switch语句只能使用byte、char、short、int四种基本类型以及它们的包装类和枚举
2、三大循环结构:
用于处理需要重复执行的操作;
根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体;
while:事先不需要知道循环执行多少次;
do  while:同上,只是至少要执行一次(先做,后判断);
for:需要知道循环次数;

循环结构(while & do while)
while语句
格式:
while(条件表达式值为true)
{
	执行语句;
}

do while语句
格式:
do
{
	执行语句;
}
while(条件表达式值为true);

我的总结:do while特点是无论条件是否满足,循环体至少被执行一次。
循环里的条件表达式不能直接写false或直接写结果是false的表达式,不过可以使用变量来传递false值;

循环结构(for)
格式:
for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3))
{
		执行语句;(4)
}
	执行顺序:(1) → (2) → (4) → (3) → (2) → (4) → (3)

备注:
1, for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2, while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
3, 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

Eg:
用三种循环控制求出100以内前5个3的倍数的数字;

class while
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		while(i<=100)
		{
			if(i%3==0)
			{
			if(k<5)
			System.out.println(i);
			k++;
			}
			i++;
		}
	}
}

class dowhile
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		do{
			if(i%3==0)
			{
			if(k<5)
			System.out.println(i);
			k++;
			}
			i++;
		}
		while(i<=100);
	}
}

class for
{
	public static void main(String[] args) 
	{
		int i = 1,k = 0;
		for(;i<100;i++)
		{
			if(i%3==0&&k<5)
			{
			System.out.println(i);
			k++;
			}
		}
	}
}

3、嵌套循环与流程控制
嵌套循环:循环里套循环
假设外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m * n次。

Eg:利用for循环语句的嵌套打印出乘法口诀表

class break1 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=10;i++)//定义i与j的值必须在for循环里面,否则每次跳出循环重新执行就无法取值
		{
			for(int j=1;j<=10;j++)
			{
				if(j<=i)
				System.out.print(j+"*"+i+"="+i*j+" ");//小注意:print()括号里面
必须传递参数,println()无限制!
			}
				System.out.println();
		}
	}
}

流程控制

break语句、 	continue语句;

break:终止该层循环;
continue:跳过该层循环
注:
①:若这两个语句离开应用范围,存在是没有意义的。
②:这个两个语句后面都不能有语句,因为执行不到。
③:continue语句是跳过本次循环,继续下次循环。
④:标签的出现,可以让这两个语句作用于指定的循环。

Eg:
package reviewDemo;

public class Demo2 {
	public static void main(String[] args) {
		int i = 1;
		for (; i < 10; i++) {
			System.out.println(i);
			if(i == 8){
				break;//流程控制,不会完全执行!
			}
		}
	}
}




 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值