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修饰的方法,这种方法只声明返回的数据类型、方法名称和所需参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
阅读全文
0 0
- java基础(一)
- Java基础(一)
- java基础(一)
- java基础(一)
- Java 基础----(一)
- java 基础 (一 )
- java 基础 (一)
- JAVA 基础(一)
- java基础(一)
- java基础(一)
- Java基础(一)
- JAVA基础(一)
- java基础(一)
- java基础(一)
- java基础(一)
- java 基础 (一)
- java基础(一)
- JAVA基础(一)
- 51Nod 拉勾第一题(数位dp)
- Mesos容器引擎的架构设计和实现解析
- Codeforces 813C The Tag Game
- AI 线上峰会 | 人工智能技术解析与实战
- LIS算法
- java基础(一)
- centos rsyslog配置及简单应用
- 万字长文|深度剖析Service Mesh服务网格新生代Istio
- 国内外主流移动支付方案与TEE
- 避免大规模故障的微服务架构设计之道
- 网易数据运河系统NDC设计与应用
- 基于Mesos/Docker构建数据处理平台
- hdu 5974 A Simple Math Problem (数论思路)
- S是最有安全感的形状