android(java.、C)編程中的那些技巧

1、%和/的差異

%是求模運算符,/是除運算符,%是求餘數,而/是求整數部分 

如:65/60=1;65%60=5;300/60=5;300%60=0


2、善用%2d、%d、\t 等符號

      System.out.println(String.format("%2d\t%d:%d:%d:%d",1, 1,11,1,1));
      System.out.println(String.format("%2d\t%2d:%2d:%2d:%2d",11, 11,11,11,11));	
      System.out.println(String.format("%2d\t%2d:%2d:%2d:%2d",1, 1,1,1,1));
  

%d按照十進制整數的形式輸出,%2d是至少輸出佔有兩個字符的十進制整數,能方便排列數字,而\t佔8個字 符,即

水平字符表佔8列,一般用於顯示時間不讓他錯位


3、文件路徑中的/儘量用File.separator代替,

如將/mnt/sdcard/test.txt寫成 File.separator+"mnt"+File.separator+"sdcard"+File.separator+"test.txt"

File.separator請參考http://it-like.iteye.com/blog/1491467


4.SimpleDateFormat(String template, Locale locale) 的巧用

SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd    hh:mm:ss");

eclipse報警告:



爲了讓本地格式使用getDateInstance(),getDateTimeInstance(),或getTimeInstance(),或使用新的

SimpleDateFormat(String template, Locale locale)  例如Locale.US的ASCII日期。

看API:




對於指定的語言環境使用指定的非本地化的模式和DateFormatSymbols和 Calendar(日曆)構造一個新的格式


簡單的說就是避免時區問題:但我們沒有指定Locale時,可能顯示的時間比當前的時間少了八個小時,或是多了八個小時


修改方法一:直接指定Locale

SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss",Locale.CHINA);


修改方法二:通過改變默認的時區

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8:00"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(Calendar.getInstance()));

5、用%s替代字符

String URL = "account=%s&password=%s&permission=%s";  
String account = "admin";  
String password = "admin";  
int permission = 1;  
String url = String.format(URL, account, password, permission);       
System.out.println(url);  

結果:account=admin&password=admin&permission=1



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章