java基础要点(2)函数
来源:互联网 发布:数据分析部门组织架构 编辑:程序博客网 时间:2024/05/16 12:16
为了提高代码的复用性,对代码进行抽取
将这个部分定义成一个独立的功能,方便日后使用
java中对功能的定义是通过函数的形式来体现的。
1、先明确函数定义的格式
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2)
{
执行语句;
return 返回值;
}
当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来标识。
class FunctionDemo{public static void main(String[] args){System.out.println(getResult(5));getResult1(5);}static int getResult(int x){return x*5+3;}static void getResult1(int x){System.out.println("x*5+3="+(x*5+3));return;//可以省略}}class FunctionDemo2{public static void main(String[] args){int sum=getSum(12,23);System.out.println("sum="+sum);}
如何定义一个函数呢?
1、既然函数是一个独立的功能,那么该功能的运算结果是什么先明确
因为这是在明确函数的返回值类型。
2、再明确在定义该功能的过程中是否需要未知的内容参与运算。
因为是在明确函数的参数列表(参数的类型和个数)。
需求:定义一个功能,完成3+2的运算,并将结果返回给调用者。
1、明确功能的结果:是一个整数的和。
2、在实现该功能的过程中是否有未知内容参与运算,没有。
其实这两个功能就是在明确函数的定义。
1、是在明确函数的返回值类型
2、明确函数的参数列表(参数的类型和参数的个数)
public static int getSum()
{
return 3+2;
}
以上这个函数的功能,结果是固定的,毫无扩展性而言。
为了方便用户需求,由用户来制定加数和被加数,这样,功能才有意义。
思路:
1、功能结果是一个和,返回值类型是int
2、有未知内容参与运算,有两个
这两个未知内容的类型都是int
public static int getSum(int x,int y){return x+y;}
需求:判断两个数是否相同
思路:
1、明确功能的结果:结果是:boolean
2、功能是否有未知内容参与运算
有,两个整数
public static boolean compare(int a,int b){ /*if (a==b) { return true; } else return false;*/// return (a==b)?true:false;return a==b;}}class FunctionTest{public static void main(String[] args){draw(5,9);print99(9);}
需求:定义一个功能,用于打印矩形
public static void draw(int row,int col){for (int x=0;x<row;x++ ){for (int y=0;y<col ;y++ ){System.out.print("*");}System.out.println();}}public static void print99(int x){for (int a=1;a<=x ;a++ ){for (int b=1;b<=a ;b++ ){System.out.print(b+"*"+a+"="+(b*a)+"\t");}System.out.println();}}}
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同,
那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
class FunctionOverload{public static void main(String[] args){add(1,5);add(32,23,5);}public static void add(int x,int y){System.out.println(x+"+"+y+"="+(x+y));}public static void add(int x,int y ,int z){System.out.println(x+"+"+y+"+"+z+"="+(x+y+z));}}
void show(int a,char b,double c){}//看下面函数是否与该函数重载
a、void show(int x,char y,double z){}//没有,因为和原函数一样
b、int show(int a,double c,char b){}//重载,因为参数类型不同。注意:参数类型的顺序不一样,重载和返回值类型没关系
c、boolean show (int c,char b){}//重载,因为参数个数不同
e、double show(int x,char y,double z)//没有重载,这个函数不可以和给定函数同时存在同一个类中。
需求:已知学生成绩以100分为满分,共分5个等级:A,B,C,D,E.
90~100为等级A,80~89为等级B,70~79为等级C,
60~69为等级D,0~59为等级E。
要求定义一个成绩变量,当成绩变化时,可直接知道该成绩对应的等级。
例如:当成绩为100时,该学生的等级时A。
class Demo1{public static void main(String[] args){char ch=getLevel(99);System.out.println("level="+ch);}public static char getLevel(int num){char level;if(num>=90 && num<=100)level = 'A';else if(num>=80 && num<=89)level = 'B';else if(num>=70 && num<=79)level = 'C';else if(num>=60 && num<=69)level = 'D';elselevel = 'E';return level;}}class Demo2{public static void main(String[] args){show(0);//15show(1);//14}public static void show(int i){switch(i){default:i+=2;case 1:i+=1;case 4:i+=8;case 2:i+=4;}System.out.println("i="+i);}}
- java基础要点(2)函数
- java基础加强--要点总结2
- java基础要点(1)语句
- java学习要点1(基础篇)
- Java基础要点总结
- java基础要点
- JAVA基础准备要点---(JAVA初始化顺序)
- Java面向对象基础要点
- java基础要点(3)数组
- java基础要点(10)-异常
- java基础要点(11)-包
- java基础要点(12)-多线程
- [java] android编程基础要点
- java学习基础要点笔记
- Java核心基础要点总结
- java基础3--面向对象(上)--要点总结
- java基础4--面向对象(下)--要点总结
- java基础1和2--java开发前奏和java编程基础--要点总结
- 在AIX环境为Oracle表空间增加裸设备(逻辑卷)
- Alfresco 4.0安装手把手教程
- LoadRunner检查点:web_find()与web_reg_find()区别
- Linux内核中的内存屏障
- Seam框架,搭建单元测试
- java基础要点(2)函数
- C语言中的typeof
- ubuntu 12.04 笔记本无法调节屏幕亮度 Nvidia双显卡Bumblebee 黑屏 无法开机
- Application类的使用
- C语言文件操作函数大全
- 如何变更VS-Qt4工程的Qt版本
- 安装Funtoo Linux手记
- Struts Nested 标签
- old DIB in res\*.ico