Java基础——String类

编程入门 行业动态 更新时间:2024-10-07 12:17:12

Java<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础——String类"/>

Java基础——String类

1.String是什么,可以做什么?
        字符串类型,可以定义字符串变量指向字符串对象。
2.String是不可变字符串的原因?
        String变量每次的修改其实都是产生并指向了新的字符串对象。
         原来的字符串对象都是没有改变的,所以称不可变字符串。
3.创建字符串对象的2种方式
        1)直接使用""定义
                String name = "小明";
        2)通过String类的构造器创建对象
                详细方法见API官方文档。
4.字符串对象的特点有哪些?
        以""方式给出的字符串对象,在字符串串常量池中存储,而且相同内容只会在其中存储一份。
        通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。

实例:

public class StringDemo {public static void main(String[] args) {//直接双引号String name = "我爱你";System.out.println(name);//1.public String():创建一个空白字符串String s1= new String();System.out.println(s1);//2.public String(String)String s2 = new String("祥鸿");System.out.println(s2);//3.public String(char[] c)根据字符数组的内容,来创建字符串对象char[] chars = {'a','b','c'};String s3 = new String(chars);System.out.println(s3);//4.public String(byte[] b)根据字节数组的内容,来创建字符串对象byte[] bytes = {97,98,99,66,77};String s4 = new String(bytes);System.out.println(s4);}
}


5.如果是字符串比较应该使用什么方式进行比较,为什么?
        使用String提供的equals方法
        只关心内容一样就返回true
6.开发中什么时候用==进行比较?
        基本数据类型比较时。

实例:

public class StringDemo1 {public static void main(String[] args) {//1.正确登录名和密码String okName = "hehe";String okPassword = "123456";//请您输入登录名称和密码Scanner sc = new Scanner(System.in);System.out.println("登录名称:");String name = sc.next();System.out.println("登录密码:");String password = sc.next();//判断用户输入的登录名称和密码//字符串的内容比较不适合用“==”比较if (okName.equals(name) && okPassword.equals(password)){System.out.println("登录成功");}else {System.out.println("用户名或者密码错误");}//忽略大小写比较内容的API:一般用于验证码的业务String yz = "aaaa";String yz1 = "AAAA";System.out.println(yz.equalsIgnoreCase(yz1));}
}

常用API实例:

//String常用的API
public class StringDemo2 {public static void main(String[] args) {//获取字符串长度String name = "小红,我爱你";System.out.println(name.length());//获取某个索引位置处的字符char c = name.charAt(1);System.out.println(c);System.out.println("-------------遍历字符串中盯得每个字符---------");for (int i = 0; i < name.length(); i++) {char ch = name.charAt(i);System.out.print(ch);}System.out.println();//把字符串转化为字符数组char[] chars = name.toCharArray();for (int i = 0; i < chars.length; i++) {char ch = chars[i];System.out.print(ch);}System.out.println();//截取内容,包前不包后String name2 = "Java 真好用";String s = name2.substring(0, 4);System.out.println(s);//从当前索引一直截取到末尾String rs = name2.substring(5);System.out.println(rs);//替换敏感词String name3 = "金三胖是最厉害的80后,金三胖厉害";String rs1 = name3.replace("金三胖","***");System.out.println(rs1);//判断是否包含语句System.out.println(name3.contains("金"));    //返回true 或 false//按照某个内容把字符串分隔成字符串数组并返回String name4 = "小红,小亮,小明,小华";String[] names = name4.split(",");for (int i = 0; i < names.length; i++) {System.out.print(names[i] + "\t");}}
}

简易验证码案例:

//使用String完成随机验证码
public class StringExec {public static void main(String[] args) {//1.定义可能出现的字符String data="abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWSYZ0123456789";//循环五次,每次生成一个随机索引,提取对应的字符Random r = new Random();String code = "";for (int i = 0; i < 5; i++) {//随机一个索引int index = r.nextInt(data.length());char c = data.charAt(index);code += c;}//输出生成的验证码System.out.println(code);}
}

更多推荐

Java基础——String类

本文发布于:2024-02-19 15:53:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764431.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   Java   String

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!