国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java基礎--常用類(2)

2019-11-14 10:20:24
字體:
來源:轉載
供稿:網友
1.StringBuffer類??java.lang.StringBuffer代表可變的字符序列?StringBuffer和String類似,但StringBuffer可以對其字符串進行改變?,String類要是執行s1=s1+s2的語句,需要先分配一個空間讓s1和s2都拷貝過去,在將s1指向這個區域,而StringBuffer則不需要。StringBuffer類的常見構造方法:?StringBuffer()                    創建一個不包含字符序列的空的StringBuffer對象?StringBuffer(String str)    創建一個StringBuffer對象,包含與String對象str相同的字符序列?StringBuffer常用方法:?

1.重載方法public StringBuffer append(…)

可以為該StringBuffer對象添加字符序列,返回添加后的該StringBuffer對象引用,例如:(String str)/(StringBuffer sbuf)/(char[] str)/(char[] str,int offset,int len)添加一個字符數組的一部分/(double d)/(Object obj)

2.重載方法public StringBuffer insert(…)

可以在該StringBuffer在指定位置插入字符序列,返回修改后的該StringBuffer對象引用,例如:?

public StringBuffer insert(int offset,String str)?public StringBuffer insert(int offset,doublie d)……   …?方法public Stringbuffer delete(int start,int end)可以刪除從start開始到end-1為止的一段字符序列,返回修改后的該StringBuffer對象引用。?3.和String類含義類似的方法:?public int indexOf(Stirng str)?public int indexOf(String str,int fromIndex)?public String substring(int start)?public Stirng substirng(int start,int end)?public int length()?方法public StringBUffer reverse()用于將字符序列逆序,返回修改后的該StirngBuffer對象引用。?

例:

public class TestStringBuffer {    public static void main(String agrs[]) {        String s = "Mircosoft";        char a[] = {'a', 'b', 'c'};        StringBuffer sb1 = new StringBuffer(s);        sb1.append('/').append("IBM").append('/').append("Sun");        System.out.PRintln(sb1);        StringBuffer sb2 = new StringBuffer("數字");        for (int i = 0; i <= 9; i++) {            sb2.append(i);        }        System.out.println(sb2);        sb2.delete(8, sb2.length()).insert(0, a);        System.out.println(sb2);        System.out.println(sb2.reverse());    }}結果:

Mircosoft/IBM/Sun數字0123456789abc數字012345543210字數cba?2.基礎數據類型包裝類?包裝類(如:Integer,Double等)這些類封裝了一個相應的基本數據類型數值,將數據分配在堆空間上,并為其提供了一系列操作。?以java.lang.Integer類為例,構造方法:?Integer(int value)?Integer(String s)?包裝類常見方法:以下方法以java.lang.Integer為例?public static final int MAX_VALUE       最大的int型數(2的31次方-1)?Public static final int MIN_VALUE        最小的int型數(-2的31次方)?public long longValue()                         返回封裝數據的long型值?public double doubleValue                  返回封裝數據的double型值?public int intValue                                   返回封裝數據的int型值?public static int parseInt(String s)throws NumberFormatException            將字符串解析成int型數據,返回該數據?public static Integer valueOf(String s)throws NumberFormatException    返回Interger對象,其中封裝的整型數據為字符串s所表示??例如:
public class TestStringBuffer {    public static void main(String agrs[]) {        Integer i = new Integer(100);        Double d = new Double("123.456");        int j = i.intValue() + d.intValue();        float f = i.floatValue() + d.floatValue();        System.out.println(j);        System.out.println(f);        double pi = Double.parseDouble("3.1415926");        double r = Double.valueOf("2.0").doubleValue();        double s = pi * r * r;        System.out.println(s);        try {            int k = Integer.parseInt("1.25"); //只能把整數的字符串轉換成整型        } catch (NumberFormatException e) {            System.out.println("數據格式不對");        }        System.out.println(Integer.toBinaryString(123) + "B");        System.out.println(Integer.toHexString(123) + "H");        System.out.println(Integer.toOctalString(123) + "O");    }}

結果是:

223   

223.456    

12.5663704       

