目录

  • 1 初识Java
    • 1.1 Java是什么?
    • 1.2 如何搭建Java开发环境?
    • 1.3 如何编写java应用程序?
    • 1.4 代码如何注释?
  • 2 Java语法基础
    • 2.1 章节导引-BMI体重计算器
    • 2.2 Java变量与数据类型
    • 2.3 Java运算符
    • 2.4 数据类型转换
    • 2.5 控制台输入输出
    • 2.6 Java数学
  • 3 选择结构
    • 3.1 章节导引-BMI健康报告
    • 3.2 简单选择结构
    • 3.3 复杂选择结构
    • 3.4 选择结构嵌套
  • 4 循环结构
    • 4.1 章节导引-猜数字游戏
    • 4.2 while循环
    • 4.3 do...while循环
    • 4.4 for循环
    • 4.5 循环语句跳转
    • 4.6 多重循环
    • 4.7 猜数字最终版
  • 5 数组
    • 5.1 章节导引-客户积分奖励
    • 5.2 一维数组
    • 5.3 最大值与排序
    • 5.4 foreach访问数组
    • 5.5 二维数组
    • 5.6 循环嵌套
    • 5.7 客户积分奖励
  • 6 字符串
    • 6.1 章节导引-登录注册
    • 6.2 String类
    • 6.3 StringBuffer类
  • 7 面向对象入门
    • 7.1 章节导引-客户积分奖励升级
    • 7.2 类和对象基础
    • 7.3 类的无参方法
    • 7.4 类的有参方法
控制台输入输出

一、从控制台输入数据

在Java中,从控制台输入有多种方法,常用并且比较好用的是使用Scanner类,在使用的过程中可以从控制台获取整数、浮点数、字符串。

步骤如下:

(1) 在使用Scanner获取用户输入前,首先需要导入java.util.Scanner包

    import java.util.Scanner;

(2) 然后在main方法中定义Scanner类的对象scanner(可以是其他名字)

    Scanner scanner = new Scanner(System.in);

(3)通过Scanner类的nextXxx()方法获取相应的数据

     scanner.nextInt()    获取整数

     scanner.nextDouble()   获取浮点数

     scanner.next()   获取字符串

     scanner.nextLine()   获取字符串(包括空格)

说明:next()与nextLine() 之间的区别在于,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,如果有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束,因此常用于在同一行中获取多个数据(可以是不同类型的)

举例:

import java.util.Scanner;

public class Main{

    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);        

        System.out.println("请输入你的年龄:"); 

         int age = scanner.nextInt(); 

         System.out.println("请输入你的姓名:"); 

         String name = scanner.nextLine(); 

         System.out.println("请输入你的工资:"); 

         double salary = scanner.nextDouble();

        System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); 

    }

}

补充说明:获取字符

获取字符相当于获取字符串的第一个字符,因此用字符串的charAt(0)方法来获取。

举例:

char sex = scanner.next().charAt(0);


二、从控制台同一行中输入多个数

可以使用nextLine()方法获取多个类型相同或者不同的数据,中间以空格分隔。

举例:

import java.util.Scanner;

public class Main{

    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);              

        System.out.print("请输入你的年龄、姓名和工资:"); 

        String str = scanner.nextLine();

        String[] strs = str.split(" "); //每个数据之间一般只有1个空格,除非把空格也当成输入的数据

        int age = Integer.parseInt(strs[0]);

        String name = strs[1];

        double salary = Double.parseDouble(strs[2]);

        System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); 

    }

}

运算结果:


三、从控制台输出

(1)普通输出

System.out.println()   是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台.

System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。

举例:

System.out.println("hello world");

System.out.println(a)

(2) 格式化输出

举例:

int age = 20;

System.out.println("他的年龄是"+age);

这里是把“他的年龄是“字符串值和变量age一起输出。在Java中也可以使用格式化函数输出相应的效果。

比如,使用String.format()可以实现格式化输出

int age = 20;

double salary = 5000.256;

System.out.println(String.format("他的年龄是%d",age));  

System.out.println(String.format("他的工资是%f",salary)); 

System.out.println(String.format("他的工资是%.2f",salary)); 

补充说明:

%d 表示整型数据

%f 表示浮点型数据,其中 .2 表示保留2位小数

任务1:

体重指数,又称身体质量指数,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

男性低于20, 女性低于19,属于过轻;男性20-25,女性19-24,属于适中;男性25-30,女性24-29,属于过重;男性30-35,女性29-34,属于肥胖;男性高于35,女性高于34,属于非常肥胖。专家指出最理想体重指数是22。

要求键盘输入个人的身高、体重获得体重指数,并且输出,结果保存2位小数。


任务2:去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。

输入格式:

输入商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数)。

输出格式:

在一行中输出商品的折扣价,保留小数点后 2 位。

输入输出样式

988

输出样式:

691.60


任务3:

本题目要求计算存款利息,计算公式为


其中为存款到期时的利息(税前),是存款金额,是存期,是年利率。

输入格式:

依次从键盘输入三个正实数,分别是money、year和rate

输出格式:

在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输入样式:

1000 
3 
0.025

输出样式:

interest = 76.89