Java学习笔记之---方法和数组
Java学习笔记之—方法与数组
(一)方法
(1)什么是方法?
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
(2)方法的优点
- 使程序变得更简短而清晰。
- 有利于程序维护。
- 可以提高程序开发的效率。
- 提高了代码的重用性。
(3)方法的命名规则
- 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
- 下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack。
(4)方法的定义
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
执行语句;
return 返回值;
}
返回值类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用void
来表示该函数没有返回值。
函数名:仅仅是一个标识符,可以随意起名字。
形式参数:是一个变量,用于存储调用函数传递进来的实际参数。
实际参数:传递给形式参数的具体数值。
返回值:返回给调用者。
(5)函数的应用
- 根据学生考试成绩划分ABCD A90-100 B80-89 C70-79 D60-69 E0-59,建议成绩使用double。将该程序使用函数定义。
public static void main(String[] args){ Scanner sc =new Scanner(System.in); double n=sc.nextDouble(); char m=cj(n); System.out.println(m); } public static char cj(double x){ char m; if(x>=90&&x<=100){ m=\'A\'; }else if(x>=80&&x<90){ m=\'B\'; }else if(x>=70&&x<80){ m=\'C\'; }else if(x>=60&&x<70){ m=\'D\'; }else{ m=\'E\'; } return m; }
(二)数组
(1)声明数组变量
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
(2)创建数组(3种方法)
- int[] a=new int[3];
a[0]=1;
a[1]=2;
a[3]=3;
- int[] a=new int[]{1,2,3}
- int[] a={1,2,3}
(3)数组的应用
一个数组取出最大数
public static void main(String[] args){ int[] a={5,7,2,66,32}; int i=0; int n; for(int j=1;j<=4;j++){ if(a[i]<a[j]){ n=a[i]; a[i]=a[j]; a[j]=n; } } System.out.println(a[i]); }
(三)二维数组
String str[][] = new String[3][4];
//5. 定义一个函数计算二维数组中的元素的累加和 public static void main(String[] args){ int[][] a=new int[][]{{9,8,6},{7,5,6}}; int sum=0; for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ sum=sum+a[i][j]; } } System.out.println(sum); }
(四)排序
(1)直接排序
以一个角标的元素和其他元素进行比较。
在内循环第一次结束,最值出现的头角标位置上。
int[] a = {5, 22, 25, 15, 4}; int s = 0; for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 5; j++) { if (a[i] > a[j]) { s = a[i]; a[i] = a[j]; a[j] = s; } } } for(int n:a){ System.out.println(n); }
(2)冒泡排序
内循环结束一次,最值出现在尾角标位置
相邻两个元素进行比较。如果满足条件就进行位置置换
int[] a = {5, 22, 25, 15, 4}; int s = 0; for(int i=0;i<4;i++){ for(int j=0;j<4-i;j++){ if(a[j]>a[j+1]){ s = a[j]; a[j] = a[j+1]; a[j+1] = s; } } } for(int n:a ){ System.out.println(n); }