 數據格式不對    

1111011B

7bH    

173O?

數組解析器代碼:
public class ArrayParser {    public static void main(String[] args) {        double[][] d;        String s = "1,2;3,4,5;6,7,8";        String[] sFirst = s.split(";");        d = new double[sFirst.length][];        for (int i = 0; i < sFirst.length; i++) {            String[] sSecond = sFirst[i].split(",");            d[i] = new double[sSecond.length];            for (int j = 0; j < d[i].length; j++) {                d[i][j] = Double.parseDouble(sSecond[j]);            }        }        for (int i = 0; i < d.length; i++) {            for (int j = 0; j < d[i].length; j++) {                System.out.print(d[i][j] + " ");            }            System.out.println();        }    }}結果是:1.0 2.03.0 4.0 5.06.0 7.0 8.03.Math類?java.lang.Math提供了一系列靜態方法用于科學計算;其方法的參數和返回值類型一般為double型。?abs絕對值        acos反余弦,asin,atan,cos,sin,tan?sprt平方根        pow(double a,double b)a的b次冪?log  自然對數         exp    e為底指數?max(double a,double b)        min(double a,double b)?random()返回0.0到1.0的隨機數?long round(double a) double型的數據a轉換成long型(四舍五入)?toDegrees(double angrad)弧度->角度?toRadians(double angrad)角度->弧度?Math.E是一個靜態常量     e = 2.7182818284594.File類??java.io.File類代表系統文件名(路徑和文件名)?public File (Stirng pathname)                  以pathname為路徑創建File對象,如果pathname是相對路徑,則默認的當前路徑在系統屬性user.dir中存儲?public File(String parent,Stirng child)     以parent為父路徑,children為子路徑創建File對象?File的靜態屬性Stirng separator存儲了當前系統的路徑分隔符?File類常用方法?通過File對象可以訪問文件的屬性。?

public boolean canRead()            

public boolean canWrite()?

public boolean exists()              是不是存在          

public boolean isDirectory()      目錄?

public boolean isFile()               文件名         

public boolean isHidden()        是不是隱藏的?

public long lastModified()          上次修改時間ms     

Public long length()?

public String getName()               

public String getPath()路徑?

通過File對象創建空文件或目錄(在該對象所指的文件或目錄不存在的情況下)?public boolean createNewFile() throws IOException?public boolean delete()?public boolean mkdir()?//創建路徑public boolean mkdirs()// 創建在路徑中的一系列目錄?例如:import java.io.*;
public class TestFile {    public static void main(String[] args) {        String separator = File.separator;        String filename = "myfile.txt";        String directory = "mydir1" + separator + "mydir2";        //String directory = "mydir1/mydir2";        //String directory = "mydir1//mydir2";        File f = new File(directory, filename);        if (f.exists()) {            System.out.println("文件名:" + f.getAbsolutePath());            System.out.println("文件大小:" + f.length());        } else {            f.getParentFile().mkdirs();            try {                f.createNewFile();            } catch (IOException e) {                e.printStackTrace();            }        }    }}

結果是:

文件名:C:/Users/Administrator/workspace/helloworld/mydir1/mydir2/myfile.txt?

文件大小:6

遞歸列出目錄結構:

public class FileList {    public static void main(String[] args) {        File f = new File("d:/A");        System.out.println(f.getName());        tree(f, 1);    }    private static void tree(File f, int level) {        String preStr = "";        for (int i = 0; i < level; i++) {            preStr += " ";        }        File[] childs = f.listFiles();        for (int i = 0; i < childs.length; i++) {            System.out.println(preStr + childs[i].getName());            if (childs[i].isDirectory()) {                tree(childs[i], level + 1);            }        }    }}結果是:A          B                      E                      F.txt           C           D.txt??5.Enum枚舉類??枚舉類型:只能夠取特定值中的一個,使用enum關鍵字,是java.lang.Enum類型定義一種新的類型不是變量就是一個類,然后在定義變量?舉例:
public class TestEnum {    public enum MyColor {red, green, blue};    public static void main(String agrs[]) {        MyColor m = MyColor.red;        switch (m) {            case red:                System.out.println("red");                break;            case green:                System.out.println("green");                break;            default:                System.out.println("default");        }        System.out.println(m);    }}結果是:?red?red


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济源市| 濮阳县| 固原市| 赤城县| 榆社县| 留坝县| 绵竹市| 阳东县| 抚顺县| 丽江市| 延安市| 开江县| 土默特左旗| 襄汾县| 东海县| 托克托县| 安徽省| 通化县| 大竹县| 突泉县| 桃江县| 舒兰市| 葫芦岛市| 五原县| 博爱县| 类乌齐县| 河南省| 西畴县| 乐都县| 昌黎县| 和林格尔县| 磐安县| 土默特右旗| 全南县| 清流县| 秀山| 青阳县| 巴中市| 甘孜县| 巧家县| 凤凰县|