输入输出(Java语言)
- 前言
- 输出到控制台
-
- System.out.println();
- System.out.print();
- System.out.printf();
- 格式化字符串
- 从键盘输入
前言
在C语言中,输入输出是比较简单的,我们都知道用printf()函数表示输出,scanf()表示输入,当然要引入头文件<stdio.h>的头文件,但是在Java语言中输入输出要复杂的多那么这次就专门为Java语言输入输出写一个博客。
输出到控制台
System.out.println();
这个是最常见的输出,意义是输出,带换行。举个例子。
public static void main(String[] args) {
System.out.println("输出且换行");}
我们可以明显看到,输出之后换行了,这个输出就相当于C语言函数中的:
printf("输出且换行\n");
System.out.print();
这个也是比较常见的,意义表示为输出,不换行。举个例子:
public static void main(String[] args) {
System.out.print("输出不换行");}
可以看到很明显,输出之后并没有换行,这个输出就类似于C语言中的:
printf("输出不换行");
System.out.printf();
这个比较少见,当然也需要了解一下,意义为格式化输出,怎么理解呢?很简单就将这个输出理解成C语言中的printf()函数就行了。举个例子:
public static void main(String[] args) {
System.out.printf("%d\n",10);}
我们可以看到,这类打印跟C语言中的打印没有区别,当然这类打印还是比较少见的,并不怎么常用。
格式化字符串
转换符 | 类型 | 举例 | 结果 |
---|---|---|---|
d | 十进制整数 | ("%d", 100) | 100 |
x | 十六进制整数 | ("%x", 100) | 64 |
o | 八进制整数 | ("%o", 100) | 144 |
f | 定点浮点数 | ("%f", 100f) | 100.000000 |
e | 指数浮点数 | ("%e", 100f) | 1.000000e+02 |
g | 通用浮点数 | ("%g", 100f) | 100.000 |
a | 十六进制浮点数 | ("%a", 100) | 0x1.9p6 |
s | 字符串 | ("%s", 100) | 100 |
c | 字符 | ("%c", ‘1’) | 1 |
b | 布尔值 | ("%b", 100) | true |
h | 散列码 | ("%h", 100) | 64 |
% | 百分号 | ("%.2f%%", 2/7f) | 0.29% |
从键盘输入
输入的过程比C语言复杂的多我们先来看一个例子:
import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();System.out.println(n);}
我们在输入时,需要利用Scanner这个类,scanner是一个对象,当然a,b,c,d都可以,new是给对象new(开辟)一个空间存储扫描进来的东西,System.in以为这从键盘上读取数据,当使用Scanner这个类时,需要导入
import java.util.Scanner;这个包(相当于C语言中的<stdio.h>头文件),int一个n变量,用scanner这个对象的nextInt方法,也就是从键盘输入一个整型,然后再打印出来。
我们再来看看如何输入字符串,举个例子:
import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);String str=scanner.nextLine();System.out.println(str);}
可以看到前面的部分都是一样的,只是在创建变量时,我们用String 创建一个str的变量,这时动用的是nextLine方法,这个方法就是从键盘上读取字符串的,在打印出来。
当然有几个易错点:
- 当输入整数和输入字符串一起输入时需要注意输入字符串在输入整数的前面,举个例子:
import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();System.out.println(i);String str = scanner.nextLine();System.out.println(str);}
我们将读取整数放在读取字符串的前面,我们可以看到并没有要我们输入字符串而是直接结束。原因就在于,我们输入10之后需要按回车键,这就导致,字符串读取的时回车键因此打印结果也就是回车键,我们可以看见空了两行,一个是字符串打印的是回车,一个是System.out.println();自带的回车效果。因此正确的代码应该是:
import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();System.out.println(str);int i = scanner.nextInt();System.out.println(i);}
我们可以明显的发现Java语言的输入输出相对于C语言要复杂的多,其实在真正开发中输入比较少见的,当然一些简单的应用还是有必要的,关于Java简单的输入输出的讲解就到这里,如果有什么问题或者建议,欢迎各位私信和评论,谢谢大家!当然今天是1024程序猿节,祝程序猿节日快乐!早日进大厂!