字符

// 定义字符
char c1 = 'a';
char c2 = '1';
char c3 = '中'; // 自动装箱
Character c = c1; // 自动拆箱
c1 = c; //判断是否为字母
Character.isLetter('a'); //判断是否为数字
Character.isDigit('a'); //判断是否空白
Character.isWhitespace(' '); //判断是否大写
Character.isUpperCase('a'); //判断是否小写
Character.isLowerCase('a'); //转换为大写
Character.toUpperCase('a'); //转换为小写
Character.toLowerCase('A'); //转换为字符串
String str = Character.toString('a');

转义字符

// 使用 \t 制表符对齐输出内容
System.out.println("abc\tdef");
System.out.println("a\tdef"); // 一个 \t 制表符显示长度是8
System.out.println("12345678def"); // 换行符 \n
System.out.println("abc\ndef"); // 单引号 \'
System.out.println("abc\'def"); // 单引号 \"
System.out.println("abc\"def"); // 反斜杠 \\
System.out.println("abc\\def");

字符串

字符串即字符的组合,具有以下特性:

  • String 本身是一个类,创建字符串后得到的是一个对象
  • String 使用final修饰,不能被继承
  • String 创建后不可改变,如增减长度、插入删除字符、修改字符等

创建字符串

// 通过字面值创建字符串
String str ="字符串"; // 通过实例化创建字符串
String str = new String("字符串"); // 通过字符数组创建字符串
char[] cs = new char[]{'字','符','串'};
String str = new String(cs); // 通过+加号创建字符串
String str = str1 + str2;

字符串格式化

String str1 ="捡到了";
int num = 80;
String str2="元"; //方式1:拼接字符串
String sentence = str1 + num + str2 + "\n"; //方式2:使用 format 格式化输出
//%s表示字符串,%d表示数字,%n表示换行
String sentence = String.format("%s%d%s%n", str1, num, str2);

其他格式化输出

int year = 2020;
String.format("%d%n", year); //8位长度,前补空格
String.format("%8d%n",year); //8位长度,后补空格
String.format("%-8d%n",year); //8位长度,前补0
String.format("%08d%n",year); //千位位分隔符
String.format("%,8d%n",year*10000); //保留两位小数
String.format("%.2f%n",Math.PI); //不同国家的千位分隔符
String.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
String.format(Locale.US,"%,.2f%n",Math.PI*10000);
String.format(Locale.UK,"%,.2f%n",Math.PI*10000);

字符串长度

String name ="字符串";
System.out.println(name.length()); String name = "";
System.out.println(name.length());

字符串操作

String name ="字,符,串";

// 获取指定位置的字符
char c = name.charAt(0); // 获取对应的字符数组
char[] cs = name.toCharArray(); // 从第3个字符开始截取字符串
String subString1 = name.substring(3); // 从第3个字符开始到5-1的位置截取字符串
String subString2 = name.substring(3,5); // 根据,进行分割,得到3个子字符串
String subSentences[] = name.split(",");
for (String sub : subSentences) {
System.out.println(sub);
} // 去掉首尾空格
String trimName = name.trim(); // 全部变成小写
String lowerName = name.toLowerCase(); // 全部变成大写
String upperName = name.toUpperCase(); // 字符第一次出现的位置
int index = name.indexOf('符'); // 字符串第一次出现的位置
int index = name.indexOf(",串"); // 字符串最后出现的位置
int index = name.lastIndexOf("符"); // 从位置2开始,'串'第一次出现的位置
int index = name.indexOf('串', 5); // 是否包含字符串
int index = name.contains("符"); // 替换所有的字符串
String replace = name.replaceAll(",", "-"); // 只替换第一个字符串
String replace = name.replaceFirst("-", "");

比较字符串

String str1 = "the light";
String str2 = "the light";
String str3 = new String(str1);
String str4 = str1.toUpperCase(); //==用于判断是否是同一个字符串对象
System.out.println(str1 == str2); // true,同一对象
System.out.println(str1 == str3); // false,不同对象
System.out.println(str1.equals(str3)); // true,内容一样
System.out.println(str1.equals(str4)); // false,大小写不一样
System.out.println(str1.equalsIgnoreCase(str3)); //true,忽略大小写的比较 // 以...开始
System.out.println(str1.startsWith("the"));
// 以...结束
System.out.println(str1.endsWith("light"));

数字转字符串

//方式1
int i = 5;
String str = String.valueOf(i); //方式2
int i = 5;
Integer it = i;
String str = it.toString();

换行符说明

换行符(newline):另起一行;程序表示为:'\n'

回车符(return):回到一行的开头;程序表示为:'\r'

在IDE里敲一个回车,实际上是回车换行符。

