[JAVASE]笔记5

·测试java中return
1、有返回值类型的方法:1)结束方法 2)带出返回值
2、没有返回值类型的方法: 1)结束方法
3、不可达语句出现的情况:
1)一定会执行的return后出现的语句
2)死循环后出现的语句
3)break后面出现的语句
4)continue后面出现的语句
4、方法的兼容类型:
1.形参的数据类型>=实参的数据类型
2.返回值: return后面数据的类型<=返回值类型<=接受数据类型

·打印等腰三角形

  //传递一个大写字母,输出行数,根据这个字母输出下列形式的图形    
            /*				 行数i	  等腰一行中最多有几个字符 i		占位倒三角 n   m=5  
            ----A					1     					1 i						4 = m-i
            ---B B					2						2 i						3 = m-i
            --C C C					3						3 i						2
            -D D D D 				4						4 i
            E E E E E 				5						5 i
            	*/
            	//返回值:不需要     参数:2个参数   int m行数   char ch 字符
            	public static void print(int m,char ch){
            		//外层循环控制行  i
            		for(int i=1;i<=m;i++){
            			//占位倒三角  n=m-i;
            			for(int n=1;n<=m-i;n++){
            				System.out.print(" ");
            			}
            			//等腰三角形
            			for(int j=1;j<=i;j++){
            				System.out.print(ch+" ");
            			}
            			System.out.println(); //换行
            			//ch=(char)(ch+1);
            			//ch++;
            			ch+=1;
            		}
            	}

·方法的重载: 同一个类中,多个方法方法名相同,参数列表不同(方法签名:方法名+参数列表–>一个方法唯一的表示) -->这些方法构成方法的重载
1、方法重载:
1).同一个类中
2).多个方法方法名相同
3).参数列表不同
参数数据类型不同
个数不同
顺序不同(不同类型的参数)
2、重载方法的调用:
根据传递的实参决定调用的是重载方法中的哪一个
3、面向对象的三大特性: 封装 继承 多态
方法是一个类中封装的一种体现
方法的重载是一个类中多态的一种体现
4、方法重载的注意事项:
1.方法的重载和方法有无返回值无关
2.方法的重载和返回值类型无关
3.方法的重载和修饰符无关
4.方法的重载和参数的名字无关
方法重载只和方法签名相关
·方法的递归(了解)
方法自己调用自己
临界条件:递归头 停止自己调用自己的条件
递归前进段:没有满足临界条件之前,自己调用自己
递归后退段:当满足临界条件,将结果返回给上一层
递归头: 临界条件
递归体: 自己调用自己
·数组:
相同数据类型的有序集合
变量:存储单个数据
数组:存储多个数据
1、数组的特点:
1.数组是一个引用数据类型
2.数组是一个容器,长度一旦确定不能改变
3.数组中数据类型相同
4.数组中数据是有序的
2、数组的声明方式:
1. 数据类型[] 数组名;
数据类型: 当前数组中所有数据的数据类型 基本数据类型|引用数据类型
2. 数据类型 数组名[]; —不推荐使用
3、初始化:
动态初始化:
数据类型[] 数组名=new 数据类型[长度]; 创建指定长度的数组
数组中的数据存在默认值:
byte/short/int/long --> 0
double/float --> 0.0
char --> ’ ’
boolean --> false
引用数据类型 --> null
静态初始化:
数据类型[] 数组名=new 数据类型[]{值1,值2,值3…}; 由值的个数来决定创建的数组的长度
数据类型[] 数组名={值1,值2,值3…}; --推荐
注意:简略形式不可以给数组重新赋值
4、操作数组中的数据: 0~ 数组名.length-1
索引|下标 从0开始
数组名[索引]
在数组中最后一个数据的索引: 数组名.length-1
5、数组的长度:
数组名.length
6、数组的遍历:
1.普通for循环
2.增强for循环 for…each
for(数据类型 变量名i:容器名|数组名){
i就是数组中的每一个数据,不是索引 从前向后遍历
}
只能获取值不能赋值

·最值:获取数组中的最大值和最小值

//返回值:最值			参数:int[]
public static int[] getMaxMin(int[] arr){
	//假设数组中的第一个数据为数组中的最大值|最小值
	int max=arr[0];
	int min=arr[0];
	//遍历获取数组中的每一个值进行比较
	for(int i:arr){
		if(i>max){
			max=i;
		}
		if(i<min){
			min=i;
		}
	}
	return new int[]{max,min};
}

·逆序:倒叙输出数组元素

//返回值:不需要    参数:一个数组int[]
public static void print(int[] arr){
	for(int i=arr.length-1;i>=0;i--){
		System.out.println(arr[i]);
	}
}

·二维数组(了解)
数组中放数组就是二维数组
1、声明:
数据类型[][] 数组名; --推荐
数据类型 数组名[][];
数据类型[] 数组名[];
2、初始化:
数据类型[][] 数组名=new 数据类型[一维数组的长度][二维数组的长度];
每一个第二维都是一样长度
数据类型[][] 数组名=new 数据类型[一维数组的长度][];
每一个第一维的空间中的数据都是一个小数组,但是每一个第二维数组都没有创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值