day12-1学习过程笔记

1.Scanner类(了解)

  • 概述:JDK5以后出现的用于键盘录入数据的类

  • 构造方法:day12_Scanner cn.itcast_01

  • Scanner sc = new Scanner(System.in);

  • 原理:public static final InputStream in;是System类下一个静态的字段,表示标准的输入流,对应于键盘录入
    InputStream is = System.in;
    Scanner(InputStream is)

  • 常用的成员方法:

  • hasNextXxx() 判断是否是某种类型的

  • nextXxx() 返回某种类型的元素 //掌握!
    常用:
    public int nextInt():获取一个int类型的值
    public String nextLine():获取一个String类型的值

    了解(开发中不用控制台所以一般遇不到):
    同一个Scanner对象,先获取数值,再获取字符串,因为换行符号,会出现一个小问题。
    解决方案:
    a:重新定义一个Scanner对象
    b:把所有的数据都用字符串获取,然后要什么,你就对应的转换为什么 //推荐方案

2.String类(掌握) //开发中最常见的类没有之一

  • 字符串定义:就是由多个字符组成的一串数据。也可以看成是一个字符数组

  • 字符串的特点:

  • API中规定:
    字符串字面值"abc"也可以看成是一个字符串对象;
    字符串是常量,一旦被赋值,就不能被改变 //这里值字符串的内容不能改变,而不是引用不能改变,如下图:
    在这里插入图片描述

  • 构造方法 //了解就好

  • 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):把字符串常量值转成字符串

  • 下面的这一个虽然不是构造方法,但是结果也是一个字符串对象
    String s = “hello”; //最常用这种

  • 面试题:

  • String s = new String(“hello”);和String s = “hello”;有没有区别?
    有。前者会创建2个对象,后者创建1个对象,如下图
    在这里插入图片描述

  • 看程序写结果: day12_String cn.itcast_02的Demo3和4

    System.out.println(s3 == "hello" + "world");// false 这个做错错了,应该是true

    总结:
    字符串如果是变量相加,先开空间,在拼接 字符串
    如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建

  • 字符串的一个成员方法
    public int length():返回此字符串的长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值