Maison > Java > javaDidacticiel > le corps du texte

Introduction détaillée à l'API en Java

零下一度
Libérer: 2017-07-03 10:10:43
original
2661 Les gens l'ont consulté
Mots clés : classe String, classe StringBuffer, classe System, classe Math, classe Random, classe Date, classe Calendar, classe DateFormat
API (Programmation d'applications Interface) fait référence à l'interface de programmation d'application.
1. Classe String et classe StringBuffer
La classe String et la classe StringBuffer sont dans le package java.lang.
1. Classe String

① Les chaînes sont des objets

② Une fois initialisées, elles ne peuvent pas être modifiées car ce sont des constantes.

③ Vous pouvez savoir grâce au constructeur de la classe String comment convertir un tableau d'octets ou un caractère en chaîne.

2. Méthode de construction de la classe String
方法声明 功能描述
String() 创建一个内容为空的字符串
String(char[] value) 根据指定的字符数组创建对象
String(String value) 根据指定的字符串内容创建对象
3. Méthodes courantes de la classe String : (inclure la gauche mais pas la droite)
int indexOf(int ch) int lastIndexOf(int ch)
char charAt(int index) boolean endsWith(String suffix)
int length() boolean equals(Object anObject)
boolean isEmpty() boolean startsWith(String prefix)
boolean contains(CharSequence cs) String toUpperCase()
String toLowerCase() String valueOf(int i)
char[] toCharArray() String replace(CharSequence oldstr,CharSequence newstr)
String[] split(String regex) String substring(int beginIndex)
String substring(int beginIndex,int endIndex) String trim()

Exemple :

 1 public class Example02 {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5         new Thread(new Three()).start();
 6         new Thread(new Four()).start();
 7         new Thread(new Five()).start();
 8     }
 9 }
10 //字符串的基本操作
11 class One implements Runnable{
12     public void run() {
13         String s = "abcdedcba";
14         System.out.println("字符串的长度为:"+s.length());
15         System.out.println("字符串中第一个字符:"+s.charAt(0));
16         System.out.println("字符c中第一个出现的位置:"+s.indexOf('c'));
17         System.out.println("字符c中最后出现的位置:"+s.lastIndexOf('c'));
18         System.out.println("_____________");
19     }
20 }
21 //字符串的判断操作
22 class Two implements Runnable {
23     public void run() {
24         String s1 = "abcdedcba";
25         String s2 = "ABCDEDCBA";
26         System.out.println("字符串结尾是否是A:" + s1.endsWith("A"));
27         System.out.println("字符串s1与s2是否相同:" + s1.equals("ABCDEDCBA"));
28         System.out.println("字符串s1是否为空:" + s1.isEmpty());
29         System.out.println("字符串s1是否以abc开头:" + s1.startsWith("abc"));
30         System.out.println("字符串s1是否包含abc:" + s1.contains("abc"));
31         System.out.println("将字符串s1转为大写:" + s1.toUpperCase());
32         System.out.println("将字符串s2转为小写:" + s1.toLowerCase());
33         System.out.println("_____________");
34     }
35 }
36 //字符串的转换操作
37 class Three implements Runnable{
38     public void run() {
39         String s3 = "abcd";
40         System.out.print("将字符串转为字符数组后的结果");
41         char[] charArray=s3.toCharArray();
42         for (int i = 0;i<charArray.length;i++){
43             if(i!=charArray.length-1){
44                 System.out.print(charArray[i]+",");
45             }else
46                 System.out.println(charArray[i]);
47         }
48         System.out.println("将int值转换为String类型之后的结果:"+String.valueOf(123));
49         System.out.println("_____________");
50     }
51 }
52 //字符串的替换和去除空格操作
53 class Four implements Runnable{
54     public void run() {
55         String s = "itcase";
56         System.out.print("将it替换为cn.it的结果:"+s.replace("it","cn.it"));
57         String s4 = " i t c a s e ";
58         System.out.println("去除字符串两端空格后的结果:"+s4.trim());
59         System.out.println("去除字符串所有空格后的结果:"+s4.replace(" ",""));
60         System.out.println("_____________");
61 
62     }
63 }
64 //字符串的截取和分割
65 class Five implements Runnable{
66     public void run() {
67         String str = "羽毛球-篮球-乒乓球";
68         System.out.println("从第五个字符截取到末尾的结果:"+str.substring(4));
69         System.out.println("从第五个字符截取到第六个字符的结果:"+str.substring(4,6));
70         System.out.print("分割后的字符串数组中的元素依次为:");
71         String[] strArray = str.split("-");
72         for (int i = 0;i<strArray.length;i++){
73             if(i!=strArray.length-1){
74                 System.out.print(strArray[i]+",");
75             }else {
76                 System.out.println(strArray[i]);
77             }
78         }
79         System.out.println("_____________");
80     }
81 }
Copier après la connexion

