2019-06-1 java学习日记

Scanner的概述和方法介绍

Scanner的构造方法原理

Scanner(InputStream source)

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

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

一般方法:

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

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

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

两个常用的方法:

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

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

nextInt()是键盘录入整数的方法,当我们录入整数的时候
其实在键盘上录入的是整数和 ,nextInt()方法只获取10就结束了
nextLine()是键盘录入字符串的方法,
可以接收任意类型,但是他只要遇到 就证明一行结束
注:这是它们两个一起用的一个弊端

问题解决方案 

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

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

String类的概述

通过JDK提供的API,查看String类的说明,可以看到这样的两句话:

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

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

String类的构造方法

常见构造方法:

1,public String():空构造

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

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

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

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

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

 

 1 public class Demo2_StringCon {
 2 public static void main(String[] args) {
 3     String s1 = new String();
 4     System.out.println(s1);
 5         
 6     byte[] arr1 = {97,98,99};        
 7     String s2 = new String(arr1);     //解码,将计算机读的懂的转换成我们读的懂
 8     System.out.println(s2);
 9         
10     byte[] arr2 = {97,98,99,100,101,102};
11     String s3 = new String(arr2,2,3);    //将arr2字节数组从2索引开始转换3个               
12     System.out.println(s3);
13         
14     char[] arr3 = {'a','b','c','d','e'};            //将字符数组转换成字符串
15     String s4 = new String(arr3);
16     System.out.println(s4);
17         
18     String s5 = new String(arr3,1,3);    //将arr3字符数组,从1索引开始转换3个
19     System.out.println(s5);
20         
21     String s6 = new String("heima");
22     System.out.println(s6);
23     }
24 
25 }
例子

 

 

原文地址:https://www.cnblogs.com/Sherwin-liao/p/10961532.html