Java基础知识梳理(二)流程控制及函数

1、流程控制

1.1、break语句&continue语句

break:终止该层循环;

continue:跳过该次循环

break是终止循环,即在程序中遇到break,那么break所属的循环将结束。即整个for循环结束。
for (int x=0; x<3 ;x++ ){
	if(x==1)
		break;
	System.out.println("x="+x);	
}

//continue是结束本次循环,继续下次循环。循环是不会结束的。即只结束x=1这次循环,继续下次。
for (int x=0; x<3 ;x++ ){
	if(x==1)
		continue;
	System.out.println("x="+x);	
}

注意:

  1. 若这两个语句离开应用范围,存在是没有意义的。
  2. 这个两个语句单独存在后面都不能有语句,因为执行不到。
  3. continue语句是跳过本次循环,继续下次循环。
  4. 标签的出现,可以让这两个语句作用于指定的循环。

1.2、判断结构(if)

1.2.1三种格式

格式一:
if(条件表达式)
{
	执行语句;
}
格式二:
if(条件表达式)
{
	执行语句;
}
else
{
	执行语句;
}
格式三:
if(条件表达式)
{
	执行语句;
}
else if (条件表达式)
{
	执行语句;
}
……
else
{
	执行语句;
}

1.3、多分支结构(switch)

格式:

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

​ 程序执行时,遇到switch关键字,首先会计算表达式的值,然后根据计算的值和case后面的值做比较,当case后面的值和switch表达式的值相同时,就执行case身后的所有语句,若case身后没有和switch表达式匹配的值,程序就会执行default后面的语句。

if和switch的区别

if可以用于判断数值,也可以判断区间,只要运算结果是boolean类型,都可以进行判断。

switch用于对固定的几个值,进行判断。判断的值的类型有限。

1.4、循环结构

1.4.1、while循环

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

1.4.2、do - while 循环

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

1.4.3、for循环

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

1.4.4、各个循环结构的区别

  • while:事先不需要知道循环执行多少次;

  • do-while:同上,只是至少要执行一次(先做,后判断);

  • for:需要知道循环次数;

1、while与do-while的区别:

while:先判断,再执行;

do-while:先执行一次,再判断,再执行;

2、while与for的区别:

whilefor可以互换

区别在于

for:为了循环而定义的变量在for循环结束就在内存中释放。

while:循环使用的变量在循环结束后还可以继续使用。

1.4.5、嵌套循环

可使用循环标签:在多层嵌套循环中,终止/跳过标签标记的那层循环的执行;break 标签或 continue 标签;

2、函数

2.1、定义

函数就是定义**在类中的具有特定功能的一段独立程序,并能被多次使用**,也称为方法

注意:函数是定义在类中,而不能在函数中定义函数。

2.2、格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2...)
{
	执行语句;
	return 返回值;//return关键字是用于结束该功能。并将后面的具结果返回给调用者。
            	//必须有return语句。
}

格式说明:对函数的外加修饰,让函数具备更多的含义;

修饰符:函数运行后的返回的结果的数据类型;

返回值类型:可自行定义,只要不和系统关键字等冲突。建议取有意义的名称,书写规范为动名词结合,若为多单词组合,则第一个单词首字母小写,后面的单词首字母大写,如getSum,表示获取求和的值。

函数名:是指形式参数的数据类型;

参数类型:是指形式参数的数据类型;

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

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

return:用于结束函数;

返回值:作为函数的处理结果返回给调用者,其数据类型必须与“返回值类型”一样;

2.3、函数特点

  1. 定义函数可以将功能代码进行封装;
  2. 便于对功能代码进行复用;
  3. 函数只有被调用才会被执行;
  4. 函数的出现提高了代码的复用性;
  5. 对于函数运算后,没有具体的返回值时,返回值类型用关键字void表示,而且如果函数中的return语句如果在最后一行,则可以省略不写。

注意:

——函数中只能调用函数,不可以在函数内部定义函数。也就是说函数之间是平级的,没有包含关系,只有调用动作;

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

2.4、函数应用(如何定义函数)

函数就是一个功能,功能就需要两部分:

1、函数运行完的结果是什么

2、函数运行时有无未知参数

两个明确:

定义函数时,时刻把握如下两个明确,基本就可以完成函数的定义:

  • 这个功能的结果是什么?其实就是明确返回值类型。
  • 这个功能需要未知内容是什么?其实就是明确参数列表。

尽量让函数只实现一个功能,这样能提高函数的复用。(一个好的函数)

2.5、函数重载(overload)

2.5.1、概念

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可,这时就形成了重载。重载和返回值类型无关

2.5.2、示例

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

2.5.3、重载的特点

与返回值类型无关,只和参数列表有关。(参数类型及参数个数)

即JVM是通过参数列表来区分函数的。而参数列表相同,但返回值类型不同的同名函数不能同时存在与一个类中。

2.5.4、函数重载的优点(方便阅读,优化程序)

  • 定义端(方法的提供者):使用相同的方法名(一个方法)来表示功能相同的(多个)方法。
  • 调用端(方法的使用者): 在调用的时候,可以使用相同名字(一个名字)的方法实现不同的功能。
  • 重载也是多态性的体现:一个内容,可以实现多个功能

2.5.5、函数重载举例(打印任意乘法表)

class MethodDemo3 {
	public static void main(String[] args) {
		printCFB();
	}
	
	//打印标准九九乘法表。
	public static void printCFB(){
		printCFB(9);
	}
//打印任意乘法表。
	public static void printCFB(int num){
		for(int x=1; x<=num; x++)
		{
			for(int y=1; y<=x; y++){
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值