Exécuter le résultat :

字符串的长度为:9字符串中第一个字符:a
字符c中第一个出现的位置:2字符c中最后出现的位置:6_____________
字符串结尾是否是A:false字符串s1与s2是否相同:false字符串s1是否为空:false字符串s1是否以abc开头:true字符串s1是否包含abc:true将字符串s1转为大写:ABCDEDCBA
将字符串s2转为小写:abcdedcba
_____________
将字符串转为字符数组后的结果a,b,c,d
将int值转换为String类型之后的结果:123_____________
从第五个字符截取到末尾的结果:篮球-乒乓球
从第五个字符截取到第六个字符的结果:篮球
分割后的字符串数组中的元素依次为:将it替换为cn.it的结果:cn.itcase去除字符串两端空格后的结果:i t c a s e
去除字符串所有空格后的结果:itcase
_____________
羽毛球,篮球,乒乓球
_____________
Copier après la connexion

4. conteneur de caractères qui convertit toutes les données en chaîne à ajouter.

5. Méthodes courantes de la classe StringBuffer :
StringBuffer append(char c) StringBuffer insert(int offset ,String str)
StringBuffer deleteCharAt(int index) StringBuffer delete(int start, int end)
StringBuffer replace(int start ,int end, String str) void setCharAt(int index,char ch)
String toString() StringBuffer reverse()
Exemple :
 1 public class Example08 {
 2     public static void main(String[] args) {
 3     add();
 4     new Thread(new remove()).start();
 5     System.exit(0);
 6     new Thread(new alter()).start();
 7     }
 8     public static void add() {
 9         System.out.println("1、添加——————————————————");
10         StringBuffer sb = new StringBuffer();  //定义一个字符串缓冲区
11         sb.append("abcdefg");//在末尾添加字符串
12         System.out.println("append添加结果:" + sb);
13         sb.insert(2, "123");
14         System.out.println("insert添加结果:" + sb);
15     }
16 }
17 class remove implements Runnable{
18     @Override
19     public void run() {
20         System.out.println("2、删除——————————————————");
21         StringBuffer sb = new StringBuffer("abcdefg");
22         sb.delete(1,5);//指定范围删除
23         System.out.println("删除指定范围结果:"+sb);
24         sb.deleteCharAt(2);//指定位置删除
25         System.out.println("删除指定位置结果:"+sb);
26         sb.delete(0,sb.length());//清除缓存区
27         System.out.println("清空缓冲区结果:"+sb);
28     }
29 }
30 class alter implements Runnable{
31     @Override
32     public void run() {
33         System.out.println("3、修改——————————————————");
34         StringBuffer sb = new StringBuffer("abcdefg");
35         sb.setCharAt(1,'p');//修改指定位置字符
36         System.out.println("修改指定位置字符结果:"+sb);
37         sb.replace(1,3,"qq");//替换指定位置字符串或字符
38         System.out.println("替换指定位置字符串或字符结果:"+sb);
39         System.out.println("字符串翻转结果:"+sb.reverse());
40     }
41 }
Copier après la connexion

Résultat d'exécution :

1、添加——————————————————
append添加结果:abcdefg
insert添加结果:ab123cdefg
2、删除——————————————————
删除指定范围结果:afg
删除指定位置结果:af
清空缓冲区结果:
Copier après la connexion

6. La différence entre StringBuffer et String

①La chaîne représentée par la classe String est une constante une fois créée, le contenu et la longueur ne peuvent pas être modifiés, tandis que StringBuffer représente un conteneur de caractères. dont le contenu et la longueur peuvent être modifiés à tout moment.

②La classe String couvre la méthode equals() de la classe Object, mais pas la classe StringBuffer.

