首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA编程从入门到大神—API知识总结

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

1 String类

String类描述的是文本字符串序列。 留言 QQ 写日志。

创建String类的对象的两种方式:

1. ""直接赋值法

2. new关键字法

1.1 字符串对象的比较

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

String Str = “jack”这个语句会先检查字符串常量池是否存放这个”jack1”这个字符串对象,如果没有存在,那么就会在字符串常量池中创建这个字符串对象,如果存在直接返回该字符串的内存地址值。

String str3 = new String(“jack”) 该语句会创建两个对象,首先会先检查字符串常量池中存不存在jack这个字符串对象,如果不存在就会创建,如果存在就返回内存地址值。创建了出来之后,new String这个语句就会在堆内存中开辟一个字符串对象。总共两个对象。

1.1 获取方法

int length() 获取字符串的长度

char charAt(int index) 获取特定位置的字符 (角标越界)

int indexOf(String str) 获取特定字符的位置(overload)

int lastIndexOf(int ch) 获取最后一个字符的位置

1.1 判断方法

boolean endsWith(String str) 是否以指定字符结束

boolean isEmpty()是否长度为0 如:“” null V1.6

Boolean contains(CharSequences) 是否包含指定序列 应用:搜索

Boolean equals(Object anObject) 是否相等

Boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等

1.1 转换方法

String(char[] value) 将字符数组转换为字符串

String(char[] value, int offset, int count)

Static String valueOf(char[] data)

static String valueOf(char[] data, int offset, int count)

char[] toCharArray() 将字符串转换为字符数组

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

1.1 其他方法

String replace(char oldChar, char newChar) 替换

String[] split(String regex) 切割

String substring(int beginIndex)

String substring(int beginIndex, int endIndex)截取字串

String toUpperCase() 转大写

String toLowerCase() 转小写

String trim() 去除空格

1.2 练习

1. 去除字符串两边空格的函数。

publicclass Demo1 {

// 定义一个祛除字符串两边空格的函数

publicstatic String trim( String str ){

// 0、定义求字串需要的起始索引变量

int start = 0;

int end = str.length()-1;

// 1. for循环遍历字符串对象的每一个字符

for (int i = 0; i

{

if ( str.charAt(i) == ' ' )

{

start++;

}else{

break;

}

}

for (; end= 0; )

{

if ( str.charAt(end) == ' ' )

{

end--;

}else{

break;

}

}

// 2. 求子串

if( start

return str.substring( start , (end+1) );

}else{

return"_";

}

1. 获取上传文件名 "D:\20120512\day12\Demo1.java"。

publicstaticString getFileName2( String path ){

return path.substring( path.lastIndexOf("\") + 1 );

}

}

2. 将字符串对象中存储的字符反序。

// 将字符串对象中存储的字符反序

publicstatic String reaverseString( String src ){

// 1. 将字符串转换为字符数组

char chs[] = src.toCharArray();

// 2. 循环交换

for ( int start = 0 , end = chs.length - 1; start

{

// 3. 数据交换

char temp = chs[end];

chs[end] = chs[start];

chs[start] = temp;

}

// 4. 将字符数组转换为字符串

returnnew String( chs );

}

4. 求一个子串在整串中出现的次数

publicstaticint getCount( String src , String tag ){

// 0. 定义索引变量和统计个数的变量

int index = 0;

int count = 0;

// 1. 写循环判断

while ( ( index = src.indexOf(tag) ) != -1 ) // jackjava

{

// 2. 求字串

src = src.substring( index + tag.length() ); // index 4 + 4 = 8

// 3. 累加

count++;

}

return count;

}

1 StringBuffer

StringBuffer : 由于String是不可变的,所以导致String对象泛滥,在频繁改变字符串对象的应用中,需要使用可变的字符串缓冲区类。

特点:

1. 默认缓冲区的容量是16。

2. StringBuffer : 线程安全的所有的缓冲区操作方法都是同步的。效率很低。

1.1 添加方法

StringBuffer("jack") 在创建对象的时候赋值

append() 在缓冲区的尾部添加新的文本对象

insert() 在指定的下标位置添加新的文本对象

StringBuffer sb = new StringBuffer("jack");

sb.append(true);

sb.append('a');

sb.append(97).append(34.0).append(newchar[]{'o','o'}); // 链式编程

System.out.println( sb.toString() ); // 输出缓冲区的中文本数据

sb = new StringBuffer("jack");

sb.insert( 2, "java" ); // jajavack

1.2 查看

toString() 返回这个容器的字符串

indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。

substring(int start) 从开始的位置开始截取字符串

1.3 修改(U)

replace(int start int endString str) 使用给定 String 中的字符替换此序列的子字符串中的字符。该子字符串从指定的 start 处开始,一直到索引 end - 1 处的字符

setCharAt(int index char ch) 指定索引位置替换一个字符

1.4 删除(D)

1.5反序

reverse() 把字符串反序输出。

1 StringBuilder

StringBuilder 是JDK1.5之后提出的,线程不安全,但是效率要高。用法与StringBuffer类似。

2 System

System 可以获取系统的属性。

1 Runtime

Runtime 类主要描述的是应用程序运行的环境。

1 Date

Date 类封装的是系统的当前时间.。但是Date已经过时了,sun推荐使用Calendar类。

Calendar: 该类是一个日历的类,封装了年月日时分秒时区。

日期格式化类:SimpleDateFormat

1 Math

Math:类封装了很多数学的功能。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

练习:生成一个随机码

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223A0WS8M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券