国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah 類庫下載 java類庫 java常見類之String類

java常見類之String類

Oct 09, 2016 am 09:47 AM

1.字符串概述

??字符串:就是由多個字符組成的一串字符,也可以看成是字符數(shù)組。

??String類代表字符串,java程序中的字符串字面值,如"abc"等都作為此類的實(shí)例實(shí)現(xiàn)。

? 字符串是常量,一旦被賦值,就不能被改變。


2.String的構(gòu)造方法

? public String() 空構(gòu)造

? public String(byte[] bytes) 把字節(jié)數(shù)組轉(zhuǎn)換成字符串

? public String(byte[] bytes,int offset,int length) 把字節(jié)數(shù)組的指定索引長度的字節(jié)轉(zhuǎn)換成字符串

? public String(char[] value) 把字符數(shù)組轉(zhuǎn)換成字符串

? public String(char[] values,int offset,int count) 把字符數(shù)組的指定索引長度的字符轉(zhuǎn)換成字符串

? public String(String original) 把字符串常量值轉(zhuǎn)換成字符串

package cn;
/**
 *  字符串:就是由多個字符組成的一串字符,也可以看成是字符數(shù)組
 * 通過查看API,我們可以知道
 *   字符串字面值"abc"也可以看成是一個字符串對象。
 *      字符串是常量,一旦被賦值,就不能被改變。
 *   
 *   構(gòu)造方法:
 *   public String() 空構(gòu)造
 *   public String(byte[] bytes) 把字節(jié)數(shù)組轉(zhuǎn)換成字符串
 *   public String(byte[] bytes,int offset,int length) 
     把字節(jié)數(shù)組的指定索引長度的字節(jié)轉(zhuǎn)換成字符串
 *   public String(char[] value) 把字符數(shù)組轉(zhuǎn)換成字符串
 *   public String(char[] values,int offset,int count) 
     把字符數(shù)組的指定索引長度的字符轉(zhuǎn)換成字符串
 *   public String(String original) 把字符串常量值轉(zhuǎn)換成字符串
 *   
 *   字符串的方法:
 *   public int length()獲取字符串的長度
 */
public class StringDemo {
    public static void main(String[] args) {
        //public String() 空構(gòu)造
        String s1 = new String();
        System.out.println("s1:"+s1);//s1:
         
        //public String(byte[] bytes) 把字節(jié)數(shù)組轉(zhuǎn)換成字符串
        byte[] bytes1 = new byte[]{97,98,99};
        String s2 = new String(bytes1);
        System.out.println("s2:"+s2);//s2:abc
         
        //public String(byte[] bytes,int offset,int length)
        // 把字節(jié)數(shù)組的指定索引長度的字節(jié)轉(zhuǎn)換成字符串
        byte[] bytes2 = new byte[]{97,98,99,100};
        String s3 = new String(bytes2,1,2);
        System.out.println("s3:"+s3);//s3:bc
         
        //public String(char[] value) 把字符數(shù)組轉(zhuǎn)換成字符串
        char[] char1 = new char[]{'a','b','c'};
        String s4 = new String(char1);
        System.out.println("s4:"+s4);//s4:abc
         
        //public String(char[] values,int offset,int count)
        // 把字符數(shù)組的指定索引長度的字符轉(zhuǎn)換成字符串
        char[] char2 = new char[]{'a','b','c','d','e'};
        String s5 = new String(char2,1,2);
        System.out.println("s5:"+s5);//s5:bc
         
        //public String(String original) 把字符串常量值轉(zhuǎn)換成字符串
        String s6 = new String("HelloWorld");
        System.out.println("s6:"+s6);//s6:HelloWorld
         
         
         
         
    }
}

3.字符串的特點(diǎn):一旦被聲明,就不能被改變

package com;
/**
 *    字符串的特點(diǎn):一旦被賦值,就不能被改變。 
 *      指的是字符串"hello"不可以改變 嗎,而不是變量s
 * 
 * 字符串直接賦值的方式是先到字符串常量池里面去找,
 * 如果有就直接返回,沒有,就創(chuàng)建并返回。
 *  
 */
