栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2022-07-20 第八组 韩文清

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022-07-20 第八组 韩文清

一.String字符串

(1) string构造方法

*方法名:public String()

 说明:创建一个空白字符串对象,没有任何内容

String s2=new String();
System.out.println("s2"+s2);

*方法名:public String(char[] chs)

说明:根据字符组的内容,来创建字符串对象

char [] chs={'a','b','c'};
String s3 =new String(chs);
System.out.println("s3"+s3);

*方法名:public String(byte[]bys)

说明: 根据字节数组的内容,来创建字符串对象

byte[] bys={98,94,48};
String s4=new String(bys);
System.out.println("s4"+s4);

String是一个类,它是不是也有属性,方法,构造器?

String声明不可改变

1.两者的区别(有无new的区别)

s1和s2指向的abcdefg不在同一个区域内,所以s1不等于s2

//s1就是String类的对象
//类如果创建对象:new s1并没有new 但是也可以叫做对象
String s1="abcdfg";

//s2是通过new创建出来的String类的对象
//创建对象要用构造器
String s2=new String("abcdefg");
System.out.println(s1==s2);    输出结果false
=赋值 无论怎么比较 都是true
new赋值 用==比较 都为false   ==用来比较虚地址

二.字符串比较方法

1.比较字符串的 内容(equals)

*.equals方法 (需要传参,传String类型的参数)

                       有,返回值是boolean类型

                       访问权限public

代码展示:

package Newjava.com.jrsoft.afternoon;

import java.util.Scanner;

public class ch000 {
    public static void main(String[] args) {
        //定义两个字符串
        String  username="jisoo";
        String password="czbk";
        //使用for循环
        for (int i = 0; i <3; i++) {
            //键盘录入登录用户名和密码 用Scanner
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入用户名:");
            String name=sc.nextLine();
            System.out.println("请输入密码:");
            String pwd=sc.nextLine();
            //equals方法比较,
            if(name.equals(username)&&pwd.equals(password)){
                System.out.println("登录成功");
            }else{
                System.out.println("登录失败,你还有"+(2-i)+"次机会");
            }
        }

    }
}

*.length方法 (不需要传参)

                      有返回值,整型

                       访问权限 public

**面试题

 字符串获取长度的方法和数组获取长度的方法有什么不同?
    数组的length是属性,
    字符串的length()是方法 

遍历字符串

    遍历字符串,首先获取到字符串的每一个字符
 public char CharAt(int index)       返回指定索引处的char值
             其次要获取到字符串的长度
 public int.length  对象  方法.length
         数组的长度   数组名.length
        字符串的长度  字符串对象.length()
 遍历字符串通用格式
    for(int i =0;i 

案例:

 public static void main(String[] args) {
        //键盘录入一个字符串 用scanner实现
          System.out.println(line.length());
        for (int i = 0; i  

2.判断指定字符串

public class ch05 {
    public static void main(String[] args) {
        String s1 = "abcdefg";
        //判断指定字符是否存在,返回值为字符串在s1的下标
        //会返回从左到右遇到的第一个匹配的下标
        //如果不存在,返回-1
        //indexOf(string.int)代表从int位置开始查找,包括           当前位置
        System.out.println(s1.indexOf("a",1));
        //从后往前找
        System.out.println(s1.indexOf("a",12));

3.字符串的截取

如果传一个参数,从指定位置截取,直到末尾
* 包括1位置的字符 包括起始位置的字符
* 生成一个新的字符串,不会改变原有数据

统计字符次数案例:

public static void main(String[] args) {
        //键盘录入一个字符串,依旧用scanner实现
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();
        int bigCount=0;
        int smallCount=0;
        int numberCount=0;
        //遍历字符串 得到每一个字符串
        for (int i = 0; i < line.length(); i++) {
            char ch=line.charAt(i);
            //判断该字符属于哪一种类型,然后对应类型的统计变量+1
            if(ch>='A'&&ch<='z'){
                bigCount++;
            }else if(ch>='a'&&ch<='z'){
                smallCount++;
            } else if (ch>='0'&&ch<='9') {
                numberCount++;

            }
            System.out.println("大写字母;"+bigCount+"个");
            System.out.println("小写字母;"+smallCount+"个");
            System.out.println("数字;"+numberCount+"个");

        }


    }

}

4.转大写

str.out.printpln(str.toupperCase());

5.转小写

str.out.printpln(str.toLowerCase());

6.判断是否以xxx开头

str.startsWitch("a",a)

7.判断是否以xxx结尾

System.out.println(str.endsWith(""));

8.忽略大小写比较 验证码

str.equalsignoreCase(str)

9.去掉字符串前后的空格

System.out.println(str.trim());

10.根据指定字符分割,分割之后,分割条件是消失

String[] strings =str2.split(",");
for ( String string :strings){
    System.out.println(string);}

4.字符串的替换

System.out.println(str.replace()

5.字符串和其他数据类型的转换

1.任何数据类型和字符串类型做加法,结果都是字符串

*空串

 String s=i+""; //null  ""中是字面量
 System.out.println(s);

*推荐

  int i = 10;
 //把int 类型转化成字符串
 String s=String.valueOf(i);
 System.out.println(s);

2.字符串转数组

        char[] array = str.toCharArray();
        for (char c : array) {
            System.out.print(c);
        }

3.转成字符型数组

          字符串转为字节型数组,就转为ASCII码状态
          一般情况下,字节型数组在操作文件时用到的IO流
        byte[] bytes = str.getBytes();
        for (byte aByte : bytes) {
            System.out.print(aByte);
        }

6.包装器类型(包装类,封装类)

1.byte Byte

2.short Short

3.int Integer

4.long Long

5.float Float

6.double Double

7.char Character

8.boolean Boolean
Integer i1=10;
Integer i2=10;
​

原理:

自动装箱:把int类型包装成了包装器integer类型
        基本数据类型转换成对应的包装器类型
自动拆箱:把integer类型包装成了包装器int类型
        基本数据类型转换成对应的包装器类型

7.JDK之后的新功能:

1.自动装箱和拆箱

2.增强for循环(foreach)

3.枚举

8.异常

数组下标异常

内存溢出

空指针

字符串下标越界

数字格式化

学习心得:今天学习了String 字符串的构造方法,以及字符串的遍历和比较方法,怎么截取字符串的长度,写笔记时又把今天学的内容又回顾了一遍,慢慢理解老师所讲的内容。天道酬勤,终不负!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021251.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号