黑马程序员-------Java编程基础下

------------- java培训android培训、java博客、java学习型技术博客、期待与您交流! --------------

函数的定义

  • 什么是函数?

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

函数也称为方法。

  • 函数的格式:

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

 {

   执行语句;

   return 返回值;

 }

  •  返回值类型:函数运行后的结果的数据类型。
  •  参数类型:是形式参数的数据类型。
  •  形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
  •  实际参数:传递给形式参数的具体数值。
  •  return:用于结束函数。
  •  返回值:该值会返回给调用者。

函数的特点

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

便于对该功能进行复用

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

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

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

  • 注意:

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

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

函数的应用

  • 两个明确

明确要定义的功能最后的结果是什么?

明确在定义该功能的过程中,是否需要未知内容参与运算

  • 示例:

需求:定义一个功能,可以实现两个整数的加法运算。

  • 分析:

该功能的运算结果是什么?两个数的和,也是一个整数(int)

在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。(两个参数int,int)

int  getSum(int x,int y)
		{
			return x+y;
		}

函数的重载(overload)

  • 重载的概念

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

  • 重载的特点:

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

  • 重载的好处:

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

  • 重载示例:

//返回两个整数的和

  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;}

 程序流程控制

  •  if语句

1、

if(条件表达式)

 {

  执行语句;

 }

2、

if(条件表达式)

 {

  执行语句;

 }

 else

 {

  执行语句;

 }

3、

if(条件表达式)

 {

  执行语句;

 }

 else if (条件表达式)

 {

  执行语句;

 }

 ……

 else

 {

  执行语句;

 }

  • if语句特点:

 a,每一种格式都是单条语句。

 b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

 c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

class IfTest 
{
	public static void main(String[] args) 
	{
		//需求1:根据用户定义的数值不同。打印对应的星期英文。
		/*
		int num = 1;

		if(num==1)
			System.out.println("monday");
		else if(num==2)
			System.out.println("tsd");
		else
			System.out.println("nono");
		*/
		//需求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(x+"月份不存在");


		if(x>12 || x<1)
			System.out.println(x+"月份不存在");
		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+"冬季");

	}
}


 

  •  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结尾结束。

class  SwitchTest
{
	public static void main(String[] args) 
	{

		//需求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("nono");

		}

		/*
		if和switch语句很像。
		具体什么场景下,应用哪个语句呢?
		如果判断的具体数值不多,而是符合byte short int char这四种类型。
		虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。

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

		*/
		System.out.println("Hello World!");
	}
}


 

 循环结构

  •  代表语句:while , do while , for
  •  while语句格式:

while(条件表达式)

{

 执行语句;

}

do while语句格式:

do

{

 执行语句;

}while(条件表达式);

do while特点是条件无论是否满足,

循环体至少被执行一次。

  • 格式:

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

{

 执行语句;

}

  • 注:

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

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

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

break(跳出),  continue(继续)

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

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

  • 注:

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

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

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

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

 

 

------------- java培训android培训、java博客、java学习型技术博客、期待与您交流! --------------

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值