public class StringDemo {
    public static void main(String[] args) {
        String s = "hello";
        s += "world";
        System.out.println("s:"+s);//s:helloworld
    }
}

1.png

4.String直接賦值和創(chuàng)建對象方式的區(qū)別

package com;
/**
 *  String s1 = "hello";和 String s2 = new String("hello")的區(qū)別
 *  前者會創(chuàng)建2個對象,后者會創(chuàng)建一個對象。
 *  
 *  ==在基本類型中,比較的是值是否相等。在引用類型中,比較的是地址值是否相等。
 *  equals()在Object類中比較的是地址值是否相等。
 *   但是String重寫了equals()方法,所以在String比較的是內(nèi)容是否相等。
 */
public class StringDemo2 {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = new String("hello");
         
        System.out.println(s1 == s2);//false
        System.out.println(s1.equals(s2));//true
    }
 
}

2.png

5.練習(xí)

package com;
/**
 * 看程序?qū)懡Y(jié)果
 */
public class StringDemo3 {
    public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = new String("hello");
        System.out.println(s1 == s2);//false
        System.out.println(s1.equals(s2));//true
         
        String s3 = new String("hello");
        String s4 = "hello";
        System.out.println(s3 == s4);//false
        System.out.println(s3.equals(s4));//true
         
        String s5 = "hello";
        String s6 = "hello";
        System.out.println(s5 == s6 );//true
        System.out.println(s5.equals(s6));//true
    }
 
}
package com;
/**
 * 看程序,寫結(jié)果
 * 字符串如果是變量相加,先開辟空間,再拼接
 * 字符串如果是常量相加,是先相加,然后再在常量池中尋找,如果有就直接返回,否則,就創(chuàng)建
 */
public class StringDemo4 {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "world";
        String s3 = "helloworld";
        System.out.println(s1.hashCode()+s2.hashCode());
        System.out.println(s3.hashCode());
        /**
         * s3 就相當(dāng)于是s3.hashCode()
         * 而s1 + s2 就相當(dāng)于s1.hashCode() + s2.hashCode()
         * 當(dāng)然不一樣了
         */
        System.out.println(s3 == s1 + s2);//false
        System.out.println(s3.equals(s1 + s2));//true
         
         
        System.out.println(s3 == "hello"+"world");//true
        System.out.println(s3.equals("hello"+"world"));//true
         
        /**
         * 通過反編譯,看源碼,我們知道這里已經(jīng)做好了處理
         */
        System.out.println(s3=="helloworld");
        System.out.println(s3.equals("helloworld"));
         
         
         
    }
 
}

6.String類的判斷功能

public boolean equals(Object obj) 判斷兩個字符串的內(nèi)容是否相等,區(qū)分大小寫

public boolean equalsIgnoreCase(String str) 判斷兩個字符串是否相等,不區(qū)分大小寫

public contains(String str) 判斷大的字符串中是否包含有小的字符串

public boolean stratsWith(String str) 判斷字符串是否以某個指定的字符串開頭

pubilc booelan endsWithd(String str) 判斷字符串是否以某個指定的字符串結(jié)尾

public boolean isEmpty() 判斷字符串的內(nèi)容是否為空

package cn;
/**
 * String類的判斷功能
 *    public boolean equals(Object obj) 判斷字符串的內(nèi)容是否相等,區(qū)分大小寫
 *    public boolean equalsIgnoreCase(String str) 判斷字符串的內(nèi)容是否相等,不區(qū)分大小寫
 *  public contains(String str) 判斷大的字符串中是否包含小的字符串
 *  public boolean startsWith(String str) 判斷是否以某種字符串開開頭
 *  public boolean endsWith(String str) 判斷是否以某種字符串結(jié)尾
 *  public boolean isEmpty() 判斷字符串的內(nèi)容是否為空
 *
 */
