(3)函数和数组,控制语句
来源:互联网 发布:u盘 恢复数据.电脑 编辑:程序博客网 时间:2024/06/01 10:18
1…函数
l 什么是函数?
• 函数就是定义在类中的具有特定功能的一段独立小程序。
• 函数也称为方法。
l 函数的格式:
• 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)
{
执行语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
注释:
函数在类中是独立存在的,他有自己独立的封装区间
修饰符的作用是对函数进行一下外加功能的定义
void:代表的是函数没有具体返回值的情况。函数里面是一定要写return语句的,当函数的返回值类型是void时,函数中的return语句可以省略不写。写上也不算错,,你不写的话系统会帮你加一个return,此时return后面是没有具体的值的,,,,return是用来结束函数用的
注意:
函数中只能调用函数,不可以在函数内部定义函数。多个函数之间的关系是平级的,没有谁包含谁
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
java当中最小的功能单元就是函数,写代码的时候只要在处理或者定义功能的时候,都把他定义到一个独立的函数中去,而不要全部写到main方法里面’
函数例子:
public staticint getSum()
{
return3+4;
}
2..函数的特点:
l 定义函数可以将功能代码进行封装
l 便于对该功能进行复用
l 函数只有被调用才会被执行
l 函数的出现提高了代码的复用性
l 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
l 注意:
• 函数中只能调用函数,不可以在函数内部定义函数。
• 定义函数时,函数的结果应该返回给调用者,交由调用者处理。
3…函数重载:
重载的概念
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可和返回值类型无关。保住名称一致
重载的特点:
与返回值类型无关,只看参数列表。
重载的好处:
方便于阅读,优化了程序设计。
重载示例:
//返回两个整数的和
intadd(int x,int y){return x+y;}
//返回三个整数的和
intadd(int x,int y,int z){return x+y+z;}
//返回两个小数的和
double add(double x,double y){return x+y;}
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。
那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
4…流程控制语句
4.1.. 如果if控制的语句只有一条那么那个if里面的{ }可以不写
int x = 1;
if(x>1)
System.out.println("yes");
4.2…三元运算符和if else有区别:
/*
ifelse 结构 简写格式:变量 = (条件表达式)?表达式1:表达式2;
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。而if else全写格式他可以运算完不需要结果
*/
inta = 9,b;
b= (a>1)?100:200;
if(a>1)
b= 100;
else
b= 200;
4.3…switch
if 相当于在做判断题,,那么Switch就是在做选择题
case '-':case是用来定义备选答案的而后面的取值就是那个答案的具体内容
switch语句特点:
a,被选择的表达式的值只接收4种类型,switch语句选择的类型只有四种:byte,short,int , char。,,byte,short比较少见,因为我们平时操作的都是数字
b,case之间与default没有顺序比如可以把default:放在最前面,,default在前面时执行上需要注意的是,他先不读default,他要先从第一个具体答案开始执行也就是执行default后面的第一个case。只有后面的case都不对他才执行default,先执行第一个case,没有匹配的case执行default。case和default的他的执行顺序是固定的但是他们的定义位置是可以随意的.....default在前面时无论default是否满足条件他都会先读第一个case
c,switch语句结束有两种方式:1执行遇到break就结束了,执行到switch语句的}号结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束
例子:
charch = '+';
switch(ch)
{
case'-': a 后面跟的是:号因为下面要写的是它所具备的执行内容
System.out.println(a-b);
break;
case'+': b
System.out.println(a+b);
break;
case'*': c
System.out.println(a*b);
break;
case'/': d
System.out.println(a/b);
break; e
default:
System.out.println("feifa");
break; 如果这个default:条件满足的话执行完("feifa")以后就直接到}号结尾处了这个语句一样能结束这里的break可以省略,写上也可以
}
If和switch的区别:
if除了可以判断具体数值还能判断区间而switch判断区间会很费劲,你要区间特别大的话,switch要把那些case全写出来,if不用,,还有对于运算结果是布尔型的if能判断,但是switch不行,
具体什么场景下,应用哪个语句呢?
如果你要对具体数值进行判断的话数值不多,就用switch完成,if也能完成,为啥用switch呢,,因为switch一加载,这些备选答案就全进内存了再之后直接判断就可以了,而if的话,if else要写好多条他要顺序执行,他执行的过程就比switch要多点,,
switch的应用较if来说有局限性:一般情况下对值不多的情况而且类型是byte short int char类型他可以用switch来判断,因为switch相对于if来讲要高效一点,其他情况下一般用if,当那个结果为布尔型或区间时用if
5…循环
5.1..while
while:先判断条件,只有条件满足才执行循环体。
dowhile: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
例子:
inty=0;
while(y<3)
{
System.out.println("y="+y);
y++;
}
5.2…for
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
for和while的区别:对于变量来说,如果这变量仅仅用于控制循环的次数作为循环增量存在的情况下用for合适,也就是变量只为循环的增量存在控制循环次数的话用for语句体现,内存相对于优化一点
例子;
for(int x = 0; x<3 ; x++)
{
System.out.println("x="+x);
}
注释:
1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。
for语句执行完毕。该变量在内存中被释放。
2,for和while可以进行互换,,,就这个增量变量在内存中的驻留时间那一块有点不一样,用哪一个看你是否需要定义循环增量。如果需要定义循环增量。用for更为合适。
总结:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
5.3…. break和continue
break和continue这2个语句可以单独存在,他们都有自己独特的作用范围
break语句:应用范围:选择结构和循环结构。
continue语句:只能应用于循环结构。,,,continue是继续循环的意思
例子:
for(int x=1; x<=10; x++)
{
System.out.println("x="+x);
//结束本次循环,进行下次循环
continue;
}
for(int x=0; x<3; x++)
{
for(inty=0; y<4; y++)
{
System.out.println("x="+x);
//break表示退出循环
break;
}
}
- (3)函数和数组,控制语句
- 运算符、数组和控制语句
- Python笔记(3)——控制语句和函数
- Swift语言中的控制语句和函数
- Swift3.0-函数和控制语句
- JavaScript 进阶学习 3 控制语句 、函数
- 3-Java控制语句、循环、函数
- T-SQL(二) 自定义函数和控制流语句
- Python学习笔记03 控制流语句和函数
- Java基础知识点之函数和流程控制语句小结
- [python-1]数据类型、控制流语句、模块、函数和类
- 《代码之髓》读书笔记之三:控制语句和函数
- Swift_学习笔记_控制语句和函数
- 3、函数和数组
- 使用这些Perl 函数控制数组和哈希
- 使用这些Perl 函数控制数组和哈希
- PHP基础之流程控制、数组和函数
- 黑马程序员——语句、函数和数组
- (1)java基本常识
- (2)变量与运算
- 黑马程序员-反射
- android调用系统通讯录
- 算法导论 2.3-4
- (3)函数和数组,控制语句
- Zigbee协议栈--重要设备地址
- java设计模式学习一
- 孙鑫掌握C++20130507
- (4)数组
- (5)面向对象,封装&this关键字
- C语言实现二叉树的递归遍历与非递归遍历
- Solr Analysis And Solr Query -- Solr分析以及查询
- Shell进制转换小结