黑马程序员——java基础--函数

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一:函数

1.函数定义

2.函数格式

3.函数作用

a、什么叫做函数呢?

就是一段具有特殊作用的代码段。

b、函数的格式

修饰符
返回类型 函数名(变量列表)  //变量列表包括变量类型和变量个数

{

代码

return ;

}

c、为什么要使用函数?

提高程序的复用性,提高效率,正所谓有需求才会出现。

d、函数适合哪些场合使用?

当一个功能要重复使用的时候,函数就显得格外有效率。

e、如何定一个函数呢?

两个明确:

1.明确该功能的运算结果,就是在明确这个函数的返回类型。

2.在实现该功能的过程中是否有未知的内容参与了运算,其实就是在明确这个函数的参数列表。

f、函数有什么作用呢?

1.函数定义了功能

2.函数封装代码提高了函数的复用性

g、函数定义名称是为什么呢?

1、为了对该功能进行标示,方便调用

2、为了通过名称就可以明确函数的功能,为了增加代码的阅读性

h、函数有什么性质呢?

重载

主函数有什么作用呢?

1、保证了该类的独立运行

2、因为他是程序的入口

3、因为他在被jvm(虚拟机)调用

什么是重载?

在一个类中,如果出现了两个或两个以上的同名函数,只要他们的参数的个数,或者是类型不同,即可称之为函数重载了。

怎么区分重载?

当函数名相同时,只看参数列表,他和返回值类型没有关系。

比如要打印一个矩形:

public class functionDemo{
	public static void main(String args[]){
	for(int i=0; i<5; i++)
		for(int j = 0; j<6; j++){
			System.out.print("*");
		}
	System.out.println();
	}
}

但是还要打印一个6*6的矩形,该怎么做呢?可以在主函数中再加入一次:

public class functionDemo{
	public static void main(String args[]){
	for(int i=0; i<5; i++)
		for(int j = 0; j<6; j++){
			System.out.print("*");
		}
	System.out.println();

	for(int i=0; i<6; i++)
		for(int j = 0; j<6; j++){
			System.out.print("*");
		}
	System.out.println();
	}
	}
}

但是这样就显得很麻烦了,这时候就可以调用函数:

public class functionDemo{
	public static void main(String args[]){
	hanshu(5, 6);
	hanshu(6,6);
	}
	public static void hanshu(int n, int m)
	for(int i=0; i<n; i++)
		for(int j = 0; j<m; j++){
			System.out.print("*");
		}
	System.out.println();
	}
}

这样也可以完成和前一段代码相同的功能。

重载是函数的一大特征,重载可以很好的提高代码的效率:

比如打印九九乘法表:

public class functionDemo{
	public static void main(String args[]){
		function99();
	}
	public static void functionDemo99{
		for(int i=0; i<9; i++)
			for(int j=0; j<i; j++){
			System.out.print(x+"*"+y+"="+x*y+"\t");
		}
	System.out.println();
	}
}

当有新的需求的时候重载就是一个很好的例子:

public class functionDemo{
	public static void main(String args[]){
		function99();
		function99(4);
	}
	public static void functionDemo99{
		for(int i=0; i<9; i++)
			for(int j=0; j<i; j++){
			System.out.print(x+"*"+y+"="+x*y+"\t");
		}
	System.out.println();
	}
	public static void functionDemo99(int n){
		for(int i=0; i<n; i++)
			for(int j=0; j<i; j++){
			System.out.print(x+"*"+y+"="+x*y+"\t");
		}
	System.out.println();
	}

这样就可以自己定义具体的值,操作起来也就更加灵活,当然,还可以更进一步:

public class functionDemo{
	public static void main(String args[]){
		function99();
		function99(4);
	}
	public static void functionDemo99{
		function99(9);
	}
	public static void functionDemo99(int n){
		for(int i=0; i<n; i++)
			for(int j=0; j<i; j++){
			System.out.print(x+"*"+y+"="+x*y+"\t");
		}
	System.out.println();
	}
}

这样,代码就会更加简单。

总之,函数就是为了提高整个程序的复用性,让整个程序看起来也更加美观,定义函数的时候只需要注意两点就ok了,一个就是函数的返回值,另一个就是变量的个数。

时间: 2024-10-11 11:13:23

黑马程序员——java基础--函数的相关文章

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员——java基础——多线程

 黑马程序员--java基础--多线程 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程:就是进程中的一个独立的控制单元.线程在控制着进程的执行.一个进程中至少有一个线程. 一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区.自己的变量.

黑马程序员——java基础——集合(Collection)

 黑马程序员--java基础--集合(Collection) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 集合框架的构成及分类,如下图: 1.为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 2.数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 3.

黑马程序员——Java基础篇之对象归要

1.static关键字 1.1.static可以修饰成员变量,成员方法,还有类(其中这里的类是内部类) 1.2.static修饰的部分会随着类的加载而加载: 加载过程:当JVM执行static修饰的代码时,会在内存的共享区给static部分开辟一个空间,供该类持有,static部分不是某个对象的部分,而是该类共有的,所以当一个函数会被多个对象调用时,最好定义成static,这样比较节省空间. 1.3.静态方法只能访问静态成员 原因:如果静态方法中调用了非静态的变量,那么由于静态方法是随着类的加载

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

黑马程序员——java基础——异常

黑马程序员--java基础--异常 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 异常 就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多个属性信息存在.当出现多属性信息最方便的方式就是将这些信息进行封装.异常就是java按照面向对象的思想将问题进行对象封装. 异常体系 --------java.lang.Thro

黑马程序员——Java基础---io(上)

黑马程序员——Java基础---io(上) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java I/O系统负责处理程序的输入和输出,I/O类库位于java.io包中,它对各种常见的输入流和输出流进行了抽象.如果数据流中最小的数据单元是字节,那么称这种流为字节流:如果数据流

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员——java基础---IO(input output)流字符流

黑马程序员——java基础---IO(input output)流字符流 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- io(input output)流特点: 1,io流用来处理数据之间的传输 2,java对数据的操作是通过流的方式: 3,java用于操作流的对象都在io包中: 4,流按操作数据分为两种:字节流和字符流: 5,流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象