专栏首页Java学习网Java基础知识之Scanner类和String类学习,讲明白了,适合初学者

Java基础知识之Scanner类和String类学习,讲明白了,适合初学者

1、Scanner 的概述和方法介绍

A:Scanner 的概述

B:Scanner 的构造方法原理

Scanner(InputStream source)

System 类下有一个静态的字段:

public static final InputStream in; 标准的输入流,对应着键盘录入。

C: 一般方法

hasNextXxx() 判断是否还有下一个输入项 , 其中 Xxx 可以是 Int,Double 等。如果需要判断是否包含下一个字符串,则可以省略 Xxx

nextXxx() 获取下一个输入项。 Xxx 的含义和上个方法中的 Xxx 相同 , 默认情况下, Scanner 使用空格,回车等作为分隔符

网络配图

2、Scanner 获取数据出现的小问题及解决方案

A: 两个常用的方法:

public int nextInt(): 获取一个 int 类型的值

public String nextLine(): 获取一个 String 类型的值

B: 案例演示

a: 先演示获取多个 int 值,多个 String 值的情况

b: 再演示先获取 int 值,然后获取 String 值出现问题

c: 问题解决方案

第一种:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。

第二种:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。 ( 后面讲 )

3、String 类的概述

A:String 类的概述

通过 JDK 提供的 API ,查看 String 类的说明

可以看到这样的两句话。

a: 字符串字面值 "abc" 也可以看成是一个字符串对象。

b: 字符串是常量,一旦被赋值,就不能被改变。

网络配图

4、String 类的构造方法

A: 常见构造方法

public String(): 空构造

public String(byte[] bytes): 把字节数组转成字符串

public String(byte[] bytes,int index,int length): 把字节数组的一部分转成字符串

public String(char[] value): 把字符数组转成字符串

public String(char[] value,int index,int count): 把字符数组的一部分转成字符串

public String(String original): 把字符串常量值转成字符串

B: 案例演示

演示 String 类的常见构造方法

5、String 类的常见面试题

(1)、 判断定义为 String 类型的 s1 和 s2 是否相等

String s1 = "abc";

String s2 = "abc";

System.out.println(s1 == s2);

System.out.println(s1.equals(s2));

(2)、下面这句话在内存中创建了几个对象 ?(思考题,在评论中回答)

String s1 = new String("abc");

网络配图

(3)、判断定义为 String 类型的 s1 和 s2 是否相等

String s1 = new String("abc");

String s2 = "abc";

System.out.println(s1 == s2);

System.out.println(s1.equals(s2));

(4)、判断定义为 String 类型的 s1 和 s2 是否相等

String s1 = "a" + "b" + "c";

String s2 = "abc";

System.out.println(s1 == s2);

System.out.println(s1.equals(s2));

(5)、 判断定义为 String 类型的 s1 和 s2 是否相等

String s1 = "ab";

String s2 = "abc";

String s3 = s1 + "c";

System.out.println(s3 == s2);

System.out.println(s3.equals(s2));

(6)、String 类的判断功能

A:String 类的判断功能

boolean equals(Object obj): 比较字符串的内容是否相同 , 区分大小写

boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同 , 忽略大小写

boolean contains(String str): 判断大字符串中是否包含小字符串

boolean startsWith(String str): 判断字符串是否以某个指定的字符串开头

boolean endsWith(String str): 判断字符串是否以某个指定的字符串结尾

boolean isEmpty(): 判断字符串是否为空。

本文分享自微信公众号 - Java学习网(javalearns),作者:javalearns

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Shiro无状态Web应用集成--Java学习网

    在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录。如一些REST风...

    用户1289394
  • 通常Java开发人员如何进行数据排序?

    在实际工作中和平时学习中,以及分析开源Java项目的大量源代码后,我发现Java开发人员通常使用两种方法。一是使用Collections或 Arrays的 so...

    用户1289394
  • Java中application对象的19个常用方法

    applicaton表示一个javax.servlet.ServletContext对象。他实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服...

    用户1289394
  • java中两个map比较

    ydymz
  • 这样规范写代码,同事直呼“666”

    zhisheng
  • 如何更规范化编写 Java 代码

    如何更规范化编写 Java 代码的重要性想必毋需多言,其中最重要的几点当属提高代码性能、使代码远离 Bug、令代码更优雅。

    淡定的蜗牛
  • Java——String类使用详解(实例化、字符串比较、匿名对象、两种实例化方法的区别)

    String类不是一个基本数据类型,它是一个类,这个类设计过程种加入了Java的特殊支持,其实例化形式有两种形式:

    Winter_world
  • QQ小程序支付

    首先是配置类,设置为包内访问权限,其实应该放于properties文件,或者直接配置在xml中,偷了个懒直接写在了代码中

    WindrunnerMax
  • 这样规范写代码,同事直呼“666”

    Java团长
  • 大数据算法设计模式(2) - 左外链接(leftOuterJoin) spark实现

    左外链接(leftOuterJoin) spark实现 package com.kangaroo.studio.algorithms.join; impor...

    用户1225216

扫码关注云+社区

领取腾讯云代金券