1,讓APP報錯不能崩潰,使用Cockroach
連接 ?:Cockroach.install
private voidinitCrachLib() {
Cockroach.install(newCockroach.ExceptionHandler() {
// handlerException內(nèi)部建議手動try{你的異常處理邏輯}catch(Throwable e){ },以防handlerException內(nèi)部再次拋出異常,導致循環(huán)調(diào)用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,數(shù)字科學計數(shù)法
BigDecimal db =newBigDecimal(number);
//保留2位小數(shù)
String price = db.setScale(2,BigDecimal.ROUND_DOWN).toString();
returnprice;
http://www.cnblogs.com/xiadongqing/p/6235833.html
7,數(shù)據(jù)類型的默認值
基本類型默認值
byte? ? ? ? ? ?0
short? ? ? ? ? 0
int? ? ? ? ? ? ? 0
long? ? ? ? ? ?0L
float? ? ? ? ? ? 0.0f
double? ? ? ? 0.0d
char? ? ? ? ? ? ‘\u0000’
boolean? ? ? ? false
java中8種數(shù)據(jù)類型所占字節(jié)數(shù)如下:
boolean 這個試編譯環(huán)境而定
byte 1個字節(jié)
short 2個字節(jié)
char 2個字節(jié)
int 4個字節(jié)
long 8個字節(jié)
float 4個字節(jié)
double 8個字節(jié)
成員變量就是有默認值 ,局部變量使用前必須先初始化?
成員變量和局部變量的區(qū)別
成員變量:
①成員變量定義在類中,在整個類中都可以被訪問。
②成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在于對象所在的堆內(nèi)存中。
③成員變量有默認初始化值。
局部變量:
①局部變量只定義在局部范圍內(nèi),如:函數(shù)內(nèi),語句內(nèi)等,只在所屬的區(qū)域有效。
②局部變量存在于棧內(nèi)存中,作用的范圍結(jié)束,變量空間會自動釋放。
③局部變量沒有默認初始化值
在使用變量時需要遵循的原則為:就近原則
首先在局部范圍找,有就使用;接著在成員位置找。
由static修飾的變量稱為靜態(tài)變量,其實質(zhì)上就是一個全局變量。如果某個內(nèi)容是被所有對象所共享,那么該內(nèi)容就應該用靜態(tài)修飾;沒有被靜態(tài)修飾的內(nèi)容,其實是屬于對象的特殊描述。
成員變量和靜態(tài)變量的區(qū)別
1、兩個變量的生命周期不同
成員變量隨著對象的創(chuàng)建而存在,隨著對象被回收而釋放。
靜態(tài)變量隨著類的加載而存在,隨著類的消失而消失。
2、調(diào)用方式不同
成員變量只能被對象調(diào)用。
靜態(tài)變量可以被對象調(diào)用,還可以被類名調(diào)用。
3、別名不同
成員變量也稱為實例變量。
靜態(tài)變量也稱為類變量。
4、數(shù)據(jù)存儲位置不同
成員變量存儲在堆內(nèi)存的對象中,所以也叫對象的特有數(shù)據(jù)。
靜態(tài)變量數(shù)據(jù)存儲在方法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū),所以也叫對象的共享數(shù)據(jù)。
8.引用傳遞和值傳遞
這里要用實際參數(shù)和形式參數(shù)的概念來幫助理解,
值傳遞:
方法調(diào)用時,實際參數(shù)把它的值傳遞給對應的形式參數(shù),函數(shù)接收的是原始值的一個copy,此時內(nèi)存中存在兩個相等的基本類型,即實際參數(shù)和形式參數(shù),后面方法中的操作都是對形參這個值的修改,不影響實際參數(shù)的值。
引用傳遞:
也稱為傳地址。方法調(diào)用時,實際參數(shù)的引用(地址,而不是參數(shù)的值)被傳遞給方法中相對應的形式參數(shù),函數(shù)接收的是原始值的內(nèi)存地址;
在方法執(zhí)行中,形參和實參內(nèi)容相同,指向同一塊內(nèi)存地址,方法執(zhí)行中對引用的操作將會影響到實際對象。