本文链接:https://blog.csdn.net/weixin_45084986/article/details/131268858
一、输出语句
Java常用的输出语句有三种:
1)System.out.println();
换行输出,输出后会自动换行。
1 2 3 4 5 6 7 8
| System.out.println("Hello"); System.out.println("World");
Hello World
|
2)System.out.print();
不换行输出。
1 2 3 4 5 6
| System.out.print("Hello"); System.out.print("World");
HelloWorld
|
3)System.out.printf();类似C语言的printf()输出语句
按格式输出。
常见的格式控制符如下:
1 2 3 4 5 6 7 8 9
| 格式控制符 说明 -------------------------------------------------- %d 输出int型数据 %c 输出char型数据 %f 输出浮点型数据,小数部分最多保留6位 %s 输出字符串数据 %md 输出的int型数据占m列 %m.nf 输出的浮点型数据占m列,小数点保留n位
|
1 2 3 4 5 6
| int m = 16; System.out.printf("%d",m);
16
|
1 2 3 4 5 6 7 8
| int a = 8; int m = 16; float n = 3.1415926f; System.out.printf("%6d,%6d,%6.2f", a, m, n);
8, 16, 3.14
|
二、输入语句
[!NOTE]
键盘输入代码的四个步骤:
1、导包:import java.util.Scanner;
2、创建Scanner类型的对象:Scanner scanner= new Scanner( System.in) ;
3、调用Scanner类的相关方法(next() / nextXxx()) ,来获取指定类型的变量
4、释放资源:调用Scanner对象的close()方法, scanner.close();
2.1、Scanner基础用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入:" ); String str1 = scanner.next(); System.out.println("输入的数据为:" + str1); scanner.close(); }
}
|
2.2、标准写法
需要断是否还有输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入:" ); if(scanner.hasNext()){ String str1 = scanner.next(); System.out.println("输入的数据为:" + str1); } scanner.close(); }
}
|
2.3、String 字符串类型数据输入
String 类型字符串输入有两种方法:next() 和 nextLine();但是next() 和 nextLine()是有区别的,项目看详细例子。
2.3.1、使用next()方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入:" ); if(scanner.hasNext()){ String str1 = scanner.next(); System.out.println("输入的数据为:" + str1); } scanner.close(); }
}
|
观察上面输出结果,发现没有输出world
,即第一个空格后面的字符串不读取,只读取第一个空格前面的字符串
2.3.2、使用nextLine()方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入:" ); if(scanner.hasNextLine()){ String str1 = scanner.nextLine(); System.out.println("输入的数据为:" + str1); } scanner.close(); }
}
|
nextLine()方法返回的是输入回车之前的所有字符,包括空格。
2.4、整数类型输入
2.4.1、整数 byte 类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:" ); if (scanner.hasNextByte()) { byte i = scanner.nextByte(); System.out.println("接收整数数据:" + i); } else { System.out.println("输入的不是整数!"); } scanner.close(); }
}
|
2.4.2、整数 short 类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:" ); if (scanner.hasNextShort()) { short i = scanner.nextShort(); System.out.println("接收整数数据:" + i); } else { System.out.println("输入的不是整数!"); } scanner.close(); }
}
|
2.4.3、整数 int 类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:" ); if (scanner.hasNextInt()) { int i = scanner.nextInt(); System.out.println("接收整数数据:" + i); } else { System.out.println("输入的不是整数!"); } scanner.close(); }
}
|
2.4.4、整数 long 类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:" ); if (scanner.hasNextLong()) { long i = scanner.nextLong(); System.out.println("接收整数数据:" + i); } else { System.out.println("输入的不是整数!"); } scanner.close(); }
}
|
2.5、浮点数输入
2.5.1、浮点数 float 输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入小数或整数:" ); if (scanner.hasNextFloat()) { float i = scanner.nextFloat(); System.out.println("接收小数数据:" + i); } else { System.out.println("输入的不是整数或小数数据!"); } scanner.close(); }
}
|
2.5.2、浮点数 double 类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入小数或整数:" ); if (scanner.hasNextDouble()) { double i = scanner.nextDouble(); System.out.println("接收小数数据:" + i); } else { System.out.println("输入的不是整数或小数数据!"); } scanner.close(); }
}
|
2.6、boolean 布尔类型输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入布尔值:" ); if (scanner.hasNextBoolean()) { boolean i = scanner.nextBoolean(); System.out.println("接收布尔数据:" + i); } else { System.out.println("输入的不是布尔数据!"); } scanner.close(); }
}
|
2.7、char 字符型数据输入
Scanner类中提供了获取byte \ short \ int \ long \float \double \boolean \ String 类型变量的方法。
但是,没有提供获取char类型变量的方法。需要使用next().charAt(0)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import java.util.Scanner;
public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入:" ); if (scanner.hasNext()) { char i = scanner.next().charAt(0); System.out.println("接收数据:" + i); } scanner.close(); }
}
|