1、二维数字的遍历功能以及杨辉三角
(1)、遍历二维数组
public class Demo{
public static void main(String[] args){
int arr[][]={{1,67,32},{88,6,99}};
}
public static void getNmu(int arr[][]){
System.out.prin("{");
for(int x=0;x<arr.length;x++){
System.out.print("{");
for(int y=0;y<arr[x].length;y++){
//判断
if(x==arr.length;x++){//如果是二维数组的最后一个元素,输出元素值以及后面的}
System.out.print(arr[x][y]+"}");
}else if(y==arr[x].length-1;y++){
System.out.print(arr[x][y]+"}"+",");
}else{
System.out.print(arr[x][y]+",");//输出元素内容
}
}
}
System.out.print(arr[x][y]+"}");
}
}
2、面向对象
基于面向过程的一种思想。
面向对象:代表JAVA语言(指挥者)
强调对象的创建,使用对象调用功能!
面向过程:代表C语言(执行者)
强调一个功能的步骤
面向对象思想特点:
(1)、更符合生活中的思想和行为
(2)、让复杂的事情简单化
(3)、让执行者变为指挥者
面向对象设计原则:不断创建对象,使用对象指挥该对象
做事情。
面向对象的三大特征:封装、继承、多态
3、类和事物的关系
事物:描述现实世界的真实存在泛指的东西!
例:学生为一个事物 属性:姓名、年龄、性别
行为:学习
**类:**是描述一组事物的属性和行为的集合。
4、局部变量和成员变量的区别
(1)、在类中的位置不同
局部变量:在方法定义中或方法声明上的变量。
成员变量:在类中、方法外。
(2)、在内存中位置不同
局部变量:在栈内存中,与方法有关。
成员变量:在堆内存,与类的对象有关。
(3)、生命周期不同
局部变量:随着方法的调用而存在,随着方法的调用而完毕而消失。
成员变量:随着对象的创建而存在,随着对象的创建完毕而完毕,等待垃圾回收器收掉(GC)之后消失。
(4)、初始化不同
局部变量:必须在使用前进行初始化,否则报错“可能尚未初始化”。
成员变量:可以不初始化,系统会默认初始化
5、形式参数
形似参数如果是一个基本数据类型,形式参数的改变对实际参数没有影响。
形式参数如果传递的是一个数组类型,需要传递该数组的对象。
例:int[] arr={1,2,3,}
public static void getNum(int[] arr){
//内容
}
形式参数如果是一个类(具体类),那么它的改变直接影响实际参数。
6、一个类的成员有:
成员变量
成员方法(去掉static关键字)
构造方法
7、匿名对象
**含义:**没有名字的对象
特点:(1)、仅使用一次,使用完毕,从内存中会立即被释放掉!(节省内存空间,Android移动端使用居多)。
(2)、匿名对象也可以作为参数进行传递。
**注意:**不要多次使用匿名对象。
**格式:**new 类名(); (前提条件:该类是一个具体类)
8、封装
含义:
将类中成员变量私有化(private),对外提供公共的访问方法(权限足够大)。
注:
私有化的成员变量只能在本类中,外界不能访问(get,set)。
9、 private关键字的特点
特点:
(1)、private可以修饰一个类的成员变量和类的成员方法。
(2)、被private修饰的成员变量或者是成员方法只能在本类中访问,外界不能访问(保证数据的安全性)。
(3)、如果该变量能够描述某事物属性的话,变量就要定义成员变量。
10、构造方法
含义:(1)、方法名和类名相同
(2)、没有具体的返回值类型
(3)、并没有void
**格式:**权限修饰符 + 方法名也就是类名(){ //有参构造或无参构造 }
例:public Animal{
private String name;
public Animal(){ //无参构造
}
public Animal(String name){ //有参构造
this.name=name;
}
}
注意:(1)、在一个类中,我们不写无参构造,系统会默认提供无参构造方法。
(2)、如果提供一个有参构造方法,系统不会在提供无参了,如果使用无参构造创建,就会报错
11、this关键字
含义:
this代表当前类的对象的地址引用,局部变量和成员变量出现冲突(局部变量隐藏了成员变量)。
出现的原因:
(1)、this.成员变量;
(2)、this.成员方法();
(3)、this():访问本类的无参构造
(4)、this(“…”):访问有参构造方法(根据数据类型)
12、static
static:共同变量
static静态:
例:static int num=50;//静态成员变量
特点:(1)、被static修饰的变量/方法都随着类的加载而 加载(2)、被static修饰优先于对象存在 (3)、被static修饰的可以被多个对象共用。(4)、被静态修饰的成员变量或成员方法,可以被类名直接访问,但也可以用该对象来访问该成员。
注意:(1)、在static中,没有this关键字。(this:代表当前类的对象的地址值,对象已经创建了,而static修饰的和类有关)
(2)、关于成员方法的访问问题:
-
非静态的成员方法:既可以访问静态的成员变量,也可以访问非静态的成员变量,既可以访问静态的成员方法,也可以访问非静态的成员方法。
-
静态的成员方法:静态只能访问静态的成员变量和方法。