Java 键盘输入语句
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
- 导入该类的所在包, java.util.* // 1.引入/导入 Scanner 类所在的包
- 创建该类对象 (声明变量) // 2.创建 Scanner 对象 , new 创建一个对象
- 调用里面的功能 //3. 接收用户输入了, 使用相关的方法
import java.util.Scanner;
public class InPut {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = myScanner.next();
System.out.println("请输入你的年龄:");
int age = myScanner.nextInt();
System.out.println("请输入你的工资:");
double sal = myScanner.nextDouble();
System.out.println("你的信息如下:");
System.out.println("姓名=" + name + " 年龄=" + age + " 工资=" + sal);
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入整数:");
int n = scanner.nextInt();
double n = scanner.nextDouble();
System.out.print("请输入字符串:");
String n = scanner.next();
int c[]=new int[10];
System.out.println("请输入10个整数:");
for(int i = 0; i < 10; i++){
c[i] = scanner.nextInt();
}
for(int i = 0; i < 10; i++){
System.out.print(c[i] + " ");
}
import java.util.Scanner;
public class A_2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String s = scanner.next();
char[] c = s.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
System.out.println("c[2]=" + c[2]);
}
}
scanner.next() 和 scanner.nextline() 都可以读取字符串。但是它们是有区别的:
1、next() 方法将输入的空格键、Tab 或 Enter 键等视为分隔符或结束符。所以next() 方法不能得到带空格的字符串。
2、而 nextLine() 方法的结束符只是 Enter 键,即 nextLine() 方法返回的是Enter 键之前的所有字符,它是可以得到带空格的字符串的。
scanner.nextline() 可用于过滤 Enter 结束符。所以需要连续输入两个字符串时最好用 String s = scanner.nextline(),当然也可以像下面这样:
import java.util.Scanner;
public class A_2 {
public static void main(String[] args) {
String s1, s2;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
s1 = sc.nextLine();
System.out.println("请输入第二个字符:");
s2 = sc.nextLine();
System.out.println("输入的字符串是:" + s1 + " " + s2);
}
}
输出方法
System.out.println() 或者 System.out.print()
public class Main{
public static void main(String[] args){
System.out.println("hello_1!");
System.out.print("hello_2!");
System.out.print("hello!_3");
}
}
System.out.print() 用于直接输出,System.out.println() 也是直接输出,但在结束的地方会加一个换行
如果要进行输入,请一定加上两个包
import java.util.; import java.io.;
请看下面例子用于输入单个字符
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
char c=(char)System.in.read();
System.out.println(c);
}
}
输入整数或者字符(串)
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
System.out.println(a);
double b = cin.nextDouble();
System.out.println(b);
String str = cin.next();
System.out.println(str);
String str2 = cin.nextLine();
System.out.println(str2);
}
}
还可以用 BufferedReader 类输入
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
String str = cin.readLine();
System.out.println(str);
String str2 = cin.readLine();
int a=Integer.parseInt(str2);
System.out.println(a);
String str3 = cin.readLine();
double b = Double.parseDouble(str3);
System.out.println(b);
}
}
Java 格式化输出
一、System.out.printf()
Java SE5 推出了 C 语言 printf() 风格的格式化输出功能。
String str = "Java";
double pi = 3.14;
int i = 100;
System.out.printf("%f\n", pi);
System.out.printf("%d\n", i);
System.out.printf("%o\n", i);
System.out.printf("%x\n", i);
System.out.printf("%s\n", str);
System.out.printf("一个字符串:%s,一个浮点数:%f,一个整数:%d",str,pi,i);
二、System.out.format()
Java SE5 引入的 format() 方法模仿 C 的 printf() 方法,可用于 PrintStream 或者 PrintWriter 对象,包括 System.out 对象。用法基本上和 System.out.printf()类似。
String str="Java";
double pi=3.14;
int i=100;
System.out.format("%f\n", pi);
System.out.format("%d\n", i);
System.out.format("%o\n", i);
System.out.format("%x\n", i);
System.out.format("%s\n", str);
System.out.format("一个字符串:%s,一个浮点数:%f,一个整数:%d",str,pi,i);
三、Fomatter类
Java 中所有的格式化功能都由 java.util.Formatter 类处理。当你创建一个Formatter 对象时 ,需要向其构造器传递一些信息,告诉它最终的结果将向哪里输出。
import java.util.Formatter;
Formatter f=new Formatter(System.out);
String str="Java";
double pi=3.14;
int i=100;
f.format("%f\n",pi);
f.format("%d\n",i);
f.format("%o\n",i);
f.format("%x\n",i);
f.format("%s\n",str);
f.format("一个字符串:%s,一个浮点数:%f,一个整数:%d",str,pi,i);
四、String.format()
String.format() 是一个 static 方法,接收与 Formatter.format() 一样的参数,其返回值:String 对象,适用于一次输出。
String str="Java";
double pi=3.14;
int i=100;
System.out.println(String.format("%f",pi));
System.out.println(String.format("%d",i));
System.out.println(String.format("%o",i));
System.out.println(String.format("%x",i));
System.out.println(String.format("%s",str));
|