③Les objets de la classe String peuvent être connectés à l'aide de l'opérateur +, mais les objets de la classe StringBuffer ne le peuvent pas.

2. Méthodes courantes de la classe System
static void exit(int status) static long gc()
static long currentTimeMills() static void arraycopy(Object src ,int srcPos,Object dest,int destPos,int length)
static Properties getProperties() static String getProperty(String key)
La classe Runtime est utilisée pour représenter l'état de la machine virtuelle lorsque il est en cours d'exécution. Il utilise pour encapsuler le processus de la machine virtuelle JVM. Méthode d'instance : Runtime run = Runtime.getRuntime();
3. Classe mathématique et classe aléatoire
1. Par exemple,
 1 public class Testt01 {
 2     public static void main(String[] args) {
 3         System.out.println("取绝对值:"+Math.abs(-2));
 4         System.out.println("向上取整:"+Math.ceil(2.1));
 5         System.out.println("四舍五入:"+Math.round(2.1));
 6         System.out.println("向下取整:"+Math.floor(2.1));
 7         System.out.println("取最大值:"+Math.max(3.2,2.1));
 8         System.out.println("取最小值:"+Math.min(3.21,2.1));
 9         System.out.println("反余弦:"+Math.acos(Math.PI/90));
10         System.out.println("反正弦:"+Math.asin(Math.PI/45));
11         System.out.println("反正切:"+Math.atan(12));
12         System.out.println(Math.atan2(12,12));
13         System.out.println("余弦:"+Math.cos(Math.PI/3));
14         System.out.println("正弦:"+Math.sin(30*Math.PI/180));//单位为弧度,30度用弧度表示(30*Math.PI/180);
15         System.out.println("自然对数的底数e:"+Math.E);
16         System.out.println("自然对数的底数e的n次方:"+Math.exp(12));
17         System.out.println("圆周率:"+Math.PI);
18         System.out.println("平方根:"+Math.sqrt(5));
19         System.out.println("生成一个大于等于0.0小于1.0的随机值:"+Math.random()); 
20         System.out.println("2的3次方:"+Math.pow( 2,3 )); 
21         System.out.println( System.currentTimeMillis() );//获得当前系统时间,运行程序最省内存 
22         System.out.println( new Date().getTime() );
23         System.out.println( Calendar.getInstance().getTime() );
24 
25    } 
26 }
Copier après la connexion

Le résultat de l'opération est :

 1 取绝对值:2
 2 向上取整:3.0
 3 四舍五入:2
 4 向下取整:2.0
 5 取最大值:3.2
 6 取最小值:2.1
 7 反余弦:1.5358826490960904
 8 反正弦:0.06987000497506388
 9 反正切:1.4876550949064553
10 0.7853981633974483
11 余弦:0.5000000000000001
12 正弦:0.49999999999999994
13 自然对数的底数e:2.718281828459045
14 自然对数的底数e的n次方:162754.79141900392
15 圆周率:3.141592653589793
16 平方根:2.23606797749979
17 生成一个大于等于0.0小于1.0的随机值:0.3660454717733955
18 2的3次方:8.0
19 1498976435080
20 1498976435085
21 Sun Jul 02 14:20:35 CST 2017
Copier après la connexion
2. Classe Rondom, méthode non statique
Méthode de construction de la classe Rondom : Rondom(); Rondom (graine longue);
Méthodes communes de la classe Rondom
boolean nextBoolean() double nextDouble() float nextFloat()
int nextInt() int nextInt(int n) long nextLong()

示例:

 1 public class Example16 {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5         new Thread(new Three()).start();
 6     }
 7 }
 8 class One implements Runnable{
 9     public void run() {
10         Random r = new Random();//不传入种子
11 //        随机产生10个[0,100)之间的整数
12         for (int x=0;x<10;x++){
13             System.out.println(r.nextInt(100));
14         }
15         System.out.println("_____________");
16     }
17 }
18 class Two implements Runnable{
19     public void run() {
20         Random r = new Random(13);//不传入种子
21 //        随机产生10个[0,100)之间的整数
22         for (int x=0;x<10;x++){
23             System.out.println(r.nextInt(100));
24         }
25         System.out.println("_____________");
26     }
27 }
28 class Three implements Runnable{
29     public void run() {
30         Random r = new Random();
31         System.out.println("产生float类型随机数"+r.nextFloat());
32         System.out.println("产生0~100之间int类型随机数"+r.nextInt(100));
33         System.out.println("产生double类型随机数"+r.nextDouble());
34         System.out.println("_____________");
35     }
36 }
Copier après la connexion

