Java的输入和输出

一、Java的输入

方法一:从控制台接收一个字符,然后将其打印出来
import java.io.*;
public static void main(String [] args) throws IOException{ 
         System.out.print("Enter a Char:"); 
         char i = (char) System.in.read(); 
         System.out.println("your char is :"+i); 
虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

方法二:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
import java.io.*;
public static void main(String [] args) throws IOException{ 
           BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
           String str = null; 
           System.out.println("Enter your value:"); 
           str = br.readLine(); 
           System.out.println("your value is :"+str); 
}
这样我们就能获取我们输入的字符串。

方法三:这种方法我认为是最简单,最强大的,就是用Scanner类
import java.util.Scanner;
public static void main(String [] args) { 
         Scanner sc = new Scanner(System.in); 
         System.out.println("请输入你的姓名:"); 
         String name = sc.nextLine(); 
         System.out.println("请输入你的年龄:"); 
         int age = sc.nextInt(); 
         System.out.println("请输入你的工资:"); 
         float salary = sc.nextFloat(); 
         System.out.println("你的信息如下:"); 
         System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); 
}
这段代码已经表明,Scanner类不管是对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能!无疑他是最强大的!
 
注:在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。

一、Java的输出

1.    Sys.out.println("Hello Word")       //输出并且换行


 

2.    Sys.out.print("Hello Word")       //输出不换行


 

3.    Sys.out.printf("姓名:"+%s,name)       //按格式输出
目前printf支持以下格式: 
          %c        单个字符 
          %d        十进制整数 
          %f        十进制浮点数 
          %o        八进制数 
          %s        字符串 
          %u        无符号十进制数 
          %x        十六进制数 
          %%        输出百分号% 
下面对组成格式说明的各项加以说明: 
①%:表示格式说明的起始符号,不可缺少。 
②-:有-表示左对齐输出,如省略表示右对齐输出。 
③0:有0表示指定空位填0,如省略表示指定空位不填。 
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。 
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。 
1 package com.hone.test;
 2 
 3 // "%"表示进行格式化输出, "%"之后的内容为格式的定义。
 4 public class Printf {
 5     public static void main(String[] args) {
 6         double d = 345.678;
 7         String s = "hello World";
 8         int a = 123;
 9         
10                 //浮点型的输出
11         System.out.printf("%,d",a);            //格式化输出数据,每三个数据加上一个,
12         System.out.println();
13         System.out.printf("%f", d);            // 345.678000
14         System.out.println();
15             //"9.2"中的9表示输出的长度,2表示小数点后的位数。  345.678位数不够前面不上空格
16         System.out.printf("%9.3f", d);    
17         System.out.println();
18         System.out.printf("%+9.3f", d);            //"+"表示输出的数带正负号
19         System.out.println();
20         System.out.printf("%-9.3f", d);            //"-"表示输出的数左对齐(默认为右对齐)
21         System.out.println();
22         System.out.printf("%+-9.3f",d);            //"+-"表示输出的数带正负号且左对齐
23         System.out.println();
24         
25                 //整型的输出
26         System.out.printf("%d", a);                //"d"表示输出十进制整数。
27         System.out.println();
28         System.out.printf("%04d", a);            //规定为4位,不够左边添加0
29         System.out.println();
30         System.out.printf("%d%%", a);            //如果想输出百分数,则连续用两个  %%
31         System.out.println();
32         System.out.printf("%o", a);                //"o"表示输出八进制整数。
33         System.out.println();
34         System.out.printf("%x", a);                //"x"表示输出八进制整数。
35         
36         
37         //字符串的输出
38         System.out.println();
39         System.out.printf("%s%n", s);                //输出字符串,其中 %n表示换行
40         
41         System.out.printf("输出一个浮点数:%.3f,一个整数:%d,一个字符串:%s",d,a,s);        //输出多个变量
42         
43     }
44 
45 }
View Code

 

 
posted @ 2018-12-01 19:41  发他扎花机  阅读(3113)  评论(0编辑  收藏  举报