品牌型网站有哪些,企业馆,别人用我公司营业执照备案做网站,珠海正规网站制作系统往期回顾#xff1a;
【前端学java】JAVA开发的依赖安装与环境配置 #xff08;0#xff09;【前端学 java】java的基础语法#xff08;1#xff09;【前端学java】JAVA中的packge与import#xff08;2#xff09;【前端学java】面向对象编程基础-类的使用 #xff08…往期回顾
【前端学java】JAVA开发的依赖安装与环境配置 0【前端学 java】java的基础语法1【前端学java】JAVA中的packge与import2【前端学java】面向对象编程基础-类的使用 3【前端学java】类中的访问权限详解通俗易懂4【前端学java】java中final修饰符5【前端学java】全网最通俗易懂的JAVA抽象概念6【前端学java】Java中的接口和枚举概念7【前端学java】java中的Object类8【前端学java】java 中的数组9
字符串的创建
同前端代码一样java中的字符创建非常简单
public class Object_01 {public static void main(String[] args) {// 字符串创建String name shixiaoshi;}
}java中字符串的创建是基于java.lang.String这个类的这意味着字符串的创建实际上是这样的
public class Object_01 {public static void main(String[] args) {// 字符串完成的创建方式String name new String(shixiaoshi) ;}
}实际开发中应该使用那种
答案显而易见使用双引号直接声明更方便快捷
java虚拟机基于第一种创建方式有内部优化所有相同的字符数据其实来源于同一个字符串对象这样就可以降低频繁的new String()带来的资源和内存消耗了。
public class Object_01 {public static void main(String[] args) {// 字符串完成的创建方式String name new String(shixiaoshi) ;String name1 new String(shixiaoshi) ;String name2 shixiaoshi;String name3 shixiaoshi;System.out.println(name name1); // falseSystem.out.println(name1 name2); // falseSystem.out.println(name2 name3); // true}
}上述代码验证了通过new String创建完全相同的字符串结果也是不同的字符对象通“”直接创建的字符结果是相同的。
字符串和字符是不相同的概念
要注意的是字符串和字符是不一样的比如字符串“8石f”实际是由“8”、“石”、“f”三个字符组成的。
我们在来复习一下java中的基本数据单位概念。
基本数据单位
在Java中最小的的数据单位是Byte也就是字节类型1 字母 1 byte 一个汉字是一个字符占两个字节。
之前的学习中我们介绍了基本数据类型。每种数据类型的字节数都是不尽相同的我们来复习一下
整型数据类型整数
byte1个字节范围为-128到127short2个字节范围为-32,768到32,767int4个字节范围为-2,147,483,648到2,147,483,647long8个字节范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807
浮点型数据类型小数
float4个字节范围为±3.40282347E38F有效位数为6-7位double8个字节范围为±1.7976931348623157E308有效位数为15位
字符型数据类型
char2个字节表示一个Unicode字符
布尔型数据类型
boolean表示逻辑值只能是true或false
现在我们应该能清除的知道“8石f” 这个字符串的构成了
字符串8石f字符8石f字节1111
通过上述例子我们也能明白字符串实际就是一个特殊的字符数组拼接而成的。
通过字符数组创建字符串
public class Object_01 {public static void main(String[] args) {char[] name {石,小,石};String names new String(name);System.out.println(names); // 石小石}
}注意char[] name {‘石’,‘小’,‘石’} 代码中 用的是单引号而不是双引号使用双引号会报错。
java中的单引号表示字符一般是char类型的java中的双引号是字符串是String类型的。
转义字符
我们如果想打印一个引号该怎么做呢? 直接打印必然报错我们只需要加一个转义字符即可
public class Object_01 {public static void main(String[] args) {System.out.println(); // }
}字符串的操作
拼接
和前端一样字符串的拼接可以直接用 号其作用和前端的用法效果是一致的。
String name shi xiao shi;这种形式创建的字符等同于下面方式创建的字符
String name1 shixiaoshi;这两种形式创建的字符其实完全一样
public class Object_01 {public static void main(String[] args) {// 拼接String name shi xiao shi;String name1 shixiaoshi;System.out.println(name.hashCode() name1.hashCode()); // true}
}hashCode方法用于返回对象的内存地址因此可以判断两个字符对象相同。
比较
要比较两个字符串是否相同可以用equals。
equals用于判断两个对象是否相等。默认情况下equals()方法比较的是对象的引用是否相同即是否指向同一个内存地址。
public class Object_01 {public static void main(String[] args) {String a shi;String b shi;System.out.println(a.equals(b)); // true}
}equals是区分大小写的
public class Object_01 {public static void main(String[] args) {String a shi;String b SHI;System.out.println(a.equals(b)); // fasle}
}如果想忽略大小写可以用equalsIgnoreCase 截断
substring
java中的字符截断方法substring和前端的字符截断方法substring也是一致的
public class Object_01 {public static void main(String[] args) {String java hello world;System.out.println(java.substring(0,5)); // hello}
}for (int i0;i s.length;i){System.out.println(s[i]);}split
splitf方法将一个字符分隔成数组和前端用法也是一致的 trim
trim() 方法用于删除字符串的头尾空白符。这和前端中的trim方法用法也是一样的
public class Object_01 {public static void main(String[] args) {String a hello world ;System.out.println(a.trim());}
}替换
repalce
replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符并返回替换后的新字符串。
public String replace(char oldChar,char newChar)它的第一个参数只能是字符或字符串
public class Object_01 {public static void main(String[] args) {String a hello hello world;System.out.println(a.replace(hello,hi)); // hi hi world}
}注意这和前端中的replace是有些区别的。前端中replace用于在字符串中用一些字符替换另一些字符或替换一个与正则表达式匹配的子串。
scriptvar str Hello Hello World!;
let index str.replace(/Hello/i, hi);
console.log(index); // hi Hello World!
/script前后端replace区别
1、java中replace第一个参数只能是字符或者是字符串而js可以是正则。
2、java中replace替换后所有匹配到的字符都会变化而js中匹配的字符只会替换第一个。
replaceAll
replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
语法
public String replaceAll(String regex, String replacement)参数
regex – 匹配此字符串的正则表达式。newChar – 用来替换每个匹配项的字符串。
public class Object_01 {public static void main(String[] args) {String a hello hello world;System.out.println(a.replaceAll(hello|world,hi)); // hi hi hi}
}js中的repalceAll用法和这个也是大同小异的
大小写转换
java中的字符大小写转换和前端是一致的
public class Object_01 {public static void main(String[] args) {String a Hello;System.out.println(a.toLowerCase()); // helloSystem.out.println(a.toUpperCase()); // HELLO}
}