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