一、输出语句
Java常用的输出语句有三种:
1)System.out.println();
换行输出,输出后会自动换行。
//示例System.out.println("Hello");System.out.println("World");//输出HelloWorld
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位
//示例1int m = 16;System.out.printf("%d",m);//16%d表示输出十进制整数//输出16
//示例2int 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();}}