一:
在python里直接使用input函数就可以,在java里,需要使用Scanner类,用System.in进行初始化,获取用户输入可以用nextLine获取字符串,nextInt获取整形数据。
1 import java.util.Scanner; 2 3 public class print_In { 4 public static void main(String[] args){ 5 System.out.println("what is your name?"); 6 Scanner scan= new Scanner(System.in); 7 String name=scan.nextLine(); 8 System.out.println(name); 9 System.out.println("how old are you?"); 10 Integer age=scan.nextInt(); 11 System.out.println(age); 12 } 13 } 14 15 what is your name? 16 evil 17 evil 18 how old are you? 19 2 20 2
二:
从控制台(window和linux)读取账号和密码 用Scranner类来读取,密码显然不能明文。使用Console类来实现,但是需要注意的是,不能应用ide来测试,不支持和python 一样。需要注意的读取的密码,是字符数组。所以类型是char[]
四项八类是java自己的数据类型,这类的变量在使用的时候小写,而像string等外部的引用的数据类型需要首字母大写!!!
1 import java.io.Console; 2 import java.util.Scanner; 3 4 public class print_In { 5 public static void main(String[] args){ 6 System.out.println("what is your name?"); 7 Scanner scan= new Scanner(System.in); 8 String name=scan.nextLine(); 9 System.out.println(name); 10 System.out.println("how old are you?"); 11 Integer age=scan.nextInt(); 12 System.out.println(age); 13 System.out.println("what your username?"); 14 Console cons=System.console(); 15 String username=cons.readLine(); 16 char[] pwd=cons.readPassword(); 17 } 18 }
三:字符串的格式化输出
在python 中,可以调用 format函数或者使用%初始化,但是在java中有特殊要求,只能使用printf()函数,类似于C++中的,例子如下:
1 import java.util.Scanner; 2 3 public class print_In { 4 public static void main(String[] args){ 5 System.out.println("what is your name?"); 6 Scanner scan= new Scanner(System.in); 7 String name=scan.nextLine(); 8 System.out.println("how old are you?"); 9 Integer age=scan.nextInt(); 10 System.out.println("what your username?"); 11 System.out.printf("your name %s,your age %d",name,age); 12 } 13 }
其中和python 的区别是:print("%s,%s"%(a,b))格式的不一样。在java中需要使用printf("%s %d",a,b)