Java入门——(5)Java API
①字符串都是对象
②一旦初始化就不可以被更改,因为是常量。
③通过String类的构造函数可以知道,将字节数组或字符转成字符串。
方法声明 | 功能描述 |
String() | 创建一个内容为空的字符串 |
String(char[] value) | 根据指定的字符数组创建对象 |
String(String value) | 根据指定的字符串内容创建对象 |
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() |
示例:
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 }
运行结果:
字符串的长度为: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
_____________
羽毛球,篮球,乒乓球
_____________
4、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() |
示例:
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 }
运行结果:
1、添加——————————————————
append添加结果:abcdefg
insert添加结果:ab123cdefg
2、删除——————————————————
删除指定范围结果:afg
删除指定位置结果:af
清空缓冲区结果:
6、StringBuffer与String的区别
①String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的,而StringBuffer表示字符容器,其内容和长度都可以随时改变。
②String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖。
③String类对象可以用操作符+进行连接,而StringBuffer类对象之间不能。
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) |
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 }
运行结果:
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
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 }
运行结果:
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 _____________
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) |
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 }
运行结果:
Sun Jul 02 14:29:41 CST 2017
Sat Aug 19 14:31:06 CST 2000
-------------
当前时间为:2017年7月2日2时29分41秒
--------------
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 }
运行结果:
AD2017年07月02日:今天是2017年的第183天,Sun
Fri Aug 03 00:00:00 CST 2012
Java入门——(5)Java API的更多相关文章
- Java入门——初识Java
Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...
- Java入门:Java下载与安装方法
本文适合刚入门的Java编程的初学者阅读. JDK有两种下载方法,一个是官网下载,另一个是第三方网站下载.官网速度也许有点慢,慢的话可以考虑去第三方网站下载. 一.官网下载 1. 访问地址:http: ...
- [Java入门笔记] Java语言简介
前言 学习Java有一段时间了,但是一直缺少一个系统的思想,现在重新通过书籍中.网上的文章,视频等资料,整理与回顾Java的知识点. 言归正传,让我们先从了解Java语言开始. Java语言的由来 J ...
- Java入门——学会使用API
API是什么? API(Application Programming Interface)就是别人写的代码使用说明书. 下面是中文版API的使用具体截图. 1.左上角有个显示(图中"隐藏& ...
- [Java入门笔记] Java语言基础(一):注释、标识符与关键字
注释 什么是注释? 注释是我们在编写代码时某段代码.某个方法.某个类的说明文字,方便大家对于代码的阅读.被注释的内容不会被编译.执行. Java的注释分为三种类型:单行注释.多行注释.文档注释. 单行 ...
- Java入门:Java IO概括
I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道.在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性 ...
- [Java入门笔记] Java语言基础(五):数组
简介 数组可用用于存储存储多个数据,Java的数组要求所有的数组元素具有一种相同的数据类型.一旦数组初始化完成,数组在内存中的空间被固定下来,长度不可改变,即使把数组的元素清空,所占用的空间依然被保留 ...
- [Java入门笔记] Java语言基础(四):流程控制
流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...
- [Java入门笔记] Java语言基础(三):运算符
简介 运算符是一种特殊的符号,运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号,运算符和操作数的有效组合称为表达式. Java中运算符主要分为以下几类: 赋值运算符 算术运算符 关 ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
随机推荐
- 常见的JQuery应用举例
在学习JS之后,JQuery(以下简称JQ)为我们提供了一种更加便捷和简单的操作模式,利用它开发人员将更为高效的进行工作,下面将一些常见的问题进行举例. 1.点击某处弹出提醒,例如某些游戏在注册时会弹 ...
- 15个必须知道的 Chrome 开发技巧
在 Web 开发者中,Chrome 是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用 console 和 d ...
- 懒人的小技巧, 批处理修改IP
相信很多人都有这样的麻烦, 工作单位的IP网段与住的不一致, 自己的笔记本在单位和回家的时候每次都要更改IP, 很麻烦, 偷个懒, 做了个批处理来修改IP,方便一点. 还有就是可以把工作的时候才需要 ...
- OJ2236“孤单数”题目报告
题目描述:有2n+1个数,其中有n对数字是成双出现的,有且仅有1个数字只有它自己一个.请你找出这个孤单数. 输入描述: 第一行有且只有一个正整数n(n<=500000) 第二行有2n+1个数ai ...
- .net入门 - Get Started with .NET
阅读原文 有很多种方式去开始使用.net.因为.net是一个巨大的平台,在这个文档里面有很多文章,告诉你如何从不同的角度去开始使用.net. 使用.NET的语言入门 C#入门文章和C#教程提供了以C# ...
- Tomcat管理页面配置
详情参考:http://www.365mini.com/page/tomcat-manager-user-configuration.htm 修改$CATALINA_BASE/conf/tomcat- ...
- WriteTeacherObj
package JBJADV003;import java.io.*;public class WriteTeacherObj { /** * @param args */ public static ...
- Nginx 502 Bad Gateway
今天安装完php环境以后,出现这个问题,排查步骤如下: ps -ef|grep php-fpm 发现没有安装php-fpm 然后直接安装php-fpm yum -y install php-fpm 安 ...
- 父(Spring)子(SpringMVC)容器之初解篇
Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而在实际开发中,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但在实际项目中,我们经常会 ...
- 使用Lucene.net+盘古分词实现搜索查询
这里我的的Demo的逻辑是这样的:首先我基本的数据是储存在Sql数据库中,然后我把我的必需的数据推送到MongoDB中,这样再去利用Lucene.net+盘古创建索引:其中为什么要这样把数据推送到Mo ...