public class StringDemo2 {
    public static void main(String[] args) {
        //創(chuàng)建字符串對象
        String s1 = "helloworld";
        String s2 = "helloworld";
        String s3 = "helloWorld";
         
        //public boolean equals(Object obj) 判斷字符串的內(nèi)容是否相等,區(qū)分大小寫
        System.out.println(s1.equals(s3));//false
        System.out.println(s1.equals(s2));//true
         
        //public boolean equalsIgnoreCase(String str) 判斷字符串的內(nèi)容是否相等,不區(qū)分大小寫
        System.out.println(s1.equalsIgnoreCase(s3));//true
        System.out.println(s1.equalsIgnoreCase(s2));//true
         
        //public contains(String str) 判斷大的字符串中是否包含小的字符串
        System.out.println(s1.contains("hello"));//true
        System.out.println(s1.contains("hw"));//false
         
        //public boolean startsWith(String str) 判斷是否以某種字符串開開頭
        System.out.println(s1.startsWith("hello"));//true
        System.out.println(s1.startsWith("h"));//true
        System.out.println(s1.startsWith("world"));//false
         
        //public boolean endsWith(String str) 判斷是否以某種字符串結(jié)尾
        System.out.println(s1.endsWith("world"));//true
 
        //public boolean isEmpty() 判斷字符串是否為空
        System.out.println(s1.isEmpty());//false
        String s4 = "";
        System.out.println(s4.isEmpty());//true
         
        String s5 = null;
        /**
         * Exception in thread "main" java.lang.NullPointerException
         * 因?yàn)閟5的對象不存在,它怎么可以調(diào)用方法呢??
         */
        //System.out.println(s5.isEmpty());
         
    }
 
}

7.練習(xí)

package cn;
 
import java.util.Scanner;
 
/**
 * 
 * 模擬登錄,給三次機(jī)會,并提示還有幾次機(jī)會
 * 
 * 分析:
 *    1.定義用戶名和密碼,已經(jīng)存在的
 *    2.鍵盤錄入用戶名和密碼。
 *  3.比較用戶名和密碼,如果都相同,則登錄成功,如果有一個不同,則登錄失敗
 *  4.給三次機(jī)會,用循環(huán)改進(jìn),用for循環(huán)
 */
public class StringDemo1 {
    public static void main(String[] args) {
        //定義用戶名和密碼,已經(jīng)存在的
        String username = "admin";
        String password = "admin";
         
        for (int i = 0; i < 3; i++) {
            //鍵盤錄入用戶名和密碼
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入用戶名:");
            String name = sc.next();
            System.out.println("請輸入密碼:");
            String pwd = sc.next();
             
            //比較用戶名和密碼,如果都相同,則登錄成功,如果有一個不同,則登錄失敗
            if(username.equals(name) && password.equals(pwd)){
                //如果都相同,則登錄成功
                System.out.println("登錄成功");
                break;
            }else{
                //如果有一個不同,則登錄失敗
                if((2-i) == 0){//如果是第0次,那么就
                    System.out.println("抱歉,帳號被鎖定。");
                }else{
                    System.out.println("登錄失敗,你還有"+(2-i)+"次機(jī)會");
                }
                 
            }
        }
         
     
         
    }
 
}

改進(jìn)

package cn;
 
import java.util.Scanner;
 
/**
 * 
 * 模擬登錄,給三次機(jī)會,并提示還有幾次機(jī)會,如果登錄成功,就可以玩猜數(shù)字了
 * 
 * 分析:
 *    1.定義用戶名和密碼,已經(jīng)存在的
 *    2.鍵盤錄入用戶名和密碼。
 *  3.比較用戶名和密碼,如果都相同,則登錄成功,如果有一個不同,則登錄失敗
 *  4.給三次機(jī)會,用循環(huán)改進(jìn),用for循環(huán)
 */
