Scanner
Scanner(用于接收键盘录入数据)
内容太多我挑重点写
- hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。
如果需要判断是否包含下一个字符串,则可以省略Xxx
以hasMextInt()为例
注:此段代码里的字符串若是有非数字字符,就会报错
String
-
什么是字符串
字符串是由多个字符组成的一串数据(字符序列)
字符串可以看成是字符数 -
字符串是常量,一旦被创建,就不能被改变。
-
常见构造方法
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):把字符数组的一部分转成字符 -
我在这里附上字节转字符的代码,这段代码除了字节转字符,还进行了截取。
-
这里还有比较重要的一个点,讲的是String s = new String(“hello”)和String s = “hello”的区别
下面我以代码为例讲解
String s = new String(“hello”) 和String s = “hello”,在我的理解里就是new之后,他们的地址是肯定不同,但是你直接创建一个字符串的话,系统会现在他的字符串集合里面找有没有这个字符串,有的话直接拿去用,所以地址是相同的。至于说equals的话在没被重写之前比较的也是地址,但在被重写之后比较的就是字符串的内容。 -
讲一道习题 :模拟登录, 给三次机会, 并提示还有几次。
错误输入演示
正确输入演示 -
再讲一道题:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
我用了几种不同方法实现
-
谢一道我做了好久的题,按要求去字符串的空格
这道题主要用到了subString()方法,难点在于第三个,使用了新定义一个空字符,结合for循环将其中的空字符剔除。这里难点就在于要将字符串中的字符挨个找出来,将空格删除之后如何将其返回给原字符串,后来就想到了这样通过空字符串将所有要用的字符拼接起来。
######再写就太多了,这都是我做起来有问题的题,希望我的总结能有帮助