一、函数
函数格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
执行语句;
return 返回值;
}
返回值类型: 运算结果的类型,如果函数没有返回值则用void来表示
函数名: 标识符,名字任意取
形式参数: 是一个变量,用于存储调用函数传递进来的实际参数
实际参数: 传递给形式参数的具体数值
返回值: 返回给调用者
说明:
1)main方法是程序的入口,由虚拟机调用,方法和方法之间不能嵌套,方法之间通过调用来使用;
2)对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写;
3)函数重载:在同一个类中,有一个以上的同名函数,函数的参数列表或参数类型不一样
例子
[root@bch04 java]# cat Demo9.java public class Demo9 { public static void main(String[] args) { int i = 10; int j = 20; int max = getMax(i,j); System.out.println(max); } public static int getMax(int x,int y) { int result; if (x>=y) { result = x; } else { result =y; } return result; } } //运行结果 [root@bch04 java]# java Demo9 20
[root@bch04 java]# cat Demo10.java public class Demo10 { public static void main(String[] args) { getResult(5); } public static void getResult(int x) { System.out.println( x*8); } } //运行结果 [root@bch04 java]# java Demo10 40
[root@bch04 java]# cat Demo11.java public class Demo11 { public static void main(String[] args) { draw(10,20); System.out.println(equalas(10,20)); } public static void draw(int width,int height) { for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { System.out.print("*"); } System.out.println(); } } public static boolean equalas(int a, int b) { return a==b?true:false; } } //运行结果 [root@bch04 java]# javac Demo11.java [root@bch04 java]# java Demo11 ******************** ******************** ******************** ******************** ******************** ******************** ******************** ******************** ******************** ******************** false
二、数组
1.定义
格式一:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
格式二:
元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
特点:直接明确数组的长度,以及数组中元素的内容
说明:
1)左半部分:声明数组变量,指定数组的元素类型、数组标识
2)右半部分:创建数组,用到关键字new,在内存中产生一个容器实体,开辟空间大小
3)创建数组之后不能修改数组的大小,可以使用length属性获取数组的大小
2.初始化
方式一:
int[] arr3=new int[3]; arr3[0]=1; arr3[1]=5; arr3[2]=6;
方式二:不使用运算符new
int[] arr = { 1, 2, 3, 4, 5 }; int[] arr2 = new int[] { 1, 2, 3, 4, 5 };
3.数组遍历
public static void main(String[] args) { int[] x = { 1, 2, 3 }; for (int y = 0; y < x.length; y++) { System.out.println(x[y]); } }
例子
//选择排序 [root@bch04 java]# cat Demo11.java public class Demo11 { public static void main(String[] args) { int[] arr = new int[3]; arr[0] = 1; arr[1] = 3; arr[2] = 2; int max = arr[0]; for (int i=0; iarr[j]) { max = arr[i]; arr[i] = arr[j]; arr[j] = max; } } } System.out.println(arr[0] +"\n" +arr[1] +"\n" +arr[2]); } } //运行结果 [root@bch04 java]# java Demo11 1 2 3
//冒泡排序 [root@bch04 java]# cat Demo11.java public class Demo11 { public static void main(String[] args) { int[] arr = new int[3]; arr[0] = 1; arr[1] = 3; arr[2] = 2; int max = arr[0]; for (int i=0; iarr[j+1]) { max = arr[j]; arr[j] = arr[j+1]; arr[j+1] = max; } } } System.out.println(arr[0] +"\n" +arr[1] +"\n" +arr[2]); } } //运行结果 [root@bch04 java]# java Demo11 1 2 3
三、数组(2维)
1.定义:
数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];
2.初始化:
2.1 静态初始化
int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };
2.2 动态初始化
例子
[root@bch04 java]# cat Demo12.java public class Demo12 { public static void getArr2(int [][] a) { for (int i = 0; i