public class StringDemo1 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        //定義用戶名和密碼,已經(jīng)存在的
        String username = "admin";
        String password = "admin";
         
        boolean flag = false;
         
        for (int i = 0; i < 3; i++) {
            //鍵盤錄入用戶名和密碼
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入用戶名:");
            String name = sc.next();
            System.out.println("請輸入密碼:");
            String pwd = sc.next();
             
            //比較用戶名和密碼,如果都相同,則登錄成功,如果有一個不同,則登錄失敗
            if(username.equals(name) && password.equals(pwd)){
                flag = true;
                //如果都相同,則登錄成功
                System.out.println("登錄成功");
                break;
            }else{
                //如果有一個不同,則登錄失敗
                if((2-i) == 0){//如果是第0次,那么就
                    System.out.println("抱歉,帳號被鎖定。");
                }else{
                    System.out.println("登錄失敗,你還有"+(2-i)+"次機(jī)會");
                }
                 
            }
        }
         
        if(flag){
            GuessNumberGame.start();
        }
         
     
         
    }
 
}
package cn;
 
import java.util.Scanner;
 
/**
 * 創(chuàng)建猜數(shù)字的小游戲
 */
public class GuessNumberGame {
    private GuessNumberGame(){}
     
    @SuppressWarnings("resource")
    public static void start(){
        //產(chǎn)生一個隨機(jī)數(shù)
        int number = (int)(Math.random() * 100 ) + 1 ;
        System.out.println(number);
         
        while(true){
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入你要猜的數(shù)據(jù)(1-100):");
            int guessNumber = sc.nextInt();
             
            //判斷
            if(guessNumber > number){
                System.out.println("你猜的數(shù)據(jù)"+guessNumber+"大了");
            }else if (guessNumber < number){
                System.out.println("你猜的數(shù)據(jù)"+guessNumber+"小了");
            }else{
                System.out.println("恭喜你,猜中了");
                break;
            }
        }
    }
}

8.String類的獲取功能

public int length() 獲取字符串的長度

public char charAt(int index) 獲取指定索引位置上的字符

為什么這里是int類型,而不是char類型?

因?yàn)?'a'和97是可以相互轉(zhuǎn)換的,即97就是代表'a'

public int indexOf(int ch) 返回指定字符在此字符串中第一次出現(xiàn)的位置

public int indexOf(String str) 返回指定字符串在此字符串中第一次出現(xiàn)的位置

public int indexOf(int ch,int fromIndex)返回指定字符在此支付串從指定位置中第一次出現(xiàn)的位置

public int indexOf(Sring str,itn fromIndex) 返回指定字符串在此字符串從指定位置中第一次出現(xiàn)的位置

public String subString(int start) 從指定位置開始截取的字符串

public String subString(int strat,int end) 從指定位置開始到指定位置結(jié)束時截取的字符串

package cn;
/**
 *    String類的獲取功能
 *  public int length() 獲取字符串的長度
 *  public char charAt(int index) 獲取指定索引位置上的字符
 *   為什么這里是int類型,而不是char類型?
 *   因?yàn)?&#39;a&#39;和97是可以相互轉(zhuǎn)換的,即97就是代表&#39;a&#39;
 *  public int indexOf(int ch) 返回指定字符在此字符串中第一次出現(xiàn)的位置
 *  public int indexOf(String str) 返回指定字符串在此字符串中第一次出現(xiàn)的位置
 *  public int indexOf(int ch,int fromIndex)返回指定字符在此支付串從指定位置中第一次出現(xiàn)的位置
 *  public int indexOf(Sring str,itn fromIndex) 返回指定字符串在此字符串從指定位置中第一次出現(xiàn)的位置
 *  public String subString(int start) 從指定位置開始截取的字符串
 *  public String subString(int strat,int end) 從指定位置開始到指定位置結(jié)束時截取的字符串
 */
