java基础知识—字符串
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基础知识—字符串的更多相关文章
- (10)java基础知识-字符串
String s和 new String 的区别 String s1="hello"; String s2= new String("hello"); Stri ...
- 第二十九节:Java基础知识-类,多态,Object,数组和字符串
前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础练习 字符串,控制流,日历,日期等
1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
随机推荐
- c# linq lambda 去重,排序,取最高纪录。
----------------------------------------------------.对基础类型排序 方法一: 调用sort方法,如果需要降序,进行反转: List<int& ...
- threejs 草场足球运动视角(三)
这次要模拟的场景如下图:就是在绿草地上足球的运动,并且视角会随着足球的运动发生变化,同时整个草地的视角也会旋转. 接下来,我们就对各个元素进行分析: 1,草地 用PlaneGeometry在三维空间里 ...
- TGCA数据的标准化以及差异分析--转载
转载果子学生信 https://mp.weixin.qq.com/s/Ph1O6V5RkxkyrKpVmB5ODA 前面我们从GDC下载了TCGA肿瘤数据库的数据,也能够把GDC下载的多个TCGA文 ...
- react native 5.54 出ios版本遇到的坑(应该是在xcode10下才会有的吧)记录。。。。。。 据说5.7已经修复了
1. config.h找不到 rm -r ~/.rncache/cd node_modules/react-native/third-party/glog-0.3.4/./configure --ho ...
- 全景拍摄,全景视频拍摄,全景VR拍摄,VR全景拍摄,360全景图片拍摄
北京动软专业提供基于手机.VR设备.PC浏览器的全景拍摄和项目展示服务. 承接服务内容包括720°全景拍摄展示.VR虚拟现实全景.全景漫游.全景视频.物体全景.环物全景等. 全景展示主要应用于展览 ...
- 深入理解Java虚拟机(第二版)中《长期存活对象将进入老年代》的实践
- Premiere Pro 中的键盘快捷键
官网地址:https://helpx.adobe.com/cn/premiere-pro/using/default-keyboard-shortcuts-cc.html?mv=product& ...
- sublime和vscode 格式化Json ——两步走
目录 1.问题来源 2.sublime安装插件方式 3.使用方式 4.扩展:对于软件vscode 1.问题来源 最近做数据匹配任务,需要生成很多json文件,但是每个json文件又太大,想要逐字段(k ...
- warmpserver 配置别人能访问自己的项目地址
1.首先必须给自己的ip和域名地址给别人,绑定hosts 如:10.33.31.20 www.bai.com 2.找到apache 的 httpd.conf . 用notepadd打开,然后找到 ...
- 非阻塞模式(ioctlsocket)
//Server.cpp #include <stdio.h> #include <winsock2.h> //winsock.h (2种套接字版本) #pragma comm ...