Java学习笔记之---方法和数组

时间:2021-05-14 10:24:08

Java学习笔记之---方法与数组

(一)方法

(1)什么是方法?

  1. 方法是解决一类问题的步骤的有序组合
  2. 方法包含于类或对象中
  3. 方法在程序中被创建,在其他地方被引用

(2)方法的优点

  1. 使程序变得更简短而清晰。
  2. 有利于程序维护。
  3. 可以提高程序开发的效率。
  4. 提高了代码的重用性。

(3)方法的命名规则

  1. 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson
  2. 下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack

(4)方法的定义

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

{

执行语句;

return 返回值;

}

返回值类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用void

            来表示该函数没有返回值。

函数名:仅仅是一个标识符,可以随意起名字。

形式参数:是一个变量,用于存储调用函数传递进来的实际参数。

实际参数:传递给形式参数的具体数值。

返回值:返回给调用者。

(5)函数的应用

  1. 根据学生考试成绩划分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种方法)

  1. int[] a=new int[3];

a[0]=1;

a[1]=2;

a[3]=3;

  1. int[] a=new int[]{1,2,3}
  2. 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);
}