------JAVA20160710------
1、实际的数组对象存储在堆内存中,如果引用该数组对象的数组引用变量是一个局部变量,那么它被存储在栈内存中
2、将数组变量设置为null,垃圾回收机制将回收该数组对象
3、对象数组Object arrayName = new Object[2];此时只是一个空引用,还需要对每个数组元素进行赋值引用
4、Java里多维数组的本质仍是一维数组,只不过每个数组元素都是一个一维数组引用
5、操作数组的Arrays类
int binarySearch(type[] a, type key):使用二分法查询key元素值在a数组中出现的索引,如果不包含key值,则返回负数。调用该方法时要求数组中元素已经按升序排列
int binarySearch(type[] a, int fromIndex, int toIndex, type key):与前一个方法类似,但只搜索a数组中formIndex到toindex索引的元素,数组必须按照升序排列
type[] copyOf(type[] original, int length):把original数组复制称一个新数组,其中length是新数组的长度,如果length小于original数组的长度,则新数组是原数组前length个元素;如果length大于原数组的长度,则新数组的前面元素是原数组的所有元素,后面补充0(数值类型)、false(布尔类型)或者null(引用类型)
type[] copyOfRange(type[] original, int from, int to):与前面的方法类似,但只复制原数组的from索引到to索引的元素
boolean equals(type[] a, type[] a2):如果两个数组长度相等,元素也一一相同,则返回true,否则false
void fill(type[] a, type val):该方法将会把a数组的所有元素都赋值为val
void fill(type[] a, int fromIndex, int toIndex, type val):将a数组的fromIndex到toIndex索引的数组元素赋值为val
void sort(type[] a):对a数组的元素进行排序
void sort(type[] a, int fromIndex, int toIndex):对a数组的formIndex到toIndex索引的数组元素进行排序
void 同String(type[] a):将数组转换为一个字符串,数组元素之间以英文逗号,和空格隔开
void parallelPrefix(xxx[] array, XxxBinaryOperator op):该方法使用op参数指定的计算公式计算得到的结果作为新的元素。op计算公式包括left、right两个形参,其中left代表数组中前一个索引处的元素,right代表数组中当前索引处的元素,当计算第一个新数组元素时,left的值默认为1
void paralleleprefix(xxx[] array, int formIndex, int toIndex, XxxBinaryOperator op):该方法与上一个类似,区别是仅重新计算fromIndex到toIndex索引的元素
void setAll(xxx[] array, IntToXxxFunction generator):使用指定的生成器(generator)为所有数组元素设置值,该生成器控制数组元素的值的生成算法
void parallelSetAll(xxx[] array, IntToXxxFunction generator):与上一个方法类似,只是该方法增加了并行的能力,可利用多CPU来提高性能
void parallelSort(xxx[] a):与sort()方法类似,只是该方法增加了并行能力
void parallelSort(xxx[] a, int fromIndex, int toIndex):与上一个方法类似,只是只对formIndex到toIndex索引的元素进行排序
Spliterator.OfXxx spliterator(xxx[] array):将该数组的所有元素转换成对应的Spliterator对象
Spliterator.OfXxx spliterator(xxx[] array, int startInclusive, int endExclusive):与上一个方法类似,该方法仅转换startInclusive到endExclusive索引的元素
XxxStream stream(xxx[] array):该方法对数组转换为Stream,Steam是Java8新增的流式编程的API
XxxStream stream(xxx[] array, int startInclusive, int endExclusive):与上一个方法类似,但该方法仅转换formIndex到toIndex索引的元素为Stream
以上的xxx代表元素类型(int、long等)
System类中:
void arraycopy(Object src, int srcPos, object dest, int destPost, int length):将src数组里的元素赋值给dest数组的元素,其中srcPos指定从src数组的第几个元素开始赋值,length参数指定src数组的多少个元素赋给dest数组的元素
6、定义类的语法
[修饰符] class 类名{
零个到多个构造器定义
零个到多个成员变量
零个到多个方法
}
修饰符可以是 public、final、abstract、省略
命名规则:一个或多个有意义的单词组成,每个单词首字母大写,不使用分隔符
static方法不能调用非static方法
static修饰的方法和成员变量,既可通过类来调用,也可通过实例来调用;没有使用static修饰的普通方法和成员变量,只可通过实例来调用。
栈内存里的引用变量并未真正存储对象的成员变量,对象的成员变量数据实际存放在堆内存里;而引用变量只是指向该堆内存里的对象
希望垃圾回收器回收某个对象,只需使该对象引用设置为null
在类方法里使用this,代表调用该方法的类
如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用this前缀ss
A.定义成员变量的语法格式:
[修饰符] 类型 成员变量名 [=默认值];
修饰符可以是public、protected、private、static、final,其中public、protected、private只能三选一,可以与static,final组合起来修饰成员变量
B.定义方法的语法格式:
[修饰符] 方法返回值类型 方法名(形参列表){
statement;
}
修饰符可以是public、protected、private、static、final,其中public、protected、private只能三选一,可以与static,final组合起来修饰成员变量
方法名通常以动词开头
C.构造器的语法格式
[修饰符] 构造器名(形参列表){
statement;
}
修饰符可省略,也可以是public、protected、private其中之一
构造器名必须和类名相同
构造器不能有返回值
7、参数可变的方法
格式:[类型] ... 参数名
可变参数本质上是一个一维数组
长度可变的形参只能处于形参表的最后一个,一个方法最多只能包含一个包含一个长度可变的形参
调用包含一个长度可变形参的方法时,这个长度可变的形参既可以传入多个参数,也可以传入一个数组
8、递归方法
一个方法体内调用它自身,被称为方法递归
当一个方法不断调用它本身时,必须在某个时刻方法的返回值是确定的,即不再调用它本身,否则这个递归就变成了无穷递归
递归一定要向已知方向递归
------read by <疯狂Java> P121------
------数据结构20160710------
1、数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
2、程序设计 = 数据结构 + 算法
3、数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合
4、数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录
5、数据项:一个数据元素可以由若干个数据项组成
6、数据项是数据不可分割的最小单位
7、数据对象:是性质相同的数据元素的集合,是数据的子集
8、逻辑结构:是指数据对象中数据元素之间的相互关系
A.集合结构:集合结构中的数据元素除了同属同一个集合外,她们之间没有其他关系
B.线性结构:线性结构中的数据元素之间是一对一的关系
C.树形结构:树形结构中的数据元素之间存在一种一对多的层次关系
D.图形结构:图形结构的数据元素是多对多的关系
9、物理结构(存储结构):是指数据的逻辑结构在计算机中的存储形式
A.顺序存储结构:是把数据元素存放在地址相连的存储单元里,其数据间的逻辑关系和物理关系是一致的
B.链式存储结构:是把数据存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的
10、数据类型
数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称
抽象数据类型(Abstract Data Type, ADT):是指一个数学模型及定义在该模型上的一组操作
抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性
抽象数据类型的标准格式:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
...
操作n
...
endADT
------ready by <大话数据结构> P16------
------数据库20160710------
1、DBMS:数据库管理系统(Database Management System)
2、数据定义语言DDL(Data Definition Language)
3、数据操作语言DML(Data Manipulation Language)
4、RDBMS:关系型数据库管理系统(Relational Database Management System)
5、数据库大体可分为网状数据库、层次数据库、关系数据库三类
6、SQL语言包含
A.数据定义语言DDL,定义
B.数据操作语言DML,操作
C.数据控制语言(Data Controlling Language,DCL),控制
7、修改登录验证模式
1、“我的电脑”-“管理”-“SQL Server配置管理器”-“SQL Server网络配置”-“MSSQLSERVER协议”-“TCP/IP”-“启用”
2、“Named Pipes”-“启用”-“SQL Server服务”-“SQL Server(MSSQLSERVER)”-“重启”
3、右击数据库-“属性”-“安全性”-“SQL Server和Windows身份验证模式”-
4、数据库列表-“安全性”-“登录名”-“双击sa账户”-“取消强制实施密码策略”-“状态”-“启用”
8、使用指定的数据库
A.直接在SQL Server Management Studio中选择
B.use 数据库名
------read by <大话数据库> P20------
------ANDROID20160710------
1、android系统架构
A.Linux内核层
B.系统运行库层
C.应用框架层
D.应用层
2、四大组件:活动activity、服务Service、广播接收器Broadcast Receiver、内容提供器Content Provider
3、Android项目目录
src:Java源代码目录
gen:自动生成,R.java文件是资源文件,项目中添加的任何资源都会在其中生成一个相应的资源id
assets:存放随程序打包的文件,程序运行时可以动态读取
bin:编译时自动产生的文件,包括编译好的安装包
libs:项目中使用的第三方jar包必须放在这个目录下
res:项目中使用到的所有图片、布局、字符串资源都要放在这个目录下,图片放在drawable目录下,布局放在layout目录下,字符串放在values目录下
AndroidManifest.xml:整个Android项目的配置文件
project.properties:指定编译程序时所使用的SDK版本
4、每一个创建的活动Activity必须在AndroidManifest.xml中进行注册,否则程序崩溃
<activity
android:name="com.test.helloworld.HelloWorldActivity"
android:label="@string/app_name"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
5、LogCat打印日志方法
Log.v() 对应级别verbose
Log.d() 对应级别debug
Log.i() 对应级别info
Log.w() 对应级别warm
Log.e() 对应级别error
log.d("HelloWroldActivity","onCreate execute");第一个参数是tag,第二个参数是msg
------read by <android 第一行代码> P27------
网友评论