Java字符串-包裝類-日期-多線程(未完)

String s1= "S";
String s2= "S";
String s3 = new String("S");
String s4 = new String("S");
System.out.println( s1==s2 + "," + s1==s3 + "," + s3==s4);//ture false false

String創建后不可改變,重新賦值意味著指向新的對象
若希望比較字符串是否相同,則可用 s3.equals(s4);//返回ture
"=="用于比較字符串首地址是否相同
常用String方法——圖自慕課網


String常用方法.jpg

warning:

1當返回位置時返回物理位置(從0開始)
2substring(x1,x2)返回的字串從物理地址x1——x2-1的字符串(不包括s[x2])

StringBuilder類——線程安全且可以修改的字符串
效率稍低于String
基本都支持String方法外,追加了一些方法

StringBuilder常用方法.jpg

包裝類

包裝類.jpg

常用于數據類型的相互轉化
裝箱:把基本類型轉換成包裝類,使其具有對象的性質
拆箱:和裝箱相反,把包裝類對象轉換成基本類型的值

轉化的實現:

基本類型轉換為字符串有三種方法:
1使用包裝類的 toString() 方法
2 使用String類的 valueOf() 方法
3 用一個空字符串加上基本類型,得到的就是基本類型數據對應的字符串

int c =5;
String str1 = Integer.toString(c);
String str2 = String.valueOf(c);
String str3 = c+" ";

將字符串轉換成基本類型有兩種方法
1調用包裝類的 parseXxx 靜態方法
2 調用包裝類的 valueOf() 方法轉換為基本類型的包裝類,會自動拆箱

String str = "5";
int x1 = Integer.parseInt(str);
int x2 = Integer.valueOf(str);

日期的格式化輸出

1Date類

//用format方法將日期轉化為指定格式文本
Date d = new Date();//表示當前時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");指定目標格式
String today = sdf.format(d);調用format()方法格式化時間
System.out.println(today);

//用parse()方法將文本轉化為日期
String day = "2016年11月10日 21:20:00";
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = df.parse(day);
System.out.println(date);

warning:

1調用 SimpleDateFormat 對象的 parse() 方法時可能會出現轉換異常,即 ParseException ,因此需要進行異常處理
2使用 Date 類時需要導入 java.util 包,使用 SimpleDateFormat 時需要導入 java.text 包

2Calendar類

Calendar c = new Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);

多線程的兩種實現方法

繼承Thread類

class ClassName extends Thread
public int x;
public Classname(int x){ this.x = x; }
public void run()
{
System.out.println(this.x+"開始");
try{Thread.sleep(1000*10);
}catch(Exception ex){}
System.out.println(this.x+"結束");
}
public class TextClass{
public static void main(String[] args){
Classname c1 = new Classname(1);
Classname c2 = new Classname(2);
Classname c3 = new Classname(3);
c1.start();
c1.start();
c1.start();
}
}

warning:start方法重復調用的話,會出現java.lang.IllegalThreadStateException異常

Classname c1 = new Classname(1);
Classname c2 = c1;
c1.start();
c1.start();//出現error

用Runnable接口

class ClassName implements Runnable
public int x;
public Classname(int x){ this.x = x; }
public void run()
{
System.out.println(this.x+"開始");
try{Thread.sleep(1000*10);
}catch(Exception ex){}
System.out.println(this.x+"結束");
}
public class TextClass{
public static void main(String[] args){
Classname c1 = new Classname(1);
Classname c2 = new Classname(2);
Classname c3 = new Classname(3);
c1.start();
c1.start();
c1.start();
}
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,933評論 18 139
  • 一、 1、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨云閱讀 1,412評論 0 6
  • import java.text.SimpleDateFormat;import java.util.Calend...
    霙愔閱讀 766評論 0 2
  • 美國亞馬遜(美亞),即亞馬遜美國站(大本營),每逢美國各種節日會大力推出一些商品的促銷活動,折扣力度大起來四舍五入...
    海淘便利小屋閱讀 1,509評論 0 1