好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java中两种基本的输入方式小结

两种基本的输入方式

1.使用Scanner类

需要java.util包

构造Scanner类的对象,附属于标准输入流System.in,之后通过其中的方法获得输入。

常用的方法:nextLine();(字符串),nextInt();(整型数),nextDouble();(双精度型数)等等。

结束时使用close();方法关闭对象。

例子:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import java.util.*;

 

class IOTest {

     public static void main(String args[]) {

         Scanner sc = new Scanner(System.in);

         System.out.println( "enter your name:" );

         String name = sc.nextLine();

         System.out.println( "enter your age:" );

         int age = sc.nextInt();

         System.out.println( "enter your occupation:" );

         String occ = sc.next();

         System.out.println( "name:" + name + "\n" + "age:" + age + "\n" + "occupation:" + occ);

         sc.close();

     }

}

输入:
enter your name:
g28
enter your age:
20
enter your occupation:
student
输出:
name:g28
age:20
occupation:student

2.使用System.in.read();方法

需要java.io包。

System.in从标注输入获取数据,数据类型为InputStream。通过read();方法返回ASCII码,若返回值为-1,说明没有读取到任何字符结束工作。

使用时需要添加抛出声明或用try/catch包围。

例子:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import java.io.*;

class IOTest {

     public static void main(String args[]) {

         int c;

         System.out.println( "please enter the string:" );

         try {

             while ((c = System.in.read()) != - 1 )

                 {

                     System.out.print(( char )c); 

                 }

         } catch (IOException e) {

             System.out.println(e.toString());

         }

     }

}

输入:
please enter the string:
My name is g28.
输出:
My name is g28.

输入与输出的使用讲解

1.输入

Java的输入,我们用到Scanner类,可以用它创建一个对象

?

1

Scanner input = new Scanner(System.in);

然后input对象调用nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()方法来从输入流中获取数据。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

package com测试数据pany;        // 包

import java.util.Scanner;

public class code {

     public static void main(String[] args){

         // 扫描对象,用来扫描系统的输入

         Scanner input = new Scanner(System.in);

         int a = input.nextInt();        // 输入一个整型

         short b = input.nextShort();    // 输入一个短整型

         long c = input.nextLong();      // 输入一个长整型

         byte d = input.nextByte();      // 输入一个字节型

         float f = input.nextFloat();    // 输入一个单精度浮点型

         double g = input.nextDouble();  // 输入一个双精度浮点型

         // 输入字符串

         // nextLine() 和 next()都可以录入String型的,但是next()遇到空格就终止了,nextLine()可以把空格和空格后面的全部录入

         String s = input.nextLine();    // 录入一行,回车是终止符

         String ss = input.next();       // 遇到空格或回车都会终止·

         // 输入一个char类型

         // 获得用户输入字符串的第一个字符

         char ch = input.next().charAt( 0 );

     }

}

?多组输入:

?

1

2

3

4

5

6

7

8

9

10

11

import java.util.Scanner;

public class Mian {

     public static void main(String[] args) {

         Scanner cin = new Scanner(System.in);   // cin是自己定义的,这个是任意的

         while (cin.hasNext()) {

             int a = cin.nextInt();

             int b = cin.nextInt();

             System.out.println(a + b);

         }

     }

}

?T组输入:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

// 使用while循环

import java.util.Scanner;

public class Mian {

     public static void main(String[] args) {

         Scanner cin = new Scanner(System.in);   // cin是自己定义的,这个是任意的

         int T = cin.nextInt();

         while (T> 0 ) {

             int a = cin.nextInt();

             int b = cin.nextInt();

             System.out.println(a + b);

             T--;

         }

     }

}

// 使用for循环

import java.util.Scanner;

public class Mian {

     public static void main(String[] args) {

         Scanner cin = new Scanner(System.in);   // cin是自己定义的,这个是任意的

         int T = cin.nextInt();

         for ( int i= 0 ;i<T;i++)

          {

             int a = cin.nextInt();

             int b = cin.nextInt();

             System.out.println(a + b);

         }

     }

}

2.输出

2.1.1 println直接输出

使用语句System.out.println()输出,System.out.println()为输出并换行。

?

1

2

3

4

5

6

package com测试数据pany;

public class code {

     public static void main(String[] args){

         System.out.println( "Hello World" );

     }

}

2.1.2 println输出变量

?

1

2

3

4

5

6

7

package com测试数据pany;

public class code {

     public static void main(String[] args){

         int num = 10 ;

         System.out.println( "num的值为:" + num);

     }

}

输入num的值并且输出

?

1

2

3

4

5

6

7

8

9

package com测试数据pany;

import java.util.Scanner;

public class code {

     public static void main(String[] args){

         Scanner input = new Scanner(System.in);

         int num = input.nextInt();

         System.out.println( "num的值为:" + num);

     }

}

2.2.1 print

使用语句System.out.print()输出,System.out.print()为输出但是不会换行,如果想要换行需要\n。print()与println()的作用类似,都是输出,但唯一不同的是print()不会换行。

2.2.2 printf

jdk1.5新增了和C语言中printf函数类似的数据输出方法,

?

1

System.out.printf([格式控制部分],表达式 1 ,表达式 2 ,……,表达式n);


这里的用法与C语言和C++中的类似

?

1

2

3

4

5

6

7

8

9

package com测试数据pany;

import java.util.Scanner;

public class code {

     public static void main(String[] args){

         Scanner input = new Scanner(System.in);

         int num = input.nextInt();

         System.out.printf( "num的值为:%d\n" , num);

     }

}

3.输入输出实例

?

1

2

3

4

5

6

7

8

9

10

11

12

13

package com测试数据pany;

import java.util.Scanner;

public class code {

     public static void main(String[] args){

         Scanner input = new Scanner(System.in);

         // 输入圆的半径

         double radius = input.nextDouble();

         // 计算圆的面积

         double area = 3.14 * radius * radius;

         // 输出圆的面积,保留两位小数

         System.out.printf( "%.2f\n" ,area);   // 注意:在Java中double类型用%f输出(与C语言中的不同)

     }

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/g28_gwf/article/details/79306296

查看更多关于Java中两种基本的输入方式小结的详细内容...

  阅读:19次