Scanner,StringBuffer,String一些点

Scanner

Scanner(用于接收键盘录入数据)
内容太多我挑重点写

  1. hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。
    如果需要判断是否包含下一个字符串,则可以省略Xxx
    以hasMextInt()为例
    在这里插入图片描述
    在这里插入图片描述
    注:此段代码里的字符串若是有非数字字符,就会报错

String

  1. 什么是字符串
    字符串是由多个字符组成的一串数据(字符序列)
    字符串可以看成是字符数

  2. 字符串是常量,一旦被创建,就不能被改变。

  3. 常见构造方法
    public String():空构造
    public String(String original):把字符串常量值转成字符串
    public String(byte[] bytes):把字节数组转成字符串
    public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串(index:表示的是从第几个索引开始, length表示的是长度)
    public String(char[] value):把字符数组转成字符串
    public String(char[] value,int index,int count):把字符数组的一部分转成字符

  4. 我在这里附上字节转字符的代码,这段代码除了字节转字符,还进行了截取。
    在这里插入图片描述
    在这里插入图片描述

  5. 这里还有比较重要的一个点,讲的是String s = new String(“hello”)和String s = “hello”的区别
    下面我以代码为例讲解
    在这里插入图片描述
    在这里插入图片描述
    String s = new String(“hello”) 和String s = “hello”,在我的理解里就是new之后,他们的地址是肯定不同,但是你直接创建一个字符串的话,系统会现在他的字符串集合里面找有没有这个字符串,有的话直接拿去用,所以地址是相同的。至于说equals的话在没被重写之前比较的也是地址,但在被重写之后比较的就是字符串的内容。

  6. 讲一道习题 :模拟登录, 给三次机会, 并提示还有几次。
    在这里插入图片描述
    错误输入演示在这里插入图片描述
    正确输入演示在这里插入图片描述

  7. 再讲一道题:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
    我用了几种不同方法实现
    在这里插入图片描述
    在这里插入图片描述

  8. 谢一道我做了好久的题,按要求去字符串的空格
    在这里插入图片描述
    在这里插入图片描述
    这道题主要用到了subString()方法,难点在于第三个,使用了新定义一个空字符,结合for循环将其中的空字符剔除。这里难点就在于要将字符串中的字符挨个找出来,将空格删除之后如何将其返回给原字符串,后来就想到了这样通过空字符串将所有要用的字符拼接起来。

######再写就太多了,这都是我做起来有问题的题,希望我的总结能有帮助

发布了43 篇原创文章 · 获赞 7 · 访问量 1783

猜你喜欢

转载自blog.csdn.net/y18791050779/article/details/102797390