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 取绝对值:22 向上取整:3.03 四舍五入:24 向下取整:2.05 取最大值:3.26 取最小值:2.17 反余弦:1.53588264909609048 反正弦:0.069870004975063889 反正切: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 902 983 234 175 976 667 108 429 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
转载于:https://www.cnblogs.com/gdwkong/p/7106022.html
Java入门——(5)Java API相关推荐
- Java必备:java入门、java学习
2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文为北京尚学堂原创文章,未经允许不得转载. 1.Java入门 1-1.Java具有那些适合在Internet环境中 ...
- JAVA入门笔记·JAVA名词及环境搭建
文章目录 一.JAVA主要特征 二.JAVA名词解释 三.环境搭建 一.JAVA主要特征 面向对象 分布式 跨平台 更安全 二.JAVA名词解释 JRE(运行环境) 包括JAVA虚拟机和JAVA程序所 ...
- 带你Java入门(Java系列1)
目录 前言: 1.什么是Java 2.Java的语言特点 3.初识Java的main方法 4.注释 5.标识符 6.关键字 7.1基本数据类型 7.2引用数据类型 8.变量 8.1.整形变量 8.2. ...
- java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...
常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...
- [Java入门笔记] Java语言基础(四):流程控制
2019独角兽企业重金招聘Python工程师标准>>> 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步 ...
- [Java入门笔记] Java语言基础(二):常量、变量与数据类型
2019独角兽企业重金招聘Python工程师标准>>> 常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Ja ...
- Java入门第三季——Java中的集合框架(中):MapHashMap
1 package com.imooc.collection; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 /** 7 * 学生 ...
- Java入门系列——Java语言基础(小康小白)
我是小康小白,一个平平无奇的Java,Python小白.热爱有趣的文字,生活和远方. 个人博客:https://blog.csdn.net/weixin_45791445 有问题欢迎QQ联系:1059 ...
- Java入门之~Java基础语法
✨✨✨✨✨✨✨✨✨每篇前言✨✨✨✨✨✨✨✨✨ 博客主页:Ara~追着风跑 励志语录:
- Java小结|Java入门知识点
Java入门知识点 Java入门知识点 Java的起源与演变 Java的起源 Java的演变 Java 体系与特点 Java体系 Java能做什么 Java的特性 Java 跨平台原理 Java 技术 ...
最新文章
- C++中 *(指针引用)与*(指针)的区别
- SCCM 2012系列3 安装SCCM 2012
- 【HDU - 1025】Constructing Roads In JGShining's Kingdom(dp最长上升子序列模型 + 二分优化)
- ios android 宏,iOS常用宏定义
- nero刻录软件中文版|nero express刻录软件 (附教程)
- 录播网站 服务器,录播服务器
- python逆时针画圆_python 逆时针
- 离散数学 用c++实现离散数学逻辑推理
- 【爬坑】解决“ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘ ”的问题
- 【Linux网络编程】网络基础知识
- 谷歌浏览器 一律不翻译英语 恢复
- 回收苹果手机,这个平台你知道吗
- 下载网络图片两种方式
- jquery的$是什么意思与相关的
- 企业如何提前规划国家高新认定?
- php获取客户端设备信息,php获取手机设备信息
- android自动路由,android 网关 路由 设置
- RDP(Reliable--UDP)Library--可靠UDP传输实现方案 - 缘分天空的日志 - 网易博客
- 大学python考试试题_大学Python程序题题库
- Win10与子系统Ubuntu 18.04 LTS之间互传文件