黑马程序员_Java语句

1判断结构

if语句

if语句的三种格式:

//1
if(条件表达式)
{
	执行语句;
}
//2
if(条件表达式)
{
	执行语句;
}
else
{
	执行语句;
}

 

三元运算符相比于和if else 的好处和弊端:

好处:可以简化if else 代码。

弊端:因为是一个运算符,所以运算完必须要有一个结果。

//3
if(条件表达式)
{
	执行语句;
}
else if(条件表达式)
{
	执行语句;
}
……
else
{
	执行语句;
}

 

if练习:

    需求1:根据用户定义的数值不同,打印对应的星期英文。

int num = 3;
if(num ==1)
	system.out.println(“monday”);
else if(num ==2)
	system.out.println(“tuesday”);
else if(num ==3)
	system.out.println(“wednesday”);
else if(num ==4)
	system.out.println(“thursday”);
else if(num ==5)
	system.out.println(“friday”);
else if(num ==6)
	system.out.println(“saturday”);
else (num ==7)
	system.out.println(“sunday”);

  

    需求2:根据用户指定的月份,打印该月份所属的季节。

       3,4,5 春季    6,7,8 夏季    9,10,11 秋季    12,1,2 冬季

int x = 4;
if(x==3 || x==4 || x==5)
	system.out.println(x+”春季”);
else if(x==6 || x==7 || x==8)
	system.out.println(x+”夏季”);
else if(x==9 || x==10 || x==11)
	system.out.println(x+”秋季”);
else if(x==12 || x==1 || x==2)
	system.out.println(x+”冬季”);
else 
	system.out.println(“月份不存在”);
  
//或者如下:
if(x>12 || x<1)
	system.out.println(“月份不存在”);
else if(x>=3 && x<=5)
	system.out.println(x+”春季”);
else if(x>=6 && x<=8)
	system.out.println(x+”夏季”);
else if(x>=9 && x<=11)
	system.out.println(x+”秋季”);
else 
	system.out.println(x+”冬季”);

2.选择结构

switch语句

格式:

switch(表达式)
{
	case 取值1:
	执行语句;
	break;
	case 取值2:
	执行语句
	break;
	……
	default:
	执行语句;
	break;
}


 

switch语句特点:

a.switch语句选择的类型只有四种:byte, short,int, char.

b.case之间与default没有顺序,先执行第一个case,没有匹配的case再执行default

c.结束switch语句的两种情况:遇到break,或者执行到switch语句结束。

d.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

 

练习 需求2:根据用户指定的月份,打印该月份所属的季节。

   3,4,5 春季    6,7,8 夏季    9,10,11 秋季    12,1,2 冬季

int x = 4
switch(x)
{
	case 3:
	case 4:
	case 5:
	System.out.println(x+”春季”);
	break;
	case 6:
	case 7:
	case 8:
	System.out.println(x+”夏季”);
	break;
	case 9:
	case 10:
	case 11:
	System.out.println(x+”秋季”);
	break;
	case 12:
	case 1:
	case 2:
	System.out.println(x+”冬季”);
	break;
	default:
	System.out.println(月份不存在);
}


 

ifswitch语句很像。

具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而且是符合byteshort, intchar这四种类型。

虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

其它情况:对区间判断,对结果为boolean类型判断,使用if语句,if的适用范围更广。

 

3.循环结构

代表语句:whiledo whilefor

while语句格式:

while(条件表达式)
{
	执行语句;
}

do while语句格式:

do
{
	执行语句;
}
while(条件表达式);

do while特点是条件无论是否满足,循环体至少被执行一次。

 

for语句格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
	执行语句;
}

 

a.for里面的表达式运行的顺序,初始化表达式只读一次,再判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过           程,直到条件不满足为止。

b.whilefor可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。

c.最简单无限循环格式:while(true){}for(;;){}。无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

 

练习:1.获取1~10的和,并打印。

class SumTest1 
{
	public static void main(String[] args) 
	{
		int sum = 0,x = 1;
		while(x <= 10)
		{
			sum = sum + x;
			x++;
		}
		System.out.println("sum="+sum);
	}
}

其实这就是累加思想。

原理:通过变量记录住每次变化的结果。

通过循环的形式,进行累加动作。

 

2. 1~100之间,7的倍数的个数,并打印。

class  MySumTest2
{
	public static void main(String[] args)
	{
		int a = 0,b = 1;
		while(b<=100)
		{
			if(b%7==0)
			{
				a++;
			}
			b++;
		}
		System.out.println("a="+a);
	}
}

/*
int count = 0;
for(x=0;x<=100;x++)
{
	if(x%7==0)
	{
		count++;
		System.out.println("x="+x);
	}
	System.out.println("count="+count);
}
*/
/*
int count = 0;
for(x=0;x<=100;x++)
{
	if(x%7 !=0)
	continue;
	count++;
	System.out.println(“x=”+x);
}
System.out.println(“count=”+count);

计数器思想:

通过一个变量记录住数据的状态变化。

也需要通过循环完成。

 

4.语句嵌套形式:语句中含有语句。

循环嵌套。

打印:

*****

****

***

**

*

class  MyForDemo
{
	public static void main(String[] args) 
	{
		for(int x = 5;x>0;x--)
		{
			for(int y = x;y>0;y--)
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

九九乘法表:

1*1=1

1*2=2  2*2=4

1*3=3  2*3=6  3*3=9

 

for(int x=1;x<=9;x++)
{
	for(int y=1;y<=x;y++)
	{
		System.out.print(x+"*"+y+"="+x*y+"\t"); // “\t”是制表符,自动对齐。
	}
	System.out.println();
}




 

5.其他流程控制语句

break(跳出), continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

注:

a.这两个语句离开应用范围,存在是没有意义的。

b.这两个语句单独存在,下面都不可以有语句,因为执行不到。

c.continue语句时结束本次循环继续下次循环。

d.标号的出现,可以让这两个语句作用于指定的范围。

 

练习:打印出如下图形:

     *

    * *

   * * *

  * * * *

 * * * * *

class  MyForDemo2
{
	public static void main(String[] args) 
	{
		for(int x=0;x<5;x++)
		{
			for(int y=0;y<5-x-1;y++)
			{
				System.out.print(" ");

			}
			for(int z=5-x-1;z<5;z++)
			{
				System.out.print("* ");
			}
			System.out.println();
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值