方法:
java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:
public 返回值类型 方法名(形式参数列表){
java语句;
}
1.形式参数:在方法被调用时用于接收外界输入的数据。
2.实参:调用方法时实际传给方法的数据
3.返回值:方法在执行完毕后返还给调用它的环境的数据。
4.返回值类型:事先约定的返回值的数据类型,必须给出返回值类型void
java语言中使用下述形式调用方法:对象名.方法名(实参列表)
实参的数目,数据类型和次序必须和所调用方法声明的形参列表匹配
return语句终止方法的运行并指定要返回的数据类型
java中进行函数调用中传递参数时,遵循值传递原则:
基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身
方法重载:
方法重载:就是方法名相同,方法参数的个数和类型不同,通过个数和类型的不同来区分不同的函数。
注意:返回值的类型不同不能说成是方法的重载。
方法重载跟返回值类型和修饰符无关 Java的重载 是发生在本类中的,重载的条件是在本类中有多个方法名相同,但参数列表不同(可能是,参数个数不同,参数类型不同),跟返回值无关。 我们可以举
个例子,假如我们在同一个类中,写了两个方法名相同并且参数列表也相同,只是返回值不同,public Stringshow(int number) public int show(int number) 而我们调用这个方法给它赋值的时候
java虚拟机并不知道你要赋给的是String型的方法还是int型的方法,所以重载跟返回值无关。
数组概述:
数组可以看做多个相同数据类型的数据集合,对这些数据统一的管理
数组变量属于引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量
数组中的元素可以是任何数据类型。包括基本类型和引用类型
一维数组的声明
int a [] = new int[3];
int [] a = new int[3];
int [] a ={1,2,3,4};
数组初始化
动态数组初始化:
数组定义与数组元素分配空间和赋值的操作分开进行,例如:
数组元素的默认初始化:
数组是引用数据类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化如:
输出结果:0
null
数组元素的引用:
定义并用运算符new为之分配空间后,才可以引用数组中的每个元素
数组元素的引用方式为:
arr[index]; //index为数组下标
例如:
a[1];a[0];a[4];
数组的元素下标从0开始;长度为n的数组的合法下标取值范围为0到n-1
每个数组都用一个属性length指明它的长度例如:
arr.length的值为数组arr的长度(元素个数);
排序:
排序的不同算法
1.冒泡排序法:
2.选择排序法:
二维数组:
二维数组可以看成以数组为元素的数组例如:
int arr[][] = {{1,2},{3,4}};
java中多维数组的声明和初始化应按从高维到低维的顺序进行例如:
int a[][] = new int[3][];
a[0] = new int [2];
a[1] = new int [4];
a[2] = new int [3];
int t1[][] = new int [][4];//非法
二维数组初始化:
静态初始化:
int arr[][] ={{1,2},{3,4},{5,6}};
动态初始化:
int a[][] = new int[3][5];
int b[][] = new int[3][];
b[0] = new int[2];
b[1] = new int[3];
b[2] = new int[5];
补充点:
可变参数:
public static void fun(int...arr){
for(int i = 0;i<arr.length;i++){
System.out.println(i);
}
}
可变参数:可以传多个同类型的值并以数组形式存储
foreach输出:
public static void fun(int...arr){
for(int i:arr){
System.out.println(i);
}
}
foreach输出:可以直接输出数组中的所有值
利用主函数的参数输入:
使用输入流:
先用引包:
import java.util.*
然后如下操作:
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
下一章讲java的面向对象
练习题:
1.完成多个排序程序(不同算法)。
2.求1到100之间的素数。
3.求1!+2!+...+8!的和。
4.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10次落地时,共经过多少米?第10次反弹多高?
5.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。