無論是功能性代碼還是算法性代碼,程序都是一系列流程的合集
成都創(chuàng)新互聯(lián)是專業(yè)的黃陂網(wǎng)站建設(shè)公司,黃陂接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行黃陂網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
既然是流程就分為:一般流程和異常流程;
一般流程保證了基本功能;
異常流程則是對程序穩(wěn)定性的保證,不能因為一些非法輸入,項目就掛了;
注意,布爾表達式的先后順序,有時不可以交換
if (null == instance || instance.isEmpty())
0. 常見異常退出條件
參數(shù)為空;
表示長度,表示索引的整型為負數(shù),或者超出待索引數(shù)組或容器的范圍;
1. String 的 startsWith 函數(shù)
首先來看 String 類為 startsWith 函數(shù)提供的對外接口,有如下形式的倆中函數(shù)重載:
public Boolean startsWith(String prefix, int toffset); public Boolean startsWith(String prefix) { starsWith(prefix, 0); // 調(diào)用的是雙參的實現(xiàn) }
傳遞進來的參數(shù)的含義分別為,prefix:待匹配的字符串,toffset 當前字符串開始比較時的偏移,對于參數(shù)應(yīng)當滿足:
toffset >= 0;
this.value.length >= prefix.length + toffset
也就是:
char[] ta = value; int pc = prefix.length; if ((toffset < 0) || (toffset > value.length-pc)) { // 負數(shù)形式的偏移, // 偏移加前綴的長度大于此字符串的長度; return false; }
完整源碼如下:
public Boolean startsWith(String prefix, int toffset) { char ta[] = value; int to = toffset; char pa[] = prefix.value; int po = 0; int pc = prefix.value.length; // Note: toffset might be near -1>>>1. if ((toffset < 0) || (toffset > value.length - pc)) { return false; } while (--pc >= 0) { if (ta[to++] != pa[po++]) { return false; } } return true; }
總結(jié)
以上就是本文關(guān)于Java異常退出條件的判斷示例代碼的全部內(nèi)容,洗完對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程異常處理最佳實踐【推薦】、Java編程中的檢查型異常與非檢查型異常分析等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。