10※、Scanner使用方法、字面值和变量值

Scanner的使用

    实现用户数据的交互,用户通过终端输入数据

    注意:使用Scanner需要导包

        import java.util.Scanner;

    - -next();//读取用户输入的字符串数据

    - -nextLine();//读取用户输入的一行数据 以换行符(回车)作为分隔

    - -nextInt();//读取用户输入的int整型数据 ,需要注意输入的数据类型要匹配;InputMismatchException输入的数据类型不匹配

    - -nextDouble();//读取用户输入的double浮点型数据

    注意:如果在nextLine();操作前使用了nextInt();nextDouble();等方法,nextLine()方法会读取到上面方法所输入的换行符。

    //修改默认的结束符

    scanner.useDelimiter(";");

    

import java.util.Scanner;

// Scanner键盘输入类、IO流输入
public class ScannerDemo{

  public static void main(String[] args){
    // 创建Scanner对象 
    Scanner sc = new Scanner(System.in);
	
	sc.useDelimiter(";");// 分隔符  默认的分隔符是回车符
   
    System.out.println("请输入数字:");
    
    // 读取数据  next方法会使得程序阻塞[等待]
    String input = sc.next();
    int num = sc.nextInt();// nextLine当上面有nextXXX方法是会读取该方法的回    
    车符  避免这种情况可以使用next方法 
    System.out.println("读到num:"+num);
    System.out.println("请输入信息:");
    
    String intput = sc.next();
    // String intput1 = sc.nextLine();// 用于比较
    System.out.println("读到信息:"+input);
    

    // 当你输入的字符串为a123时就会出现 编译报错:java.util.InputMismatchException
    // 因为这里程序使用的是nextInt类型 所以要输入整数型的数据
	
      }
    }
  }
}  

    

-- 练习:

public class Test{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入当前年份:");

		String year = sc.next();
		System.out.println("请输入当前月份");
		String month = sc.next();
		System.out.println("请输入当前日期");
		String day = sc.nextLine();
		System.out.println("当前是"+year+"年"+month+"月"+day+"日");
		
		// 判断是否有约
		System.out.println("今晚是否有约?"[1][2]);
		int isdate = sc.Intnext();//
		String isdate1 = isdate ==1?"今晚有约":"今晚没有约";
		System.out.println(isdate1);
		
	}
}

  

  ※字面值和变量值不一样.

  1. Java中的变量必须先声明再赋值才能访问,赋值时才会开辟内存空间。

     要求:字面值的数据类型和变量的数据类型一致。

  1. ※字面值是数据,字面值包括字符串型、整数型、浮点型、布尔型、字符型。eg:13.14,"abc",'A',true,false,100等等。
  2. ※变量值从本质上来说是内存中的一块空间,这块空间有“数据类型”,有“名字”,有“字面值”。因此,变量包含三部分:数据类型、名称、字面值

  

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Scanner类是Java中用于读取输入的类之一。它可以从多种数据源中读取输入,如文件、符串、标准输入等等。Scanner类有多个构造方法,用于实现不同的输入方式。 Scanner类的构造方法: 1. Scanner(File source):从文件中读取输入; 2. Scanner(InputStream source):从输入流中读取输入; 3. Scanner(String source):从符串中读取输入; 4. Scanner(Readable source):从可读对象中读取输入; 5. Scanner(ReadableByteChannel source):从可读节通道中读取输入; 6. Scanner(Path source):从文件路径中读取输入; 7. Scanner(File source, String charsetName):从指定编码的文件中读取输入; 8. Scanner(InputStream source, String charsetName):从指定编码的输入流中读取输入; 9. Scanner(ReadableByteChannel source, String charsetName):从指定编码的可读节通道中读取输入; 10. Scanner(Path source, String charsetName):从指定编码的文件路径中读取输入。 其中,第一个参数source表示输入源,可以是文件、输入流、符串等等。第二个参数charsetName表示编码格式,可以省略,默认为UTF-8编码。 使用Scanner类的步骤: 1. 创建Scanner对象,指定输入源和编码格式; 2. 使用nextXxx()或hasNextXxx()方法读取输入。 示例代码: ```java import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { try { // 从文件中读取输入 Scanner scanner1 = new Scanner(new File("input.txt"), "UTF-8"); while (scanner1.hasNextLine()) { String line = scanner1.nextLine(); System.out.println(line); } scanner1.close(); // 从标准输入中读取输入 Scanner scanner2 = new Scanner(System.in); System.out.println("请输入一个整数:"); int n = scanner2.nextInt(); System.out.println("您输入的整数是:" + n); scanner2.close(); // 从符串中读取输入 String input = "Hello World!"; Scanner scanner3 = new Scanner(input); while (scanner3.hasNext()) { String word = scanner3.next(); System.out.println(word); } scanner3.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } } ``` 注意:使用Scanner类读取输入时,需要记得关闭Scanner对象,否则会导致资源泄漏。可以使用try-with-resources语句来自动关闭Scanner对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lantzruk

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值