Java - 输入输出
第一次基础java,输出一个hello world的时候,本以为一个printf能够解决,并没有,而是很长的一个东西。
java和C最大的区别终于,C语言信任程序员,很多东西靠程序员去考虑,就容易犯错。
而java不同,java害怕程序员犯错,所以什么都安排好了,但又显得很冗杂。
可能C语言只需10行代码,Python只需一行代码的程序,java却要写几十行。
但正因为这样,java的思想是你需要用什么,我们都准备好了,你来使用就好了。
Ax 基本输出语句
a 基本使用
使用System.out.println()
、System.out.print()
和System.out.printf()
格式化输出方法。
class Main{
public static void main(String args[])
{
int a;
a = 123;
System.out.print("hello java-lang");
System.out.println("这是是带换行的。");
System.out.printf("number: %d", a);
}
}
执行结果:
hello java-lang这是是带换行的。
number: 123
b 格式化表
格式化控制符 | 说明 | 格式化控制符 | 说明 |
---|---|---|---|
%s | 字符串 | %f | 浮点 |
%c | 字符 | %a | 十六进制浮点 |
%b | BOOL | %e | 指数 |
%d | int 十进制 | %g | 通用浮点 |
%x | int 十六进制 | %h | 换行 |
%o | int 八进制 |
Bx 基本输入语句
java.util.Scanner 是 Java5 的新特征
通过 Scanner 类来获取用户的输入,使用next()
、nextLine()
方法输入
引入
import java.util.Scanner;
创建 Scanner 对象的基本语法
Scanner s = new Scanner(System.in);
a 使用next方法
import java.util.Scanner;
public class scanner {
public static void main(String args[]){
String galaxy;
Scanner enomothem = new Scanner(System.in); // 接收键盘数据
galaxy = enomothem.next(); //使用next方法接收
System.out.printf("%s", galaxy);
}
}
输出结果
Enomothem[Enter]
Enomothem
b 使用NextLine方法
这里,使用了hasNextLine方法验证
import java.util.Scanner;
public class scanner_nextline {
public static void main(String[] args){
Scanner enomothem = new Scanner(System.in);
System.out.println("使用NextLine");
if (enomothem.hasNextLine()){ // 验证
String galaxy = enomothem.nextLine();
System.out.println("你输入了什么:"+ galaxy);
}
enomothem.close();
}
}
输出结果
使用NextLine
Blog https://enomothem.cn[Enter]
你输入了什么:Blog https://enomothem.cn
c next() 与 nextLine() 区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
d Scanner方法表
方法 | 功能描述 |
---|---|
next() | 读取一个字符串,读到空格,Tab,或Enter结束 |
nextLine() | 读取一行(包括空格和Tab),只有Enter结束 |
nextByte() | 读取一个字节 |
nextShort() | 读取一个短整型 |
nextInt() | 读取一个转型 |
nextLong() | 读取一个长整型 |
nextFloat() | 读取一个Float |
nextDouble() | 读取一个Double |