1.声明字符串的方法:

String s ="你好"

String s=new String("你好");

2.字符串的长度:

字符串.length();

3. equals比较的是值,一般用于字符串比较

==比较的是地址 一般用于数字比较

4. equalslgnoreCase 比较时忽略大小写

toLowerCase()转换成小写,例:name.toLowerCase();

toUpperCase()转换成大写,例:naem.toupperCase();

5.\转义符

6.拼接字符串时用“+”或concat()方法,当原字符串是有效字符串时,在其后拼接新的字符串时,会创建副本。

例如:String str = "你好"; str = str + "北京";

String str = new String (“你好”); str . concat ("北京");

特点:使用“+”和concat()方法,会造成内存浪费,性能比较差,但是线程安全。

7. index(参数);获取第一个字符或字符串的下标。

indexOf(int ch); 例如: str.indexOf('你');

indexOf(String s); 例如: str.indexOf(".java");

8. lastIndexOf(参数);获得最后一个字符或字符串的下标。

lastIndexOf(int ch); 例如: str.lastIndexOf('你');

lastIndexOf(String ch); 例如: str.lastIndexOf(".java");

9. subString(参数); 截取字符串。

subString(int index); 下标从0开始数,从index开始截取到最后结束。

subString(int beginIndex,int endIndex);

下标从0开始数,从beginIndex开始,包括beginIndex位置。

到endIndex结束,不包括endIndex位置。

10.trim()方法,去字符串前后空格。

11.spilt(参数)方法,分割字符串,返回数组。

例如: String str = "长亭外-古道边-芳草碧连天-哈哈";

String[] word = str.spilt("-");

for(int i = 0;i<word.length;i++){

System.out.println(word[i]);

}

12.StringBuffer类,频繁拼接字符串时使用

例如: StringBuffer sbuf = new StringBuffer("你");

abuf.append("好吗?");

abuf.insert(1,"们");

String str=sbuf.toString();

System.out.println(str);//你们好吗?

特点:在自身上追加字符串,不会产生副本,所以节省内存,性能高,线程安全。

String、StringBuffer、StringBuilder 三者区别:

1)原理:String 频繁拼接时产生大量对象(副本)。

StringBuffer和StringBuilder都是在当前对象上操作的,所以不会产生大量的对象。

2)性能:String<StringBuffer<StringBuilder

3) 线程:String、StringBuffer 线程安全
StringBuilder非线程安全

总结:if (操作的数据较少){
String

} else{

if(多线程){

StringBuffer
} else {

StringBuilder
}
}

11.num=num++;
在计算时,在java虚拟机中的执行顺序
//1.num的值保存在栈中;
//2.num++;
//3.从栈中拿出值赋给num。

java基础知识—字符串的更多相关文章

  1. (10)java基础知识-字符串

    String s和 new String 的区别 String s1="hello"; String s2= new String("hello"); Stri ...

  2. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  5. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  6. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  7. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  8. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  9. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. Oracle 创建,查询,删除 job

    一 . 创建job 1. 通过创建存储过程的方式创建job 调用该存储过程使其开始执行  call PRO_DSJ_XJTJ_JOB(); create or replace procedure PR ...

  2. ExtJs常用功能

    1.判断内容是否修改 1) var cgrid = query_panel.cgrid; var v = cgrid.getValues(); //console.log(v); if (v != & ...

  3. 牛客 黑龙江大学程序设计竞赛重现 19-4-25 D

    题意: n项工作 1~n  工时s[i] ~e[i], 工时有覆盖的工作不能被同一台机器同时操作, 问完成所有工作的最少机器数 思路:前缀差分和 e.g. a            2 3 4    ...

  4. vuex 改变状态值得命名问题

    今天在做vuex的状态的时候 发现了个奇葩的问题,后面解决了,在改变状态的值得时候 传值的名称 不要和定义的状态的名称值相同,要不然会报错,如图所示 也就是password的名称不能相同,要不监测不到 ...

  5. SpringBoot关于SpringDataJpa中findOne()方法报错问题

    问题描述: 首先用的SpringDataJPA的1.11版本,可以使用findOne()方法根据id查询 然后我使用了2.0.5版本,发现findOne()方法报错了,不能用来当作根据id查询了. 当 ...

  6. 『Python』为什么调用函数会令引用计数+2

    一.问题描述 Python中的垃圾回收是以引用计数为主,分代收集为辅,引用计数的缺陷是循环引用的问题.在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存. sys.g ...

  7. SYN-flood攻击

    原理:当TCP三次握手进行第一次握手时,客户端向服务端发送SYN请求报文,第二次握手服务端会返回一个SYN+ACK的一个确认报文,syn-flood攻击就发生在第三次握手,当客户端不去回应服务端的SY ...

  8. mui预加载

    1.只能加载一个页面 mui.init(); var page = null; mui.plusReady(function() { //预加载页面mui.preload必须放在plusReady事件 ...

  9. 在 ubuntu18.04 中搭建 Django 开发环境

    在Ubuntu 18.04 安装 python3.pip3.pycharm,搭建 Django 开发环境. 1.安装 python3 pip3 sudo apt-get install python3 ...

  10. MySQL—概念,用户的创建,主键,外键,数据类型,表格创建

    MySQL DBMS,MySQL的概念,数据库分类,以前MySQL的部署中的一些概念 #DBMS:数据库管理系统,用于管理数据库的大型软件.mysql就是dbms的一种 #Mysql:是用于管理文件的 ...