【178天】黑马程序员27天视频学习笔记【Day12-上】

叨逼叨两句

累死了

Scanner类

  1. 构造方法原理

    1. Scanner(InputStream source)
    2. System类下有一个静态的字段:
        public static final InputStream in;标准的输入流,对应着键盘录入。
  2. 一般方法

    hasNextXXX(): 判断输入值的类型
    nextXXX():获取输入值
  3. 默认情况下,Scanner使用空格,回车作为分隔符。
  4. Scanner获取数据出现的小问题及解决方案

    package test_heima;
    
    import java.util.Scanner;
    
    public class Test_kk {
        public static void main(String[] args) {
            //都输入整数的情况
            /*Scanner sc = new Scanner(System.in);
            System.out.println("第一个整数");
            int i = sc.nextInt();
            System.out.println("第二个整数");
            int j = sc.nextInt();
            System.out.println("i: " + i + " j: " + j);*/
            
            //都输入字符串的情况
            /*Scanner sc = new Scanner(System.in);
            System.out.println("第一个字符串");
            String i = sc.nextLine();
            System.out.println("第二个字符串");
            String j = sc.nextLine();
            System.out.println("i:"+i+" j: "+j);*/
            
            //既输入字符串又输入整数的情况,这种情况会出错,因为当你输入整数后你会打一个回车,而回车就相当于/r/n,
            //而nextLine遇见/r/n就会视为结束。
            /*Scanner sc = new Scanner(System.in);
            System.out.println("第一个整数");
            int i = sc.nextInt();
            System.out.println("第二个字符串");
            String j = sc.nextLine();
            System.out.println("i: " + i + " j: " + j);*/
            
            //解决方案1:再新建一个对象,不推荐
            /*Scanner sc1 = new Scanner(System.in);
            Scanner sc2 = new Scanner(System.in);
            
            System.out.println("第一个整数");
            int i = sc1.nextInt();
            
            System.out.println("第二个字符");
            String j = sc2.nextLine();
            
            System.out.println("i"+i+" j: "+j);*/
            
            //解决方案2:全部用nextLine()接收,再转换,推荐
            
            
        }
    }

String类

String字符串不能被改变的含义

package test_heima;

public class Demo1 {
    public static void main(String[] args) {
        //每一个字符串都是String类的实例
        //String不能被改变,是指不能用setter方法去修改下例中“abc”和“def”的值,具体引用指向哪管不着。
        String a = "abc";
        System.out.println(a);
        a = "def";
        System.out.println(a);
    }
}

相关推荐