public class StringDemo4 {
    public static void main(String[] args) {
        //定義一個字符串
        String s = "helloworld";
         
        //public int length() 獲取字符串的長度
        System.out.println("s的長度是:"+s.length());//s的長度是:10
         
        //public char charAt(int index) 獲取指定索引位置上的字符
        System.out.println(s.charAt(0));//h
         
        //public int indexOf(int ch) 返回指定字符在此字符串中第一次出現(xiàn)的位置
        System.out.println("l出現(xiàn)第一次的索引"+s.indexOf(&#39;l&#39;));//l出現(xiàn)第一次的索引2
         
        //public int indexOf(String str) 返回指定字符串在此字符串中第一次出現(xiàn)的位置
        System.out.println("hello第一次出現(xiàn)的索引"+s.indexOf("hello"));//hello第一次出現(xiàn)的索引0
         
        //public int indexOf(int ch,int fromIndex)返回指定字符在此支付串從指定位置中第一次出現(xiàn)的位置
        System.out.println("l從索引為4開始出現(xiàn)d的第一次索引位置:"+s.indexOf(&#39;l&#39;, 4));//l從索引為4開始出現(xiàn)d的第一次索引位置:8
        System.out.println("l從索引為4開始出現(xiàn)d的第一次索引位置:"+s.indexOf(&#39;k&#39;, 4));//l從索引為4開始出現(xiàn)d的第一次索引位置:-1
        System.out.println("l從索引為4開始出現(xiàn)d的第一次索引位置:"+s.indexOf(&#39;l&#39;, 40));//l從索引為4開始出現(xiàn)d的第一次索引位置:-1
         
        //public int indexOf(Sring str,itn fromIndex) 返回指定字符串在此字符串從指定位置中第一次出現(xiàn)的位置
        System.out.println("or從第2個索引位置開始出現(xiàn)的第一個索引位置:"+s.indexOf("or", 2));//or從第2個索引位置開始出現(xiàn)的第一個索引位置:6
         
        //public String subString(int start) 從指定位置開始截取的字符串
        System.out.println("截取world:"+s.substring(5));//截取world:world
        System.out.println("截取helloworld:"+s.substring(0));//截取helloworld:helloworld
         
        //public String subString(int strat,int end) 從指定位置開始到指定位置結(jié)束時截取的字符串
        System.out.println("截取wo:"+s.substring(5, 7));//截取wo:wo
         
         
         
    }
 
}

9.練習(xí)

package cn;
/**
 * 需求:遍歷獲取字符串中的每一個字符
 *
 */
public class StringTest {
    public static void main(String[] args) {
        String s = "helloworld";
        //第一種實(shí)現(xiàn)方法
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            System.out.print(ch+" ");
        }
         
         
         
        System.out.println();
         
        //第二種實(shí)現(xiàn)方法
        char[] ch = s.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]+" ");
        }
    }
 
}
package cn;
/**
 *  需求:統(tǒng)計(jì)一個字符串中大寫字母字符、小寫字母字符,數(shù)字字符出現(xiàn)的次數(shù)(不考慮其他字符)
 *  舉例:
 *   "Hello123World"
 *  結(jié)果:
 *   大寫字符 2個
 *   小寫字符 8個
 *   數(shù)字字符 3個
 *  
 *
 */
public class StringTest2 {
    public static void main(String[] args) {
        String str = "Hello123World";
        int maxCharacterSum = 0;
        int minCharacterSum = 0;
        int numSum = 0;
         
        //方法一:將字符串轉(zhuǎn)換為字符數(shù)組
        char[] chs = str.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            if(chs[i] >= &#39;a&#39; && chs[i] <= &#39;z&#39;){
                minCharacterSum ++;
            }else if(chs[i] >= &#39;A&#39; && chs[i] <= &#39;Z&#39;){
                maxCharacterSum ++;
            }else if(chs[i] >= &#39;0&#39; && chs[i] <= &#39;9&#39;){
                numSum ++;
            }
        }
        System.out.println("大寫字符的總數(shù):"+maxCharacterSum);
        System.out.println("小寫字符的總數(shù):"+minCharacterSum);
        System.out.println("數(shù)字字符的總數(shù):"+numSum);
         
        //第二中實(shí)現(xiàn)
        maxCharacterSum = 0;
        minCharacterSum = 0;
        numSum = 0;
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if(ch >= &#39;a&#39; && ch <= &#39;z&#39;){
                minCharacterSum ++;
            }else if(ch >= &#39;A&#39; && ch <= &#39;Z&#39;){
                maxCharacterSum ++;
            }else if(ch >= &#39;0&#39; && ch <= &#39;9&#39;){
                numSum ++;
            }
        }
        System.out.println("大寫字符的總數(shù):"+maxCharacterSum);
        System.out.println("小寫字符的總數(shù):"+minCharacterSum);
        System.out.println("數(shù)字字符的總數(shù):"+numSum);
         
         
         
    }
}

10.String類的轉(zhuǎn)換功能

public byte[] getBytes() 字符串轉(zhuǎn)換為字節(jié)數(shù)組

public char[] toCharArray() 字符串轉(zhuǎn)換為字符數(shù)組

public static String valueOf(char[] chs) 將字符數(shù)組轉(zhuǎn)換為字符串

public static String valueOf(int i) 將int類型的數(shù)值轉(zhuǎn)換為字符串

public String toLowerCase() 將字符串轉(zhuǎn)換為小寫

public String toUpperCase() 將字符串轉(zhuǎn)換為大寫

public String concat(String str) 字符串的拼接

package cn;
/**
 * String類的轉(zhuǎn)換功能
 * 
 * public byte[] getBytes() 字符串轉(zhuǎn)換為字節(jié)數(shù)組
 * public char[] toCharArray() 字符串轉(zhuǎn)換為字符數(shù)組
 * public static String valueOf(char[] chs) 將字符數(shù)組轉(zhuǎn)換為字符串
 * public static String valueOf(int i) 將int類型的數(shù)值轉(zhuǎn)換為字符串
 * public String toLowerCase() 將字符串轉(zhuǎn)換為小寫
 * public String toUpperCase() 將字符串轉(zhuǎn)換為大寫
 * public String concat(String str) 字符串的拼接
 *
 */
public class StringDemo5 {
    public static void main(String[] args) {
        //定義一個字符串對象
        String s = "javaSE";
         
        //public byte[] getBytes() 字符串轉(zhuǎn)換為字節(jié)數(shù)組
        byte[] bytes = s.getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.print(bytes[i]+" ");//106 97 118 97 83 69 
        }
         
        System.out.println();
         
        //public char[] toCharArray() 字符串轉(zhuǎn)換為字符數(shù)組
        char[] chs = s.toCharArray();
        for (int i = 0; i < chs.length; i++) {
            System.out.print(chs[i]+" ");//j a v a S E 
        }
         
        System.out.println();
         
        // public static String valueOf(char[] chs) 將字符數(shù)組轉(zhuǎn)換為字符串
        String ss = String.valueOf(chs);
        System.out.println(ss);//javaSE
         
        System.out.println();
         
        //public static String valueOf(int i) 將int類型的數(shù)值轉(zhuǎn)換為字符串
        int num = 100;
        System.out.println(s.valueOf(num));//100
         
        System.out.println();
        System.out.println("轉(zhuǎn)換小寫:"+s.toLowerCase());//轉(zhuǎn)換小寫:javase
        System.out.println("轉(zhuǎn)換大寫:"+s.toUpperCase());//轉(zhuǎn)換大寫:JAVASE
         
        System.out.println();
         
        System.out.println(s.concat("javaEE"));//javaSEjavaEE
         
         
    }
 
}

11.練習(xí)

package cn;
/**
 * 需求:把一個字符串的首字母轉(zhuǎn)換為大寫
 * 舉例:
 *    helloWORLD
 * 結(jié)果
 *  HelloWORLD
 */
public class StringTest3 {
    public static void main(String[] args) {
        String str = "helloWORLD";
        str = str.substring(0,1).toUpperCase()+str.substring(1);
        System.out.println(str);//HelloWORLD
    }
 
}
package cn;
/**
 * 需求:把一個字符串的首字母轉(zhuǎn)換為大寫,其余為小寫
 * 舉例:
 *    helloWORLD
 * 結(jié)果
 *  Helloworld
 */
public class StringTest3 {
    public static void main(String[] args) {
        String str = "helloWORLD";
        str = str.substring(0,1).toUpperCase()+str.substring(1).toLowerCase();
        System.out.println(str);//Helloworld
    }
 
}

本文出自 “11831428” 博客,請務(wù)必保留此出處http://11841428.blog.51cto.com/11831428/1859607

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276