数组:
定义:代表一组相同数据类型元素的集合.数组是一种数据类型(引用类型)
1.数组的定义和初始化
2.数组的使用(访问)
数组可以理解为 衣柜/ 橱柜 / 鞋柜 都表示是里面只能放同一类型的内容
int a ; //声明一个int 类型的变量名字为a
int[] b;//声明一个int 类型的数组 变量名为b ----里面只能存放int 类型的数据
char[] c;//声明一个char类型数组 变量名为c ----里面只能存放char 类型的数据
package day07;
/**
* 数组的使用演示类:
* */
public class ArrayDemo {
public static void main(String[] args) {
//1.数组的定义和初始化
int[] arr = new int[3];//在内存中开辟了三块地方,每块地都是int类型的
//初始化:静态初始化
//当使用数组时,明确知道数组里面存的数值有多少个,且知道存储的数据 方可使用
int[] arr1 = {100,200,300};//只能一行完成!
//动态初始化
//当声明一个数组时,只知道开多少块地方,但是不知道每块存多少数据,则可以使用动态初始化
int[] arr2 = new int[3];
//2.数组的访问
// System.out.println(arr1[0]);
// System.out.println(arr1[1]);
// System.out.println(arr1[2]);
// System.out.println(arr1[3]); 异常:ArrayIndexOutOfBoundsException 数组下标访问越界!
arr2[0] = 99;
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}
/*
* 需求:通过控制台输入成绩的方式,录入10名同学的成绩到数组中
* int[] scores = new int[10];
* 例如:请输入第 1 名学生成绩
* 100
* 请输入第 2 名学生成绩
* 66
* 请输入第 3 名学生成绩
* 59
* ...... 成绩录入完毕
*
* 计算10名同学的平均成绩 : 总成绩 除 人数
* */
Scanner s = new Scanner(System.in);//创建一个扫描器
System.out.println("请表示要录入多少名同学的成绩");
int length = s.nextInt();
int[] scores = new int[length];//开多少块空间取决于 需要录入多少
int sum = 0;//用于记录总成绩
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第" + (i + 1) + "名同学的成绩!");
scores[i] = s.nextInt();//将用户输入的数据 存到数组中下标为0的这块区域
sum += scores[i];
}
System.out.println("录入成绩完毕!");
System.out.println("班级的平均成绩"+(sum/scores.length));
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
方法
方法称之为(函数),方法主要用来表示一个功能。
适用性:当有一些重复性的逻辑,或者有一些需要重复计算的代码时,我们可以用方法来进行复用,减少代码的冗余。
方法的语法: [访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
1.访问修饰符:控制当前方法的可见范围(后续会详细去讲)
2.返回值类型:没有返回值 用void 来代表这个 ,如果有返回值,那需要写上对应的返回值类型即可,若写了返回值类型,则需要再方法体中的最后一行代码 用return 关键字 后面加上要返回的数据即可。返回的数据要与方法的返回值类型匹配。
3.方法的名称:遵循Java的命名规范,小驼峰命名法。要见名知意!
4.参数: 又叫做形式参数,主要就是占一个位置,供外部使用方式时传递具体的数据。
方法的分类:1.无参无返回值 2.有参无返回值 3.无参有返回值 4.有参有返回值
无参无返回值:
public static void main(String[] args) {
attack();//使用attack方法
attack();
attack();
}
//1.无参无返回值的方法
//[访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
//定义一次 使用多次!
static void attack(){//定义了一个无参无返回值的方法 方法名称叫 attack
System.out.println("直拳!");
System.out.println("摆拳!");
System.out.println("上勾拳!");
}
有参无返回值
/**
* 有参无返回值的使用演示:
*/
public class MethodDemo2 {
public static void main(String[] args) {
//在使用方法时传入的参数叫做实参(实际参数!)
//调用方法传递参数式,一定要符合当前方法的定义 方法要什么 你给什么!
sayHi("云博",18);//调用打招呼的方法
}
//小括号中写的参数叫做形式参数:占了一个位置而已!
//有参数无返回值的方法!
static void sayHi(String name,int age){
System.out.println(name +"同学您好!今年你已经"+ age+ " 岁了!");
}
}
无参有返回值的方法
Scanner s = new Scanner(System.in);//创建一个扫描器
s.nextInt(); //返回一个int 类型的数据
s.nextDouble();//返回一个double类型的数据
Math.random();//返回一个随机0~1的double类型的小数
package day08;
import java.util.Scanner;
/**
* 无参有返回的方法使用演示:
*/
public class MethodDemo03 {
public static void main(String[] args) {
double p = getPI();//调用获取PI的方法 并接收存到了变量 p中、
System.out.println(p);
}
//[访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
//无参数有返回值的方法定义
//适用性:以后别人在调用方法时,只需要返回给调用者一个内容时 那么此时可以用无参有返回值
static double getPI(){
//返回
return 3.1415926;
}
}
有参有返回值的使用:
package day08;
/**
* 有参有返回值的方法使用演示:
*/
public class MethodDemo04 {
public static void main(String[] args) {
/**
* 小张!做一个程序 求 15 + 15 的计算结果
* */
// int a = 15;
// int b = 15;
// int result = a + b; //接收结果返回给 result、
int r = add(10000,56454594);
//什么时候需要接收,具体看调用者的需要,如果拿到结果要做后续处理运算的话 则需要...
System.out.println(r);
// /**
// * 小张!做一个程序 求 66 + 100 的计算结果
// * */
// int c = 66;
// int d = 100;
// int result1 = c + d;
// /**
// * 小张!做一个程序 求 800 + 50000 的计算结果
// * */
// int e = 800;
// int f = 50000;
// int result2 = e + f;
}
//[访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
static int add(int a, int b) { //定义了一个有两个参数为int 类型,返回值为int类型的方法 名为add
int result = a + b;
//返回
return result;
}
}
方法的重载
方法重载的好处:当某个方法需求多变!仅仅只是因为参数个数可能不同参数类型不同,但是要做的方法逻辑相同的时候,此时可以使用一个方法名称来表示这不同的需求!这个过程称之为重载!
构建方法的重载条件:当方法的参数个数或类型不同时,方法名相同,则自动构建成重载!
//[访问修饰符] 返回值类型 方法名称 ([参数]){ 方法体 }
static int add(int a, int b) { //定义了一个有两个参数为int 类型,返回值为int类型的方法 名为add
int result = a + b;
//返回
return result;
}
//下列方法构建成了方法的重载,满足方法名相同 参数个数不同。
static int add(int a, int b, int c) {
return a + b + c;
}
//下列方法构建成了方法的重载,满足方法名相同 参数类型不同。
static double add(double a, double b) {
return a + b;
}
博客介绍了Java中数组和方法的相关知识。数组是相同数据类型元素的集合,属于引用类型,讲解了其定义、初始化和使用。方法主要用于表示功能,可减少代码冗余,介绍了语法、分类。还阐述了方法重载,当参数个数或类型不同但方法名相同时可构建重载。
1665

被折叠的 条评论
为什么被折叠?



