博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记——输入输出数据
阅读量:5908 次
发布时间:2019-06-19

本文共 3233 字,大约阅读时间需要 10 分钟。

输入基本型数据

Scanner scanner = new Scanner(System.in);

①scanner.next();        //  next()方法是只读取一个字符串。

②scanner.nextLine();      //  nextLine()方法是只读取一行。

③scanner,nextInt();       //  除此之外,nextFloat()方法是只读取一个浮点类型的输入,nextInt()方法是只读取一个整型数值。

上述方法在执行时都会发生阻塞,程序等待用户在命令行输入数据并按Enter键确认。

 

按顺序举栗子:

1 /* 2   该类是next()方法输入输出测试 3 */ 4 import java.util.Scanner; 5  6 public class ScannerExc{ 7     public static void main(String args[]){ 8         System.out.println("请输入:"); 9             Scanner scanner = new Scanner(System.in);10             String apps = "";11             while(scanner.hasNext()){//最后需要按Ctrl+Z结束输入12                 String app = scanner.next();13                 apps += app;  //拼接字符串不建议这么写14             }15             System.out.println(apps);16     }17 }

       

next()方法可以获取任意有效字符,返回值得类型是String。

默认情况下,scanner以空格和换行作为分隔符(空格,TAB键,Enter键),所以不会获得带有空格的字符串。

 

1 /* 2   该类是nextInt()方法输入输出测试 3 */ 4 import java.util.Scanner; 5  6 public class ScannerExc{ 7     public static void main(String args[]){ 8         System.out.println("请输入若干个整型数据:"); 9             Scanner scanner = new Scanner(System.in);10             int app = scanner.nextInt();11             int apps = 0;12             while(app!=0){//最后需要输入0结束输出13                 apps += app;//拼接字符串不建议这么写14                 app = scanner.nextInt();15             }16             System.out.println("总和是:"+apps);17     }18 }

     

nextInt(),nextFloat()这类nextXxx()方法可以获得相应的基本类型数据的输入,返回值类型是相应的基本类型。

 

1 /* 2   该类是nextLine()方法输入输出测试 3 */ 4 import java.util.Scanner; 5  6 public class ScannerExc{ 7     public static void main(String args[]){ 8         System.out.println("请输入:"); 9         Scanner scanner = new Scanner(System.in);10         String apps = "";11         while(scanner.hasNext()){
//最后需要按Ctrl+Z结束输入12 String app = scanner.nextLine();13 apps += app;//拼接字符串不建议这么写14 }15 System.out.println(apps);16 }17 }

  

nextLine()方法是一行一行读取,可以读取空格和TAB键,返回值的类型是String。

PS:代码中拼接字符串不建议这么写的原因是性能太差。推荐两篇关于字符串拼接方式性能比较的博客:

https://www.cnblogs.com/Faith-zhang/p/6374834.html

https://www.cnblogs.com/wxmdevelop/p/5182286.html

 

 输出基本型数据

System.out.println()或System.out.print()可输出串值、表达式的值,两者的区别是前者输出数据后换行,后者不换行。

该方法允许使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置在一起输出,例如:

System.out.println("总和是"+apps);

 

需要注意的是,输出字符串常量时,不可以出现“回车”,以下的写法是错误的:

System.out.println("你总是心太软

            心太软");

如果字符串长度较长,可以将字符串分解成几部分:

System.out.println("你总是心太软"+

            "心太软");

 

另外,JDK1.5以后新增了和C语言printf函数类似的数据输出方法:

System.out.printf("格式控制部分",表达式1,表达式2);

System.out.printf("%d,%f",12,23.78);

 

格式控制部分由格式控制符号%d,%c,%f,%s和普通字符组成,普通字符原样输出,格式符号用来输出表达式的值。

  • %d:输出int型数据值
  • %c:输出char型数据
  • %f:输出浮点型数据,小数部分最多保留6位
  • %s:输出字符串数据

在输出数据时也可以控制数据在命令行中的位置。

  • %md:输出的int型数据占m列
  • %m.nf:输出的浮点型数据占m列,小数点保留n位
1 /* 2   该类是printf()方法输入输出测试 3 */ 4 import java.util.Scanner; 5  6 public class ScannerExc{ 7     public static void main(String args[]){ 8         System.out.println("请输入:"); 9         Scanner scanner = new Scanner(System.in);10         String apps = "";11         while(scanner.hasNext()){
//!scanner.hasNext("0")12 String app = scanner.nextLine();13 apps += app;14 }15 System.out.printf("你刚刚输入了%s。",apps);16 }17 }

 

转载于:https://www.cnblogs.com/huangchengzhi/p/9157832.html

你可能感兴趣的文章
sigar模块之python api简单的使用--获取cpu信息
查看>>
Ubuntu中无法将属主改为域帐号解决办法
查看>>
iptables的状态检测机制
查看>>
Go语言之嵌入类型
查看>>
PIX7.0软件的安装及ASDM可视化管理软件的安装
查看>>
python中os.listdir的排序问题
查看>>
linux系统学习第六天
查看>>
如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录...
查看>>
tomcat配置安装1
查看>>
web安全---Token
查看>>
接口规范 11. 串流相关接口
查看>>
lvs+keepalived部署高可用集群
查看>>
PyYAML中文文档
查看>>
centos7上Apache+Tomcat 环境搭建
查看>>
【故障处理】ORA-12162 错误的处理
查看>>
用maven将swing项目打成可执行jar包(含依赖)
查看>>
Rowid和Rownum的区别
查看>>
Linux系统配置文件(红帽)7
查看>>
关于jenkins邮件配置
查看>>
Centos6 系统启动过程
查看>>