黑马程序员——java基础--结构

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一:结构

1.顺序顺序

2.选择顺序

3.循环顺序

二:具体实现

1.顺序执行

class shunxuDemo{
	public static void main(String args[]){
	int a = 1, b = 2;
	int sum = 0;
	sum = a + b;
	System.out.println("sum ="+sum);
	}
}
所有语句按照从上到下的顺序执行,没有执行判断语句。

2.选择结构

选择结构涉及几种语句:

①:if

②:if...else

③:if...else  if...else if..........else

if语句:

class shunxuDemo{
	public static void main(String args[]){
	int x = 2;
	if(x > 2){
		System.out.println("x > 2");
	}
}


if...else语句:

class shunxuDemo{
	public static void main(String args[]){
	int x = 2;
	if(x > 2){
		System.out.println("x > 2");
	}
	else{
		System.out.println("x < 2");
	}
}


if...else  if...else if..........else语句:

class shunxuDemo{
	public static void main(String args[]){
	int x = 2;
	if(x > 2){
		System.out.println("x > 2");
	}
	else if(x > 1)
	{
		System.out.println("x > 1");
	}
	else if (x > 0){
		System.out.println("x > 0");
	}
	else
		System.out.println("error");
	}
}
注意的是:if...else  if...else if..........else语句中第一个语句如果成立,后面的语句即使成立也无法执行。

当遇到某些问题,if...else  if...else if..........else语句效率就显得有些低,eg:

class shunxuDemo{
	public static void main(String args[]){
	int x = 2;
	if(x == 3 || x == 4 || x == 5){
		System.out.println("春");
	}
	else if((x ==6 || x == 7 || x == 8)
	{
		System.out.println("夏");
	}
	else if(x == 9 || x == 10 || x == 11){
		System.out.println("秋");
	}
	else if(x == 12 || x == 1 || x == 2){
		System.out.println("冬");
	}

	else
		System.out.println("error");
	}
}

这时候就要用到switch语句:

switch语句的结构:

switch(表达式)

{

case 取值1:执行语句; break;

case 取值2:执行语句; break;

....................

default :执行语句; (break;)最后一个break可以不要

}

class xuanzeDemo{
	public static void main(String args[]){
		x = 2;
		switch(x){
			case 3:
			case 4:
			case 5: 
				System.out.println("春);
				break;
			case 6:
			case 7:
			case 8:
				System.out.println("夏");
				break;
			case 9:
			case 10:
			case 11:
				System.out.println("秋");
				break;
			case 12:
			case 1:
			case 2:
				System.out.println("冬");
				break;
			default :
				System.out.println("error");
				break;

	}
}

switch中default和其他语句的执行顺序无关,默认都是先执行case语句。

switch不能使用boolean类型

if语句和switch语句的适用场合:

switch适合在数据量比较小的情况下使用,if的使用范围更广泛一点。

3.循环结构

①:while循环

②:for循环

③:do   while循环

while循环:

class WhileDemo{
	public static void main(String args[]){
		int i = 0;
	while (i < 30){
		System.out.println("x = "+x);
		i++;	
	}
}

do while循环:

class WhileDemo{
	public static void main(String args[]){
	int i = 0;
	do {
		System.out.println("x = "+x);
		i++;	
	}while(i<30);
}
for循环:

class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 30; i++)
			System.out.println("x ="+x);
	}
}

三种循环比较:

for循环和while可以互换,但是for循环灵活性更加好一点,他们的结构不太一样,do while循环不管条件成不成立,都会执行一次。

实例:利用for循环打印矩形:

class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 5; i++){
			for(int j = 0; j < 3; j++){
				System.out.print("*");
			}
			System.out.println();
		}
			
	}
}
打印结果:

***

***

***

***

***

得出结论:外层循环控制矩形的行数,内层循环控制每行的个数,也就是列数。

由此可以打印:

*

**

***

****

*****

class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 5; i++){
			for(int j = 0; j <= i; j++){
				System.out.print("*");
			}
			System.out.println();
		}
			
	}
}


如果打印:

*****

****

***

**

*

class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 5; i++){
			for(int j = i; j < 5; j++){
				System.out.print("*");
			}
			System.out.println();
		}
			
	}
}

得出一个结论:

尖朝上,可以改变条件,让条件随着外循环变化

尖朝下,可以改变初始值,让条件随着外循环变化

由此可以打印九九乘法表:


class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 9; i++){
			for(int j = i; j <= i; j++){
				System.out.print(i+"*"+"j+"="+i*j+"\t");
			}
			System.out.println();
		}
			
	}
}

最后就可以打印:

      *

     * *

   *  *  *

  *  *  *  *

*  *  *   *   *    

这个可以看做:

----*

---* * 

--* * *

-* * * * 

* * * * *

先打印左边的倒三角,然后在打印右边的正三角:

class ForDemo{
	public static void main(String args[]){
		for(int i = 0; i < 5; i++){
			for(int j = i; j < 5; j++){
				System.out.print(" ");
			}
			for(int j = 0; j <= i; j++){
				System.out.print("*");
			}
			System.out.println();
		}
			
	}
}

到底就差不多了,这一节视频基本上就可以这样总结结束,有什么不同的想法还望大家多多指教。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。