Scanner 扫描器
创建:
Scanner scanner = new Scanner(System.in);
方法:
nextInt() – 将输入信息的下一个标记扫描为一个 int。
如果输入非int类型的值,就会报:输入匹配异常 – java.util.InputMismatchException
next() – 查找并返回来自此扫描器的下一个完整标记。
nextLine() – 此扫描器执行当前行,并返回跳过的输入信息。
next() 和 nextLine() 区别:
next()会将空格键、Tab键或Enter键等视为分隔符或结束符,不能得到带空格的字符串。
nextLine()仅将Enter键作为结束符,返回Enter键前的所有字符,可以得到带空格的字符。

关于String类 :
1、定义
由字符组成的序列。
2、构造方法
A: String s = new String();
– 空字符序列
B: String s = new String(byte[] bys);
– 使用平台的默认字符集解码指定的 byte 数组,构造一个 String。
C: String s = new String(byte[] bys, int index, int length);
– 使用平台的默认字符集解码指定的 byte 数组,构造一个 String。从索引为 index 处开始,截取长度为 length。
如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
D: String s = new String(char[] chs);
– 使用字符数组中包含的字符序列,构造一个 String。
E: String s = new String(char[] chs, int index, int length);
– 使用字符数组中包含的字符序列,构造一个 String。从索引为 index 处开始,截取长度为 length。
如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
F: String s = new String(String str);
G: String s = “hello”;

3、特点
1:字符串一旦初始化就不可以改变。(注意:是指字符串在常量池中的值不可以改变,不是指引用。)
2:面试题:
a:String s = new String(“hello”)和String s = "hello"的区别。
第一种方式在内存中有两个对象。
第二种方式只有一个对象。
b:请写出结果:

String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1==s2); // false
System.out.println(s1.equals(s2)); // trueString s3 = new String("hello");
String s4 = "hello";
System.out.println(s3==s4); // false
System.out.println(s3.equals(s4)); // trueString s5 = "hello";
String s6 = "hello";
System.out.println(s5==s6); // true
System.out.println(s5.equals(s6)); // true

4、成员方法
1判断功能
boolean equals(Object obj)
– 判断字符串的内容是否相同,区分大小写。
boolean equalsIgnoreCase(String str)
– 将此字符串与另一个字符串比较,忽略大小写。
boolean contains(String str)
– 判断字符串中是否包含指定的字符串
boolean startsWith(String str)
– 判断字符串是否是以指定的字符串开头
boolean endsWith(String str)
– 判断字符串是否是以指定的字符串结尾
boolean isEmpty()
– 判断字符串是不是空字符串。注意区分空字符串和null的区别:null是在堆内存中没有对象。
2:获取功能
int length()
– 获取字符串的长度。
char charAt(int index)
– 获取字符串中给定索引处的字符。(练习遍历字符串)
int indexOf(int ch)
– 返回指定字符在此字符串中第一次出现的索引。(不存在,返回-1)
int indexOf(String str)
– 返回指定字符串在此字符串中第一次出现的索引。(不存在,返回-1)
int indexOf(int ch,int fromIndex)
– 返回指定字符在此字符串中第一次出现的索引,从指定的索引处开始查找。
int indexOf(String str,int fromIndex)
– 返回指定字符串在此字符串中第一次出现的索引,从指定的索引处开始查找。
String substring(int start)
– 截取字符串。返回从指定索引截取后的字符串。
String substring(int start,int end)
– 截取字符串。返回从指定索引开始start到指定索引结束end截取后的字符串。(包括开始索引但不包括结束索引,左闭右开)
注:字符串的截取功能不会对原字符串产生影响
3:转换功能
byte[] getBytes()
– 把字符串转换成字节数组。
char[] toCharArray()
– 把字符串转换成字符数组。
static String copyValueOf(char[] chs)
– 把字符数组转换成字符串。
static String valueOf(char[] chs)
– 把字符数组转换成字符串。
static String valueOf(int i)
– 把int(基本类型)转换成字符串。
String toLowerCase():
– 把字符串变成小写。
String toUpperCase():
– 把字符串变成大写。
String concat(String str):
– 拼接字符串。
4: 其他功能
替换功能
String replace(char oldChar,char newChar):用新的字符去替换指定的旧字符
String replace(String oldString,String newString):用新的字符串去替换指定的旧字符串
补充:
replaceFirst(String regex, String replacement)
切割功能
String[] split(String regex):将字符串按指定的正则表达式拆分,返回切割后的字符串数组。
补充:关于切割功能。
1、如果字符串中不包含与给定正则匹配的字符(串),那么返回的数组长度为1,数组中的这1个元素值与原字符串相同。
2、如果给定的正则表达式在字符串的开始处匹配成功,那么返回数组的第一个元素为一个空字符串(""),也就是在匹配表达式的前面截取出一个空串。
但是,如果给定的正则表达式在字符串的结尾处匹配成功,返回的数组最后一个元素并不会取空字符串,而是最后的匹配表达式前面的部分。
去除字符串两端空格
String trim()
按字典顺序比较两个字符串
int compareTo(String str)
对String类一些详细讲解:本人的认为总结比较经典的笔记
(1)字符串:多个字符组成的一串数据。
(2)构造方法:
A:String s = new String();
B:String s = new String(byte[] bys);
C:String s = new String(byte[] bys,int index,int length);
D:String s = new String(char[] chs);
E:String s = new String(char[] chs,int index,int length);
F:String s = new String(String str);
G:String s = “hello”;
(3)字符串的特点
1:字符串一旦被赋值,就不能改变。
注意:字符串的值不能改变,没有说引用变量不能改变。
2:面试题:
a:String s = new String(“hello”)和String s = "hello"的区别。
b:请写出结果:
String s1 = new String(“hello”);
String s2 = new String(“hello”);
System.out.println(s1s2);
System.out.println(s1.equals(s2));
String s3 = new String(“hello”);
String s4 = “hello”;
System.out.println(s3s4);
System.out.println(s3.equals(s4));
String s5=“hello”;
String s6 = “hello”;
System.out.println(s5==s6);
System.out.println(s5.equals(s6));
(4)成员方法(补齐方法意思)
1:判断功能
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean startsWith(String str)
boolean endsWith(String str)
boolean isEmpty()
2:获取功能
int length()
char charAt(int index)
int indexOf(int ch)
int indexOf(String str)
int indexOf(int ch,int fromIndex)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)
3:转换功能
byte[] getBytes()
char[] toCharArray()
static String copyValueOf(char[] chs)
static String valueOf(char[] chs)
static String valueOf(int i)
String toLowerCase()
String toUpperCase()
String concat(String str)
4:其他功能
a:替换功能
String replace(char oldChar,char newChar)
String replace(String oldString,String newString)
b:切割功能
String[] split(String regex)
c:去除两端空格功能
String trim()
d:字典顺序比较功能
int compareTo(String str)
int compareToIgnoreCase(String str)

