java基础(一)

来源:互联网 发布:linux启动图形化命令 编辑:程序博客网 时间:2024/05/17 23:13

1、初始化数组
声明和初始化一个数组
int[] arr = new int[4];
int arr[] = new int[4];
//——
声明数组时不能指定其长度(数组中元素的个数),
两种声明方式:1. Type[]var; 2.Type var[];
初始化:
1、动态初始化:数组定义与为数组分配空间和赋值操作分开进行。
2、静态初始化:在定义数组的同时就为数组进行空间分配和赋初始值。
3、默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此为数组分配空间以后,每个元素也按照成员变量的规则被隐式初始化。
int[]arr2 = ary1[];//一个数组对象,两个引用同时引用。
这种现象叫数组赋值,可以发现如果这样赋值,数组对象没有隔离性,不小心就修改了。

/***数组的复制与动态扩展算法*/public static void main(String[] args){    int[] arr = new int[]{1,2,3,4};    //数组的复制:两个不同的数组对象    int[] arr3 = new int[arr.length];//空数组    for(int i=0;i<arr.length;i++){    arr3[i] = arr[i];//将每个元素复制一遍    }//arr3和arr的复制结果,不同的数组对象,arr和arr3是隔离的。}

2、 i++与++i的区别:
int i = 2; i++=2, i=3. //i++后先引用i的值,后增加i的值。
int i = 2; ++i=3, i=3. //++i先增加i的值,后引用i的值。
例:

    /** 求执行之后i和j的值是什么?*/    int i = 1;    int j;    j = i++*2+3*--i.    分析:i++ = 1.此时i=2.--i后,i=1,--i=1    所以:i=1.    j = 1*2+3*1 = 5.     

3、抽象类和抽象方法:
抽象类:java中含有抽象方法的类称为抽象类。抽象类不能被实例化,也就是不能生成对象。抽象类主要用来进行类型的隐藏和充当全局变量的角色。抽象类与接口紧密相关。然而接口又比抽象类更抽象,这主要体现在它们的差别上:

类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。抽象类当中可以存在非抽象的方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。抽象类是对象的抽象,然而接口是一种行为规范。抽象方法:java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
原创粉丝点击