java学习笔记05-基本类型使用代表String

Scanner 类
使用Scanner进行输入,

`Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个数字");
            int i=scanner.nextInt();
           

使用scanner.hasNext()方法判断是不是正确输入的类型,返回值是true或者错误

if (scanner.hasNext()){
}

一个小实例

public static void main(String[] args) {
        while (true){
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个数字");
            if (scanner.hasNextInt()){
                int i=scanner.nextInt();
                System.out.println(i);
                break;
            }
            else {
                System.out.println("输入不正确请重新输入");
            }
        }

    }

String类
1.String类代表字符串,java中程序中所有字符串字面值(如abc)都作为此类的实例实现
创建有两种方法String s="我爱你"这个可以改变s的指向 或者String s=new String("我爱你");这个在创建之后 就不可以改变了

 public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = new String("hello");

        System.out.println(s1 == s2);//false
        //String 重写了Object类的equal() 比较的是,两个字符串字面上的内容是否相同
        System.out.println(s1.equals(s2));//true

        String s3 = new String("hello");
        String s4 = "hello";
        System.out.println(s3 == s4);//false
        System.out.println(s3.equals(s4));//true


        //但我采用这种直接赋值的方式,他先会去常量中,有没有该字符串,如果没有就创建,如果有就把之前的地址值赋值过来
        String s5 = "hello";
        String s6 = "hello";
        System.out.println(s5 == s6);//true
        System.out.println(s5.equals(s6));//true

    }

2.字符串是常量 他们的值在创建之后不能更改。
3.可以空参构造和传参构造;String s=new string();或者String s=new string(abc);
4.public String(byte[] byte);讲数组转换为字符串(讲数对应ascm码的字符串返回出去)public String(byte[] byte,0,3);讲数组的0开始后面的三个转过去。
5.将字符数组char转换为字符串 new String(char);,如果要转换指定的new String(char,0,2);
6.获取字符串的长度方法 length();

 String s = new String(); //   ""
        int length = s.length(); //获取字符串的长度

小实例 包含了几个方法

public static void main(String[] args) {
        //与判断相关的方法
        boolean b = "abc".equals("abc"); //区分大小写
        System.out.println(b);
        boolean b1 = "ABC".equalsIgnoreCase("abc");//不区分大小写
        System.out.println(b1);
        //判断一个字符串中是否包含这个子串
        boolean b2 = "完后余生,洗衣是你,做饭是你,带娃还是你".contains("是你");
        System.out.println(b2);

        //判断是否以这个字符串开头或结尾
        System.out.println("abc".startsWith("a"));
        System.out.println("abc".endsWith("c"));

        //判断是否是空串
        System.out.println("".isEmpty());
        System.out.println("".length() == 0);


    }

获取的方法
1.字符串编有索引,查看索引位置,使用indexOf();查找该字符在原串中第一次出现的位置。返回值是数字类型。如果查找不到就会返回-1,可以用来查看一个字符串中是否包含该字符。

string.indexOF('是');//从前往后检索 lastindexOF()从后往前检索
string.indexOF('是',3);//指定开始索引位置

2.使用charAt();索引截取该位置的字符 返回该位置字符

char ch = "这是一个字符".charAt(3);//ch是 个

3.从原串中获取一段字符串

String str="假如我年少有位不自卑";
Strin s=str.substring(str.indexOF('有'));//有之后全部截取完
Strin s1=str.substring(2,str.indexOF('有'));//从我到有
public static void main(String[] args) {
        //转换功能相关的方法
        //转换大小写
        String s = "abcd".toUpperCase();
        System.out.println(s);
        String s1 = "AAAA".toLowerCase();
        System.out.println(s1);

        //把字符串转换成字节数组
        byte[] bytes = "abcd".getBytes();
        for (int i = 0; i < bytes.length; i++) {
            System.out.println(bytes[i]);
        }
        System.out.println(bytes.length);
        //把字节数组转换成字符串
        String s2 = new String(bytes, 0, bytes.length);
        System.out.println(s2);

        System.out.println("-----------------------------");
        //把字符串转换成字节数组
        byte[] bytes1 = "我在人民广场吃着炸鸡".getBytes();
        System.out.println(bytes1.length);//
        for (int i = 0; i < bytes1.length; i++) {
            System.out.println(bytes1[i]);
        }
        //把字节数组转换成字符串
        String s3 = new String(bytes1, 6, 15);
        System.out.println(s3);

        //UTF-8 一个汉字占3个字节

       // System.out.println("錒".getBytes().length);

        //把字符串转换成字符数组
        String s4="我在人民广场吃着炸鸡";
        /*
        char[] chars = new char[s4.length()];
        for (int i = 0; i < s4.length(); i++) {
            chars[i]=s4.charAt(i);
        }

         */

        char[] chars = s4.toCharArray();

        //把一个字符数组转换成字符串
        String s5 = new String(chars);
        System.out.println(s5);

        String concat = "abc".concat("aaa").concat("ccc").concat("dddd");
        System.out.println(concat);


    }
    new String(给的内容); 可以给byt形也可是char形  都会转换成相应的Strin形式。

4.替换方法 replace(‘啊’,‘恩’); 啊替换为恩,返回已经替换的原串。

String s4="我在人民广场吃着炸鸡";
String s5=replace('我在''我不在');

5.去除两端空格

String u="   ahzngsan    "
Stringc=u.trim();//u就是zhangsan无空格

6.比较两个字符串,按照ascii码字典顺序去比,返回的是两个字符串的ascii码的差值,当字典顺序比不出来 按照长度比较

str.comparTo(str1);

7.concat(“aaa”)链接
1.Stringbuffer方法 朝里面加数据,

String s=new Sringbuffer();//创建一个容器
String append1=s.append(所有类型都可以)//朝里面加入数据
String append2=s.append(所有类型都可以)//朝里面加入数据

append1和append2 的地址就是s,是一个s容器的地址
2.insert方法,朝指定位置插=入数据

s.insert(2,eee);

3.根据索引进行删除deleteCharAt();

String s = deleteCharAt(1,4);//删除1到4的数据,包含头不包含尾部
String s = deleteCharAt(1);//只删除1位置的

4.replace()方法替换

s.replace(2,5,我爱你);//包含头不包含尾

6.反转容器中的内容 reverse
注意:以上的方法返回的都是容器本身
String和Stringbuffer互相转换

Sringbuffer s = new Stringbuffer(str);//字符串转StringBuffer
String string = new String(buffer);
String  string2 = buffer.toString();

注:StringBuffer适用于的多线程,StringBilder适用于单线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值