系统输出使用的是System.out对象

系统输入使用的是System.in对象

1.java中的输出

对于一台电脑而言,标准的输出设备就是显示器(对于程序而言就是控制台),标准的输入设备就是键盘(对于程序而言默认也是从键盘输入)

System.out一共可以使用三种输出方式

print(传入任意数据);//不带换行,()内部必须要传入一个数据,不能为空。

println(传入任意数据);//输出数据后自动换行,()可以为空,Java中经常使用空的println()来换行。

printf();//与c语言用法一致

System.out.print(1+" ");
        System.out.print(1.5+" ");
        System.out.print(true+" ");
        //为空的println就是换行
        System.out.println();
        System.out.print("test");
        System.out.printf("年龄为: %d,姓名为: %s,工资为: %f\n",18,"李",100.5);

2.Java系统输入

System.in-->每次只能读入一个字符

JDK1.2之后引入了Scanner类

使用:

Scanner sc=new Scanner(System.in);//标准代码,产生sc的对象

nextxxx()//要获取的类型

Scanner sc=new Scanner(System.in);
        System.out.println("请输入姓名:");
        String name=sc.nextLine();
        System.out.println("请输入年龄:");
        int age=sc.nextInt();
        System.out.println("请输入工资:");
        double sal=sc.nextDouble();

nextLine这个方法默认以回车作为输入的结果,只识别回车

若先输入一个整数,nextLine-->按下回车,然后调用nextLine方法想要获取一个字符串,这个字符串拿不到

解决方案:在某些数据输入后,在真正想获取的字符串之前,再调用一次nextLine()

当需要多次读取同种类型的数据,使用while循环

1.获取Scanner对象

2.使用while循环,搭配hasNextxxx()方法,检测程序输入是否为指定类型的内容,若输入内容和判断内容不一致,循环退出。

Scanner s=new Scanner(System.in);
        int count=0;
        int sum=0;
        while(s.hasNextInt()){
            System.out.println("请输入数字:");

            int tmp=s.nextInt();
            count++;
            sum+=tmp;
        }
        double avg=sum/count*1.0;
        System.out.println(avg);

补充:

随机数的产生:

1.产生Random类对象

2.调用Random对象的nextLine方法

Random random=new Random();
        //[0,100)
        int num= random.nextInt(100);
        //[20,100)
        int a=random.nextInt(80)+20;