Scanner 扫描器相关推荐

  1. Java基础之 Scanner 扫描器

    学习Demo:Demo1 Scanner类:Java的输入类 Scanner类既可以读字符,也可以读字符串和整数 码上行动:Demo1 import java.util.Scanner;/*** Ja ...

  2. java中Scanner扫描器

    Scanner扫描器 在java中,如果要动态接收数据,给变量赋值,我们需要使用一个对象: Scanner-----------------扫描器 Scanner:扫描器 作用:动态接收数据 @@@@ ...

  3. Scanner:扫描器

    package com.softeem;import java.util.Scanner; import java.util.Arrays; import java.util.Scanner;/*** ...

  4. 使用Scanner扫描器时NoSuchElementException异常

    当我们在使用控制台输入操作时,最常用到的是扫描器Scanner工具类,但一般使用该类都忘记了关闭资源,最近写代码时特意每次使用都执行了关闭操作,结果出现了异常NoSuchElementExceptio ...

  5. java基础之Scanner扫描器的简单使用

    案例一: import java.util.Scanner;/*** 接收字符串*/ public class Test1 {public static void main(String[] args ...

  6. java scanner_Java Scanner nextLong()方法与示例

    java scanner 扫描器类的nextLong()方法 (Scanner Class nextLong() method) Syntax: 句法: public long nextLong(); ...

  7. java scanner_Java Scanner match()方法与示例

    java scanner 扫描器类match()方法 (Scanner Class match() method) match() method is available in java.util p ...

  8. java scanner_Java Scanner radix()方法与示例

    java scanner 扫描器类radix()方法 (Scanner Class radix() method) radix() method is available in java.util p ...

  9. java 扫描器的使用练习

    import java.util.Scanner; 扫描器的使用练习 public class Han{ public static void main(String[] args){// Scann ...

最新文章

  1. 天翼云从业认证(3.2)天翼云存储产品
  2. Nginx七层负载均衡的案例
  3. Oracle RMAN Recover中使用BBED 跳过缺失的归档 继续 Recover 的测试
  4. 微服务统计,分析,图表,监控一体化的HttpReports项目在.Net Core 中的使用
  5. java jsr_Java EE 7中包含哪些JSR?
  6. php关闭gd库,详解php开启gd库的两种方法
  7. minion java上传文件_Java程序员如何快速理解Kubernetes
  8. selenium拖动元素java_使用Java在Selenium WebDriver中聚焦元素的正确方法
  9. c语言编写的键盘记录程序,C程序读取键盘码的方法
  10. 当FORM的ENCTYPE=quot;multipart/form-dataquot; 时request.getParameter()获取不到
  11. C调用Python的示例代码
  12. 项目-基于SSM的订餐管理系统
  13. 第九章 虚拟内存 第八节 内存映射
  14. 磁共振影像分析之: 基于FSL的VBM分析(2)
  15. 计算机广告制作专业范围,计算机广告制作专业
  16. 淘宝API item_search_similar - 搜索相似的商品
  17. ansible aws_如何使用Ansible管理您的AWS资源
  18. 绿色版本ps cs5 不能复制汉字【解决方法】
  19. 企业应尽早使用BIM技术——BIM带来的优势
  20. 虚拟机hyper-v安装win7操作系统网络连接红叉失败

热门文章

  1. elementUI+froalaEditor实现仿微信公众号富文本编辑器
  2. 添加获取手机录音权限的功能
  3. 三星s6 html5测试分数,三星S6 Edge跑分测试出炉
  4. 请简要叙述在微型计算机使用过程都需要注意哪些事项?并说明了理由.,应用写作模拟试题及答案(参考模板)...
  5. 自学考试-“管理经济学”
  6. 在线资源链接 占位图 配色
  7. avada 修改head.php,php - 使用WordPress Avada子主题将主徽标链接到自定义URL而不是首页? - 堆栈内存溢出...
  8. EMID|FDX-B格式134.2KHZ低频RFID标签编码器读写器CK-A05性能与写卡操作说明
  9. 通过commons-email-1.5简单实现邮件发送
  10. [Javascript]:BOM对象详解和BOM与DOM的层次关系