1:Scanner的使用(了解)
    (1)在JDK5以后出现的用于键盘录入数据的类。

(2)构造方法:

A:讲解了System.in这个东西。
            它其实是标准的输入流,对应于键盘录入
        B:构造方法
            InputStream is = System.in;

Scanner(InputStream is)
        C:常用的格式
            Scanner sc = new Scanner(System.in);
    (3)基本方法格式:
        A:hasNextXxx() 判断是否是某种类型的
        B:nextXxx()    返回某种类型的元素
    (4)要掌握的两个方法
        A:public int nextInt()
        B:public String nextLine()
    (5)需要注意的小问题
        A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。
        B:解决方案:
            a:重新定义一个Scanner对象
            b:把所有的数据都用字符串获取,然后再进行相应的转换

2:String类的概述和使用(掌握)
    (1)多个字符组成的一串数据。
        其实它可以和字符数组进行相互转换。
    (2)构造方法:
        A:public String()
        B:public String(byte[] bytes)
        C:public String(byte[] bytes,int offset,int length)
        D:public String(char[] value)
        E:public String(char[] value,int offset,int count)
        F:public String(String original)
        下面的这一个虽然不是构造方法,但是结果也是一个字符串对象
        G:String s = "hello";
    (3)字符串的特点
        A:字符串一旦被赋值,就不能改变。
            注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
        B:字面值作为字符串对象和通过构造方法创建对象的不同
            String s = new String("hello");和String s = "hello"的区别?

      一个是在堆上创建,一个是在方法区的常量区创建。

      其中String s = new String("hello")是在堆上创建,再创建的过程中,回去方法区查找“hello”的存在,若存在即返回对应的内存地址给堆上的对象。若不存在就创建,再返回创建后的地址值。

        String s = "hello"是直接去查找方法区,若存在就返回地址值给s,若不存在,则创建后再返回。
    (4)字符串的面试题(看程序写结果)

   注意: “==”比较的是对象的地址值,equals是object类中的方法,默认比较的也是地址值,一般情况下,子类都会重写equals方法。
        A:==和equals()
            String s1 = new String("hello");
            String s2 = new String("hello");
            System.out.println(s1 == s2);// false
            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
        B:字符串的拼接
            String s1 = "hello";
            String s2 = "world";
            String s3 = "helloworld";
            System.out.println(s3 == s1 + s2);// false
            System.out.println(s3.equals((s1 + s2)));// true

System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true
            System.out.println(s3.equals("hello" + "world"));// true
    (5)字符串的功能(自己补齐方法中文意思)
        A:判断功能
            boolean equals(Object obj)
            boolean equalsIgnoreCase(String str)
            boolean contains(String str)
            boolean startsWith(String str)
            boolean endsWith(String str)
            boolean isEmpty()
        B:获取功能(查询功能)
            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)
        C:转换功能
            byte[] getBytes()
            char[] toCharArray()
            static String valueOf(char[] chs)
            static String valueOf(int i)
            String toLowerCase()
            String toUpperCase()
            String concat(String str)
        D:其他功能
            a:替换功能
                String replace(char old,char new)
                String replace(String old,String new)
            b:去空格功能
                String trim()
            c:按字典比较功能
                int compareTo(String str)
                int compareToIgnoreCase(String str)
    (6)字符串的案例
        A:模拟用户登录
        B:字符串遍历
        C:统计字符串中大写,小写及数字字符的个数
        D:把字符串的首字母转成大写,其他小写
        E:把int数组拼接成一个指定格式的字符串
        F:字符串反转
        G:统计大串中小串出现的次数

Java中的Scanner类和String类的更多相关文章

  1. 全面解释java中StringBuilder、StringBuffer、String类之间的关系

    StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...

  2. java中StringBuilder、StringBuffer、String类之间的关系

    今天在CSDN的高校俱乐部里看到了"Java基础水平測试(英文)".感觉自己学了java这么久,想看下自己的java水平究竟是个什么样.測试结果就不说了,反正是慘不忍睹. 看了一下 ...

  3. Java Object类 和 String类 常见问答 6k字+总结

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  4. Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...

  5. java中只能有一个实例的类的创建

    Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; / ...

  6. Java第二次作业——数组和String类

    Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...

  7. Java的常用类——Object类、String类

    Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口) ...

  8. Java面试炼金系列 (1) | 关于String类的常见面试题剖析

    Java面试炼金系列 (1) | 关于String类的常见面试题剖析 文章以及源代码已被收录到:https://github.com/mio4/Java-Gold 0x0 基础知识 1. '==' 运 ...

  9. C#中 StringBuilder类 与 String类的区别---(转)

      在找工作的时候,去了些公司,避免不了要面试和笔试.不过一般最起初的是笔试.我印象中有这样有一道题目:StringBuilder类与 String类的区别?那时候我不太清楚这两个类的区别,今天在看代 ...

  10. Java基本数据类型、包装类与String类之间的转换

    一.基本数据类型与包装类之间的转换: import org.junit.Test; public class MainTest { /** * 基本数据类型与包装类之间的转换 */ @Test pub ...

随机推荐

  1. Upload file

    <h3>Upload File</h3> <form action="@Url.Action("Upload","UploadCo ...

  2. ipcs命令

    unix/linux下的共享内存.信号量.队列信息管理 在unix/linux下,经常有因为共享内存.信号量,队列等共享信息没有干净地清楚而引起一些问题. 查看共享信息的内存的命令是ipcs [-m| ...

  3. LA 3523 圆桌骑士

    题目链接:http://vjudge.net/contest/141787#problem/A http://poj.org/problem?id=2942 此题很经典 知识点:DFS染色,点-双连通 ...

  4. 华东交通大学2016年ACM“双基”程序设计竞赛 1008

    Problem Description halfyarn找你写个简单的题?好哒!给你n个整数,现在要求你选择两个位置的数,例如选择第pos_a个数a,和第pos_b个数b,给定ans=min(a,b) ...

  5. CSS 定位

    一.CSS 定位和浮动   它们代替了多年来的表格布局.   定位的思想很简单,相对于正常位置.相对于父元素.另一个元素甚至是浏览器窗口的位置.   浮动在 CSS1 中被首次提出.浮动不完全是定位, ...

  6. Visual Studio的Web Performance Test提取规则详解(1)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

  7. mysql 日期格式化

    SELECT plc.id, plc.policy_no, plc.out_date, og.organ_name, ir.insurer_name, pd.product_name, plc.pol ...

  8. shell学习笔记1

    知识点1.修改输出的颜色 echo -e "\e[1;31m This is red text \e[0m" 其中,\e[1;31m 表示将输出显示为红色: \e[0m 标识将颜色 ...

  9. 学习mongo系列(七)aggregate() ,$group() 管道

    aggregate()聚合,主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 接上边的数据库: > db.user.aggregate ...

  10. 解决方法 test: database removal failed: ERROR: database "test" is being accessed by other users

    select * from pg_stat_activity where datname='test'; 找出哪个进程用了这个数据库,然后删除这个进程(pid) kill -9 47182 然后再删除 ...