一.方法的注意事项
定义方法:
1.所以的方法都是平级 没有上下级关系
2. 方法的定义与位置(上下) 没有关系
3. 方法定义的时候不能进行嵌套
4.方法调用是可以相互调用 甚至还可以自己调用自己(递归)
方法参数
形参 ==>方法括号里的参数
实参 ==>实际的参数 在方法调用的时候传递进来的参数
return 语句
1.return 用于来表示结束当前方法并且返回具体的数据
2.方法没有返回值(void )可以不写return
3.return 的数据必须与返回值类型是一样
二.方法的重载
1.方法重载的规则
在同一个类中,方法名字相同,参数个数不同或参数类型不同的方法称为方法重载
解析:
在同一个类中, 方法重载只能发生在一个类中,不能够发生在多个类中
方法名字相同 ,重载的方法名必须是一样
参数列表有关 参数的个数不同 或者是参数的类型不同 (与参数的名字没有关系)
与返回值无关 方法重在与返回值类型没有关系 可以是任意的类型
数组
1.数组是用于来存储相同数据类型的数据的容器
2.数组的定义
动态初始化
语法: 数据类型 [] 数组名称 = new 数据类型[长度];
静态初始化
语法: 数据类型 [] 数组名称 = new 数据类型[]{数据列}
数组中常见的异常
下标越界的异常
索引获取数组中数据的时候超过数组中最大值
空指针异常
堆内存中没有开辟空间或数组=NULL
数组内存
程序运行时,main方法进栈,创建数组变量,new一个数组时,会在堆内存中开辟出多块连续的内存空间,并把这内存的空间地址值赋予栈内存中的数组变量,数组变量可通过这个内存地址找到它相应的存储空间
作业
1.控制台显示5件特价商品
public static void main(String[] args) {
String[] arr=new String[]{"Nick背包","Adidas运动衫",
"李宁运动鞋","Kappa外套","361腰包"};
System.out.println("本次活动特价商品有");
for (String ar : arr) {
System.out.println(ar);
}
}
2.以表格的形式输出5笔购物金额及总金额
public static void main(String[] args) {
System.out.println("请输入会员本月的消费记录");
Double[] arr=new Double[5];
Scanner s = new Scanner(System.in);
for (int i=0;i<arr.length;i++){
System.out.print("请输入第"+(i+1)+"笔购物金额:");
arr[i]= s.nextDouble();
}
System.out.println("序号\t\t\t"+"金额(元)");
double sum=0;
for (int j=0;j<arr.length;j++){
System.out.println(j+1+"\t\t\t"+arr[j]);
sum+=arr[j];
}
System.out.println("总金额\t\t"+sum);
}
结果为:
3.乱序字符串进行排序
public static void main(String[] args) {
char[] arr=new char[]{'a','c','u','b','e','p','f','z'};
//升序
for (int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
char tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
}
}
}
System.out.print("升序:\t");
for (char bar : arr) {
System.out.print(bar+"\t");
}
System.out.println();
//降序
for (int k=0;k<arr.length-1;k++){
for(int l=0;l<arr.length-1-k;l++){
if(arr[l]<arr[l+1]){
char tem=arr[l];
arr[l]=arr[l+1];
arr[l+1]=tem;
}
}
}
System.out.print("降序:\t");
for (char bar : arr) {
System.out.print(bar+"\t");
}
}