不同的操作系统,换行符不同。java程序中可以使用%n兼容各个平台的换行表现。

  • 在DOS和Windows中,每行结尾是 “\r\n”;
  • Linux系统里,每行结尾只有 “\n”;
  • Mac系统里,每行结尾是只有 "\r"。

Java 字符与字符串的更多相关文章

  1. 大头儿子和小头爸爸的战斗--java字符和字符串

    故事背景 一座普普通通的小屋里,住着大头儿子.小头爸爸和围裙妈妈.在他们普普通通的生活中,总是响起充满欢乐的笑声.最温暖的家又成了他们每个人的爱的源泉. <大头儿子和小头爸爸>是孩子居首( ...

  2. java字符统计+字符串压缩

    要实习了.突然发现自己好像什么都不会,就去看看题吧.在网上看到一个字符串压缩的题.看了一眼,感觉用python很简单.一个for循环+字典就可以搞定. 但是呢,主要还是java.下面就用java来实现 ...

  3. java字符,字符串,数字之间的转换

    string 和int之间的转换 string转换成int  :Integer.valueOf("12") int转换成string : String.valueOf(12) ch ...

  4. Core Java 总结(字符和字符串类问题)

    所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 字符,字符串类问题 正则表达式问题 J ...

  5. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

  6. Java的整个字符串的结束索引在最后一个字符之外

    /** * Created by xfyou on 2016/11/4. */ public class SubstringDemo { public static void main(String[ ...

  7. java.sql.Exception:setString 只能处理少于 32766 个字符的字符串

    java.sql.Exception:setString 只能处理少于 32766 个字符的字符串 解决方式是 : 升级ojdbc的版本,   将原来的 ojdbc14_10.2.0.2.0.jar ...

  8. Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串

    /*这是第100000份数据,要截取出100000*/ String s="这是第100000份数据"; String s1 = s.substring(s.indexOf(&qu ...

  9. 字符和字符串在Java中的旅程

    以下是个人对java中字符和字符串的见解,如有疏漏之处,还请不吝赐教. 下面通过一个简单的程序来说明字符和字符串在Java中的旅程. 以字符 ' 中 '为例, 它的GBK编码是2个字节:0xd6d0, ...

随机推荐

  1. jQuery中的html()、text()和val()的用法

    1.html() 获得的是第一个符合要求的标签中的所有内容,例如: var content = $("li").html(); <li>111<p>999& ...

  2. 如何用three.js实现数字孪生、3D工厂、3D工业园区、智慧制造、智慧工业、智慧工厂-第十课

    文章前,先聊点啥吧. 最近元宇宙炒的挺火热,在所有人都争相定义元宇宙的时候,资本就开始着手入场了.当定义明确,全民皆懂之后,风口也就过去了. 前两天看到新闻,新世界CEO宣布购入最大的数字地块,这块虚 ...

  3. Mysql配置文件 16c64g优化

    目录 一.说明 二.配置 一.说明 以下配置适合16核64G及以上的配置,会让性能稍微提高1/3左右. 二.配置 my.cnf [client] port = 3306 socket = /usr/l ...

  4. CF330A Cakeminator 题解

    Content 有一个 \(r\) 行 \(c\) 列的矩形蛋糕,由 \(r\times c\) 块 \(1\times 1\) 的蛋糕组成,其中有几块蛋糕上有一些草莓.你不喜欢吃草莓,又想吃得很爽, ...

  5. CF390A Inna and Alarm Clock 题解

    Content 平面内有 \(n\) 个整点 \((x_i,y_i)\).每次可以去掉一行或一列的点,问最少去几次(按行去点或按列去点二者只能选择一种). 数据范围:\(1\leqslant n\le ...

  6. TURN协议(RFC5766详解)

    如果一台主机处于NAT后面,那么在一定条件下两台主机无法之间进行通讯.在这种条件下,那么使用中继服务提供通讯是有必要的. 这个规范定义了一个名为TURN(使用中继穿越NAT)的协议,它允许一台主机使用 ...

  7. Json解析案例-teachers数据集

    背景: 通过平台执行接口时,接口往往返回的JSON串,所以平台要能提供方便快捷的JSON解析函数. 一.Json字符串: 1 { 2 "lemon": { 3 "teac ...

  8. 【Android开发】微信精选,文章资讯类App开发记录总结

    缘起 微信精选的App开发来源是在聚合数据上看到了有免费的微信精选的数据接口,无限调用.相对于其他的诸如违章查询,医药查询,NBA赛事等等,我感觉还是微信文章精选这个数据接口离我最近,所以想着拿着个数 ...

  9. 【LeetCode】95. Unique Binary Search Trees II 解题报告(Python)

    [LeetCode]95. Unique Binary Search Trees II 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzh ...

  10. F. Geometrical Progression

    http://codeforces.com/problemset/problem/758/F F. Geometrical Progression time limit per test 4 seco ...