知识点笔记

1,让APP报错不能崩溃,使用Cockroach

连接  :Cockroach.install

private voidinitCrachLib() {

Cockroach.install(newCockroach.ExceptionHandler() {

// handlerException内部建议手动try{你的异常处理逻辑}catch(Throwable e){ },以防handlerException内部再次抛出异常,导致循环调用handlerException

}


2,git的使用

每次提交或者更新都得按照commit-pull-push的顺序进行,不然冲突之后丢了代码就蛋疼了。

3,不同字体

private voidtoProtocol() {

SpannableStringBuilder builder =newSpannableStringBuilder(mTvMainProtocol.getText().toString());

ForegroundColorSpan blueSpan =newForegroundColorSpan(ContextCompat.getColor(mActivity,R.color.green_2));

//        UnderlineSpan lineSpan = new UnderlineSpan();

//        builder.setSpan(lineSpan, 8, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //下划线

//        builder.setSpan(blueSpan, 8, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //字体颜色

builder.setSpan(blueSpan,10,14,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//字体颜色

mTvMainProtocol.setText(builder);

}

4,菜单栏

@Override

public booleanonCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.menu_main,menu);

return true;

}

@Override

public booleanonOptionsItemSelected(MenuItem item) {

intid = item.getItemId();

if(id == R.id.action_go_to_test) {

goToTest();

return true;

}

return super.onOptionsItemSelected(item);

}


6,数字科学计数法

BigDecimal db =newBigDecimal(number);

//保留2位小数

String price = db.setScale(2,BigDecimal.ROUND_DOWN).toString();

returnprice;

http://www.cnblogs.com/xiadongqing/p/6235833.html


7,数据类型的默认值

基本类型默认值

byte           0

short          0

int              0

long           0L

float            0.0f

double        0.0d

char            ‘\u0000’

boolean        false

java中8种数据类型所占字节数如下:

boolean 这个试编译环境而定

byte 1个字节

short 2个字节

char 2个字节

int 4个字节

long 8个字节

float 4个字节

double 8个字节

成员变量就是有默认值 ,局部变量使用前必须先初始化 

成员变量和局部变量的区别

成员变量:

①成员变量定义在类中,在整个类中都可以被访问。

②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

③成员变量有默认初始化值。

局部变量:

①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

③局部变量没有默认初始化值

在使用变量时需要遵循的原则为:就近原则

首先在局部范围找,有就使用;接着在成员位置找。

静态变量

由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。

成员变量和静态变量的区别

1、两个变量的生命周期不同

成员变量随着对象的创建而存在,随着对象被回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

3、别名不同

成员变量也称为实例变量。

静态变量也称为类变量。

4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

8.引用传递和值传递

这里要用实际参数和形式参数的概念来帮助理解,

值传递:

方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数后面方法中的操作都是对形参这个值的修改,不影响实际参数的值

引用传递:

也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,函数接收的是原始值的内存地址;

在方法执行中,形参和实参内容相同,指向同一块内存地址,方法执行中对引用的操作将会影响到实际对象

你可能感兴趣的:(知识点笔记)