java与C语言和C++不同,java的输入输出比较复杂,下面我将来介绍一下java的输入输出。
输出
java中有三种方法进行输出
class Main{
public static void main(String[] args){
System.out.printf("Hello");
System.out.printf("%d\n",10);//格式化输出,换行输出
System.out.printf("%d",10);//不换行输出
System.out.print("Hello");//输出不换行
System.out.print("Hello\n");//输出后换行
System.out.println("Hello");//输出后换行
}
}
输入
数入与输出相比比较复杂。
使用Scanner类进行输入
首先需要先定义一个可以在控制台从键盘接受数据的Scanner对象(Scanner类的包名是 java.util.Scanner)
Scanner in = new Scanner(System.in); // 用于控制台从键盘读入数据
Scanner类中主要使用的是next()和nextLine()方法,next()方法读取流中的下一个非空字符,即除去'\0','\t','\n'等的有效字符,而nextLine()读取一整行,直到换行符为止,包括其中的空格和换行符,这正好应对了我们的需求.但在读取一行之前要先确定还有没有下一行,因此代码的框架应该是这样的.
next() 与 nextLine()的区别
在输入字符串时next() 与 nextLine()输入中字符串时结束标志不一样。
next()
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
代码样例
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String ch=input.next();
System.out.println(ch);
}
}
输出结果
fbh i fjovf
fbh
nextLine()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获取到空白。
代码样例
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String ch=input.nextLine();
System.out.println(ch);
}
}
输出结果
dfhj sdfj fjks
dfhj sdfj fjks
其他类型整数的输入
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int n=input.nextInt();//整数的输入
char ch=input.next().charAt(0);//字符的输入
double a=input.nextDouble();//浮点型的输入
float y=input.nextFloat();
}
}