关闭

Java 程序流程控制和函数

标签: java流程控制函数
194人阅读 评论(0) 收藏 举报
分类:

Java 程序流程控制

判断结构

选择结构

循环结构

1.      判断结构

if语句

三种格式:

1>    if(条件表达式)

{

  执行语句;

}

2>    if(条件表达式)

{

  执行语句;

}

else

{

  执行语句;

}

3>    if(条件表达式)

{

  执行语句;

}

else if(条件表达式)

{

  执行语句;

}

……

else

{

  执行语句;

}

if else结构的简写格式:变量=(条件表达式)?表达式1:表达式2;

三元运算符:

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

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

2.      选择结构

switch语句

格式:

switch(表达式)   //只接受四种类型,byteshortintchar

{

case取值1:

执行语句;

break;

case取值2:

执行语句;

break;

……

default:

执行语句;

break;

}

注:

1>casedefault没有顺序之分。

2>switch执行遇“break”跳出,或“}

3>也可以写成【345情况相同时】

case 3:

case 4:

case 5:

          System.out.println(“春季”);

          break;

在区间和boolean类型一般用if语句,简单几个情况用switchbyteshortintchar

switch效率稍高,if语句的适用范围更广。

3.      循环结构

代表语句:whiledo whilefor

while语句格式:

while(条件表达式)

{

          执行语句;

}

do while语句格式:

do

{

          执行语句;

}while(条件表达式)

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

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

          执行语句;

}

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

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

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

累加思想:

int sum=0;
for(int x=1 ; x<=100 ; x++)
{
		if(x%7 ==0)
			sum+=x;
}

计数器思想:

int count=0;
for(int x=1; x<=100, x++)
{
		if(x%7 == 0)
			count++;
}

循环嵌套:

for(int x=0 ; x<3 ; x++)					//行
{
		for(int y=0 ; y<4 ; y++)				//列
		{
			System.out.println(“*”);
}
System.out.println();
}


 

结果:

****

****

****

eg(例子):

/**
打印
----*
---* *
--* * *
-* * * *
* * * * *
*/
class ForForTest
{
	public static void main(String[] args)
	{
		for(int x=0;x<5;x++)
		{
			for(int y=x;y<4;y++)
			{
				System.out.print("-");
			}
			for(int z=0;z<=x;z++)
			{
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}


 

正三角:

*

* *

* * *

* * * *

* * * * *

for(int x=0 ; x<5 ; x++)
{
		for(int y=0 ; y<=x ;y++)
		{
			System.out.println(“*”);
}
System.out.println();
}

倒三角:

* * * * *

* * * *

* * *

* *

*

for(int x=0 ; x<5 ; x++)
{
		for(int y=x ; y<5 ; y++)
		{
			System.out.println(“*”);
}
System.out.println();
}

总结:

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

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

//九九乘法表
for(int x=1; x<=9 ; x++)
{
		for(int y=1; y<=x ; y++)
		{
			System.out.print(y+”*”+x+”=”+y*x+”\t”);         //加入”\t”是为了排版整齐
}
System.out.println();
}

4.       其他流程控制语句

break(跳出),continue(继续)

continue语句:应用于循环结构。       break语句:应用于选择结构和循环结构。

注:

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

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

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

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

break是跳出当前循环,除非指明跳出哪个。

eg

w: for(int l =1 ; l<=9; l++)                     //for循环可起名字,即标号
	  {
		q: for(int h=1 ; h<=1 ; h++)
		  {
			System.out.print(h+”*”+l+”=”+h*l+”\t”);
			break w;                         //此时跳出外面大的for循环
}
System.out.println();
}

eg:

for(int x=1; x<=0 ; x++)			//continue:特点:结束本次循环继续下次循环。
	{
		if(x%2 == 1)
			continue;
		System.out.println(“x=”+x);
}


 

函数

函数的定义

函数的特点

函数的应用

函数的重载

1.       函数的定义:

函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

函数的格式:

修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,……)

{

           执行语句;

           reture 返回值;

}

返回值类型:函数运行后的结果的数据类型。

参数类型:是形式参数的数据类型。

形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。

实际参数:传递给形式参数的具体数值。

return:用于结束函数。

返回值:该值会返回给调用者。

eg

public static int getResult (int num)
{
		return num*3+5;
}

2.       函数的特点

定义函数可以将功能代码进行封装。

便于对该功能进行复用。

函数只有被调用才会被执行。

函数的出现提高了代码的复用性。

对于函数没有具有返回值的情况,返回值类型用关键字void表示,那么该函数的return语句如果在最后一行可以省略不写。

注意:

           函数中只能调用函数,不可以在函数内部定义函数。

           定义函数时,函数的结果应该返回给调用者,交由调用者处理。

eg

public static void getResult(int num)
{
		System.out.println(num*3+5);
		return;                  //这里的return可不写
}


 

3.       如何定义一个函数

先明确该功能的结果,明确返回值类型。

明确在该功能的过程中是否需要位置的内容参与运算,明确参数类型和个数。

4.       函数的重载

概念:

           在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不可即可。

特点:

           与返回值类型无关,只看参数列表。

好处:

           方便于阅读,优化了程序设计。

eg

//返回两个整数的和
int add(int x,int y)
{
		return x+y;
}
//返回三个整数的和
int add(int x,int y ,int z)
{
		return x+y+z;
}
//返回两个小数的和
double add(double x,double y)
{
		return x+y;
}

什么时候用重载?

当定义的功能相同,但参与运算的内容不同【通过参数列表的不同来区分多个同名函数】





 

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5625次
    • 积分:211
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论