Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含 于类或对象中.。方法在程序中被创建。
语法格式
[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
Java语句;… … …
[return 返回值;]
}
关于返回值类型
- 返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据类型包括基本数据类型和引用数据类型,也就是说返回值类型可以是:byte short int long float double boolean char String…
- 什么是返回值?返回值一般指的是一个方法执行结束之后的结果。结果通常是一个数据,所以被称为“值”,而且还叫“返回值”。方法就是为了完成某个特定的功能,方法结束之后大部分情况下都是有一个结果的,而体现结果的一般都是数据。数据得有类型。这就是返回值
- 方法执行结束之后的返回值实际上是给调用者,谁调用就返回给谁
- 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void
- 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配
- return 语句终止方法的运行并指定要返回的数据
例如
public static void main(String[] args) {
short a = 10;
short b = 5;
//调用方法
Demo2.show();
int m = Demo2.max(a,b);
System.out.println(m);
Demo2.max1();
}
//自定义的方法 返回两个整数中较大的一个
//public 访问权限修饰符 公共的 void 表示方法没有返回值 show方法名 ()参数列表
// static 类方法 通过类名调用
public static void show(){
System.out.println("showshow");
}
/*
定义了一个有参数,有返回值的方法 注意参数以及返回值的数据类型
*/
public static int max(int m,int n){
int max = (m>n)?m:n;//判断返回大的
return max;//通过return 关键字 返回结果
}
public static void max1(){
int max = 10;
if(max==11){
return;//终止方法 return后面不能加任何表达式
}
System.out.println("max"+max);
}
数组
数组的定义:
-
数组是相同类型数据的有序集合.
-
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
-
其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.
创建一个数组
int a[]=new int[5] //定义一个长度为5的数组
或int []a=new int[5]
数组的元素是通过索引访问的。索引从零开始到a,length-1.
例如
int a[]=new int[3];
a[0]=3;
a[1]=2;
a[2]=1;
数组的访问与迭代
1.for循环
int [] a = new int []{1,2,3,4,5,6,7};
for(int i =0;i<b1.length;i++){
System.out.println(a[i]);
}
2.增强for循环
int [] b = new int []{1,2,3,4,5,6,7};
for(数组元素的类型 临时变量名字 :数组的名字){
System.out.println(临时变量名字 );
}
即:
for(int x:b){
System.out.println(x);
}
数组排序
- 冒泡排序:比较相邻的两个元素,如果第二个比第一个大,则交换两个元素,一直这样下去,最后的元素就是最大的元素。即:
public static void main(String[] args) {
int[] a = {4,5,3,2,1};
for(int i=0;i<a.length-1;i++){//比较的趟数
for(int j=0;j<a.length-1-i;j++){//相邻比较
if(a[j]>a[j+1]){//比较
//交换
int temp = a[j];//先寄存一个
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
- 选择排序:
选择排序就是通过选择一个数组中的最大(小)值排序到数组的头部位置(和头部位置交换)接下来循环剩余数组找到次最大(小)值排序到第二的位置,以此类推,直到所有的数字都被选择完成之后完成排序
public static void main(String[] args){
int arr[] = {1,3,6,5,2,4,8,9,7,0}; //初始化一个数组
for(int i = 0;i<arr.length-1;i++) {
for(int j=i+1;j<arr.length;j++) {
if(arr[i]>arr[j]){ //当前面的数大于后面的数时交换位置(从小到大排序)
int temp = arr[i]; //以第2次循环中3和2比较为例://将3值赋值给变量temp,
//temp的值为3
arr[i]=arr[j]; //将2的值赋值给i,此时i=2
arr[j]=temp; //将temp的值赋值给j,此时j的值为3
}
}
}
for(int i = 0; i<arr.length;i++) {
System.out.print(" "+arr[i]); //输出排序后的数组
}
}