1.善用條件表達式,來表示通常的if,else。
if(a>0) b=1;else b=-1; 能夠直接寫成 b=(a>0?1:-1);
判斷常量,變量,字符串,表達式時,也能夠用switch()代替if,else。api
2.用foreach代替傳統的for循環。數組
3.可以封裝的操做,儘可能封裝起來,減小冗餘。多線程
4.類名用名詞命名,方法名用動詞或者動詞短語命名,返回boolean的方法用is開頭開命名app
5.儘可能避免大量的if else 嵌套。
6.if語句的代碼塊,最好用{},方便後續的代碼擴展。性能
7.大量的if esle嵌套,能夠經過多態或者枚舉去簡化
8.位運算(&,|,^,<<,>>)的效率比普通的運算高。線程
1.數組arr排序能夠用Arrays.sort(arr);
最小值min即爲arr[0],最大值max即爲arr[arr.length-1]
集合的排序能夠用Collections.sort(),重寫匿名Comparator對象的compare()方法,經過compareTo()比較。指針
1.鏈接字符串,儘可能用StringBuffer的append方法,而不是String相加。能夠節省內存,提升性能。對象
2."字符串".equals(變量);和 變量.equals("字符串");
最好選擇第一種方式比較,若是採用第二種方式比較,當變量爲null時,會報空指針異常.排序
1.使用foreach遍歷list和set集合。內存
1.不要隨意地在代碼中新建線程,能夠經過線程池實現。
1.在處理數組、字符串和集合的遍歷、排序、取值等問題時,能夠使用Lambda表達式,Streams api。stream構造流,filter過濾元素,map按給定的運算規則轉換元素,forEach遍歷,reduce合併元素.待補充。