运行结果:

 1 90
 2 98
 3 23
 4 17
 5 97
 6 66
 7 10
 8 42
 9 10
10 67
11 _____________
12 92
13 0
14 75
15 98
16 63
17 10
18 93
19 13
20 56
21 14
22 _____________
23 产生float类型随机数0.9580269
24 产生0~100之间int类型随机数44
25 产生double类型随机数0.13987266903473206
26 _____________
Copier après la connexion
四、针对日期类型的操作类有三个,分别是java.util.Date,java.util.Calendar和 java.text.DateFormat 。
1、Date类用于表示日期和时间:其中构造方法:
    ①Date()用于创建当前日期时间的Date对象,
    ②Date(long date)用于创建指定时间的Date对象。创建如:
    Date date1 = new Date();
    Date date2 = new Date(9666546565L );
 
2、Calendar类用于完成日期和时间字段的操作,为抽象类,不能被实例化,在程序中需要调用其静态方法getInstance()来得到一个Calendar对象,然后调用其相应的方法:
     Calendar calendar = Calendar.getInstance();
     Calendar常用方法:
int get(int field) 返回指定日历字段的值,如 :calendar.(Calendar.YERR);
void add(int field,int amount) void set(int field,int value)
void set(int year,int month,int date) void set(int year,int month,int date,int hourOfDay,int minute,int second)
注意:Calendar.MONTH字段月份的起始值是从0开始而不是1 。
 
示例:
 1 public class Example {
 2     public static void main(String[] args) {
 3         new Thread(new One()).start();
 4         new Thread(new Two()).start();
 5     }
 6 }
 7 class One implements Runnable {
 8     public void run() {
 9         Date date = new Date();
10         Date date2 = new Date(966666666666L);
11         System.out.println(date);
12         System.out.println(date2);
13         System.out.println("--------------");
14     }
15 }
16 class Two implements Runnable {
17     public void run() {
18         Calendar calendar = Calendar.getInstance();//获取表示当前时间的Calendar
19         int year = calendar.get(Calendar.YEAR);
20         int month = calendar.get(Calendar.MONTH)+1;
21         int date = calendar.get(Calendar.DATE);
22         int hour = calendar.get(Calendar.HOUR);
23         int minute = calendar.get(Calendar.MINUTE);
24         int second = calendar.get(Calendar.SECOND);
25         System.out.println("当前时间为:"+year+"年"+month+"月"+date+"日"+hour+"时"+minute+"分"+second+"秒");
26         System.out.println("--------------");
27     }
28 }
Copier après la connexion

运行结果:

Sun Jul 02 14:29:41 CST 2017Sat Aug 19 14:31:06 CST 2000
-------------当前时间为:2017年7月2日2时29分41秒
--------------
Copier après la connexion

 

 
3、DateFormat类,专门用于将日期格式化为字符串或者用特定格式显示的日期字符串转换成一个Date对象,抽象类不可实例化,但提供静态方法。
     SimpleDateFormat ,DateFormat类子类,可通过new创建实例对象, 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户      自定义日期时间格式来运行。如:
     SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
     这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
     注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
     以上实例编译运行结果如下:
     Current Date: Sun 2014.07.18 at 14:14:09 PM PDT
     其中parse(String source)方法,它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。
示例:
 1 public class Example {
 2     public static void main(String[] args) throws Exception{
 3 //        创建一个SimpleDateFormat 对象
 4         SimpleDateFormat df1 = new SimpleDateFormat(
 5                 "Gyyyy年MM月dd日:今天是yyyy年的第D天,E");
 6 //        SimpleDateFormat 对象的日期模板格式化Date对象
 7         System.out.println(df1.format(new Date()));
 8 
 9         SimpleDateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日");
10         String dt = "2012年8月3日";
11 //      将字符串解析成Date对象
12         System.out.println(df2.parse(dt));
13     }
14 }
Copier après la connexion

运行结果:

AD2017年07月02日:今天是2017年的第183天,Sun
Fri Aug 03 00:00:00 CST 2012
Copier après la connexion

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal