学习JavaDay07

复习Day06

二维数组

声明创建
	静态创建
		创建并初始化
			int[x][y] nums = {{},{},{}...};
			x:二维数组中一位数组的个数
			y:二维数组中一位数组中的元素个数
	动态创建
		注意:
			创建和初始化可以同时进行,也可以先创建,后赋值
		int[][] nums;
		nums = new int[x][y]{{},{},{},...};
		int[][] nums= new int[x][y]{{},{},{},...};
		x:二维数组中一位数组的个数
			可以有也可以没有;
			可以先设定,也可以后设定
		y:二维数组中一位数组中的元素个数
			必须有;
使用
	查
			查询指定位置的一维数组
			数组名[下标]
		查询指定位置的元素
			数组名[下标1][下标2];
			下标1:一维数组在二维数组中的位置
			下标2:元素在一维数组中的位置
		查询二维数组的长度
			数组名.length
			注意:长度为二维数组中一维数组的个数,不是所有元素的个数
			
		for
			语法:
				for(int i = 0;i < nums.length;i++){
					sout(nums[i]+",")
				}
		foreach
			语法:
				for(int i : nums){
					sout(i)
				}
	改
		修改指定位置的一维数组
			数组名[下标] = 新的一维数组;
		修改指定位置的元素
			数组名[下标1][下标2] = 值;
				下标1:一维数组在二维数组中的位置
				下标2:元素在一维数组中的位置
		修改整个二维数组
			数组名 = 新的二维数组
	

算法

杨辉三角
	思想:
i
0	1	0	0	0	0	0
1	1	1	0	0	0	0
2	1	2	1	0	0	0
3	1	3	3	1	0	0
4	1	4	6	4	1	0
5	1	5	10	10	5	1
	...
	0	1	2	3	4	5				j
	
	当j==0或j==i时值为1
	j<i时:当前位置[i][j] = 上一行[i-1][j]+上一行[i-1][j-1]
	j>i时:值为0

冒泡排序
	冒泡
		思想:相邻比较,交换位置

选择排序
	选择
		思想:找到最大或最小的,然后放到开头的位置,或结尾的位置

Day07

编程思想
面向过程
	只考虑事物发展顺序,不考虑参与事物中的对象。
面向对象
	先考虑事物中存在哪些对象,然后再考虑事物发展对象顺序。
	可以考虑生活中的事。
对象
	什么是对象:
		Java:万事万物皆对象
		所有客观存在的事物都是对象。
	代码中的对象:
		在代码中真实存在的事物
类
	概念:
		多个对象抽取其共同点形成的概念,称为类。
类与对象的关系
	生活中:先有对象,后有类;
	代码中:先有类,后有对象;
	
	一个类可以创建多个对象,多个对象可以属于同一个类。
创建类
	public class 类名{
	
	}
类中有什么
	静态特征:
		属性(成员变量):描述对象静态特征
			语法:
				访问权限修饰符 数据类型 变量名; 
			属性声明的位置:
				类中,方法外
			注意:属性:可有可无,可以多个;
			别名:成员变量
	动态特征(行为):
		方法:描述对象行为
			语法:
				访问权限修饰  返回值类型 方法名(形参列表){
				
				}
				修饰符:暂时不写;
			方法声明的位置:
				类中,方法外	
			注意:方法:可有可无,可以多个;
            别名:函数,成员方法,成员函数;
	构造方法:
		作用 :创建对象
		语法 :
			访问权限修饰符 构造函数名(形参列表){
			
			}
			注意:
				1.构造函数名和类名完全一致;(大小写都一样);
				2.使用new关键字调用;
				3.一个类中可以含有多个构造函数
				4.多个构造函数一定构成重载
成员变量与局部变量的区别
	成员变量:属性
		定义位置:类中,方法外
		有默认值:基本数据类型默认为0,引用数据类型默认为null
		生命周期:随着对象创建而生成,随着对象的销毁而销毁
		可以使用访问权限修饰符
	局部变量:
		定义位置:类中,方法中,或形参中
		没有默认值
		生命周期:随着方法的调用而生成,随着方法的执行完毕而销毁
		使用范围:声明的代码块中
		不能使用访问权限修饰符
	局部变量和成员变量可以同名:
		当局部变量与成员变量名字相同时,默认使用局部变量。
this关键字
	this含义:
		谁调用this所在的方法,this就代表谁
		调用本类的属性和方法,这个时候this可以忽略不写。
	作用:
 		1,当局部变量与成员变量(属性)重名时,用于区分成员变量还是局部变量
       	 	变量名:局部变量
       	 	this.变量名:成员变量
    	2,在方法中调用本类的属性或方法,此时可以忽略this不写
    		this.属性名\方法名(实参列表)
    	
    	3,调用本类其他构造函数
    		要求:
    			1,必须在构造函数的第一行
    			2,不能形成递归
    		this(实参列表);
如何创建对象:(类的实例化)
	通过new,构造函数,
	语法:
	好记:
		类名 对象名 = new 类名(实参列表);
	专业:
		数据类型 对象名 = new 构造函数名(实参列表);
	注意:
		如果一个类中没有构造函数,系统默认生成无参构造函数。
		如果一个类中有构造函数,系统不会生成构造函数。
如何使用对象的属性或方法:
	获取
		对象名.属性
		者对象.方法;
	语法:
		对象名.方法;
		对象名.属性;
对象的创建过程(了解)
	数据类型 对象名 = new 构造函数名(实参列表);
	步骤:
	1,使用new关键字在堆内存开辟一片空间,用于存储该对象的属性与方法
	2,给对象属性赋初始值,基本数据类型赋值为0,引用数据类型赋值为null
	3,执行构造函数中的代码
	4,将堆内存中的地址(步骤1中开辟的内存地址)赋值给栈的引用(对象名)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值