输入语句
方法一:
System.in和System.out方法
- 缺点一: 该方法能获取从键盘输入的字符,但只能针对一个字符的获取
- 缺点二: 获取的只是char类型的。如果想获得int,float等类型的输入,比较麻烦。
import java.io.IOException;
public class test
{public static void main(String[] args){CharTest();//调用System.in方法}public static void CharTest(){try{System.out.println("请输入一个字符:");char i=(char)System.in.read();System.out.println("你输入的字符是:"+i);}catch(IOException e){//你要输入一个char型进行运算,但是你输入了一个其他类型的,这就会出错,Java中用异常来处理这种错误e.printStackTrace();}}
}
方法二
InputStreamReader和BufferedReader方法
- 优点: 可以获取键盘输入的字符串
- 缺点: 如何要获取的是int,float等类型的仍然需要转换
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class test
{public static void main(String[] args){ReadTest();//调用ReadTest方法 }public static void ReadTest(){System.out.println("请输入一个数据:"); InputStreamReader is = new InputStreamReader(System.in); //new构造InputStreamReader对象 BufferedReader br = new BufferedReader(is); //拿构造的方法传到BufferedReader中 try{ //该方法中有个IOExcepiton需要捕获 String name = br.readLine(); System.out.println("你输入的数据是:" + name); } catch(IOException e){ e.printStackTrace(); } }
}
方法三:
Scanner类中的方法
- 优点一: 可以获取键盘输入的字符串
- 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便;
输入的语句写完之后要加上 sc.close();后期可能会造成内存泄露。
import java.util.Scanner;
public class test
{public static void main(String[] args){Scanner sc = new Scanner(System.in); System.out.println("字符串型姓名输入:"); String name = sc.nextLine(); //读取字符串型输入 System.out.println("整型年龄输入:"); int age = sc.nextInt(); //读取整型输入 System.out.println("float型工资输入:"); float salary = sc.nextFloat(); //读取float型输入 System.out.println("Your Information is as below:"); System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary);sc.close(); }
}
输出语句
Java中的输出语句有以下四种:
System.out.println(1111);//换行打印
System.out.print(1111);//不换行打印
System.out.write(2222);//字节输出
System.out.printf("%+8.3f\n", 3.14);//按格式输出
System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台;输出快捷键:输入syso后,按alt+/
System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。