Java day6 小结

Java day6 小结

查漏补缺:
1.while 与 for 的区别:
1>for循环,明确循环的次数(如果知道范围,直接可以使用for循环)
while循环,在开发中不明确循环的次数,使用while循环(使用仅次于for循环)
2>从内存角度考虑:
for循环一旦结束,控制的这个变量会从内存中及时释放掉;
while循环还可以访问控制的变量值,它不会立即被是释放,等待GC空闲时候去释放掉!

今日要点:
一.方法
1)方法
1.1 什么是方法?
抽取一个特定的功能,把代码写在大括号里,用来重复调用
1.2 定义方法的格式
有返回值类型的方法
修饰符1+…+修饰符n+返回值类型+方法名( 形式参数 ){
方法语言体
return; }
1.21如何调用
1)有具体返回值类型的方法
定义一个类型数据类型与返回值类型一致.格式:数据类型 设置调用名 等于 调用函数名(实际参数);
2)没有具体返回值类型的方法
单独调用 直接在main中写出 格式:调用函数名(实际参数);

1.3 什么是方法重载?(重点)
方法名相同, 参数列表中 参数类型的顺序 或者参数个数不同 即方法重载 与返回值无关.

二.(一维)数组
2.1什么数组及特点
概念:能存储同一种类型元素的容器
特点:
1)数组是引用数据类型
2)数组的长度是固定的,也就是说可以存储固定个数的数据
3)数组中的元素的类型必须一致,也就是说数组中存储的多个数据的数据类型一致

2.2数组的定义格式 及 初始化
动态初始化 : 数据类型 [ ] 数组名 = new [ 数组长度]{ };
数据类型 数组名 [ ]= new [ 数组长度]{ };
静态初始化: 数据类型 [ ] 数组名 = new [ ]{ 元素1,元素2,…,元素n};
数据类型 数组名 [ ]= new [ ]{元素1,元素2,…,元素n };

重点 :
1.堆: new出来的数据存储地
2.栈:存储一些局部变量 main中的
3.方法区:顾名思义
小结 : 栈 : 数据为先进后出 队列 : 数据为先进先出
4.数组中的length表示数组长度. 数组具有length 属性 无 length方法 length()为方法
5.冒泡排序( 两两比较由小到大排序 )
格式:
//冒泡排序
public static void bubbleSort(int[] arr){
for(int x = 0 ; x < arr.length-1 ;x ++){//总共:比较的次数
for(int y = 0 ; y < arr.length-1-x;y ++){
if(arr[y] > arr[y+1]){
//中间变量的方式
int temp = arr[y] ;
arr[y] = arr[y+1] ;
arr[y+1] =temp ;
}
}
}
}

冒泡排序经典应用: (最值及查询一个值在数组中的位置)
1>最值
Eg:class Demo1{

	public static void main(String[]args){
		int arr[]={141,12,1212,1002,121};
		printSZ(arr);
		System.out.println("最大值为:"+arr[arr.length-1]);
		System.out.println("最小值为:"+arr[0]);
	}
	
	public static void printSZ(int[] arr){
		for(int x = 0 ; x < arr.length-1 ;x ++){//总共:比较的次数
				for(int y = 0 ; y < arr.length-1-x;y ++){
				if(arr[y] > arr[y+1]){
					//中间变量的方式
					int temp = arr[y] ;
					arr[y] = arr[y+1] ;
					arr[y+1] =temp ;
				}
			}
		}
	}
}

2>查询一个值在数组中的位置
Eg: class Demo2{

	public static void main(String[]args){
		int[] arr = {10,55,30,24,17};
		int a=arr.length;
		printSZ(arr);
		System.out.println("30的位置:"+arr[0]);
	}
	
	public static void printSZ(int[] arr){
		int shuzuchangdu=0;
		for(int x = 0 ; x < arr.length-1 ;x ++){//求出数组长度
			shuzuchangdu++;	
		}
		for(int x = 0 ; x < arr.length-1 ;x ++){//求出30在数组的位置
		if(arr[x]==30) {
			int weizhi=shuzuchangdu-x+1;
			arr[0]=weizhi;
		}
		}

}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值