Scanner类,来自于java.util包,是JDK提供的类型.
2.作用:在程序运行的过程中,可以使用Scanner类来实现获取从键盘输入的数据,提高数据来源灵活度.
3.Scanner类使用步骤: 第一步: 导包目的: 为了让JVM定位到Scanner类型所在的具体位置
导入方式: 类的声明之上使用关键字import,表示导入
- import java.util.Scanner;
- java.lang包下所有类,都自动导入!!!
创建键盘录入对象,Scanner sc = new Scanner(System.in);
第三步:调用sc对象的nextInt方法,获取键盘录入的一个整数
调用sc对象的nextLine()或者next()方法,获取键盘录入的一个字符串
int x = sc.nextInt(); String str = sc.nextLine();
第四步:使用x后续处理
package com.offcn.demo09.demo01; //1、导包 java.util.Scanner import关键字 import java.util.Scanner; public class Demo01 { public static void main(String[] args) { // 2、创建键盘录入对象 // 类名 对象名 = new 类名(参数); Scanner sc = new Scanner(System.in); // 3、使用对象调用方法 获取录入的数据 nextInt() nextDouble() next() nextLine() int num = sc.nextInt(); // 4、操作 输出打印你录入的数据 System.out.println(num); } }
案例1: 键盘录入两个整数求和
package com.offcn.demo09.demo01; //键盘录入两个整数求和 //1、导包 import java.util.Scanner; public class Demo02 { public static void main(String[] args) { // 2、创建键盘录入对象 Scanner sc = new Scanner(System.in); // 3、获取录入的内容 nextInt() System.out.println("请输入第一个整数:"); //只是提示作用 int x = sc.nextInt(); System.out.println("请输入第二个整数:"); int y = sc.nextInt(); // 4、后续处理 int sum = x + y; System.out.println("求和结果为:" + sum); } }
案例2: 键盘录入三个整数求最大值
package com.offcn.demo09.demo01; //案例2: 键盘录入三个整数求最大值 //1、导包 import java.util.Scanner; public class Demo03 { public static void main(String[] args) { //2、创建对象 Scanner sc = new Scanner(System.in); //3、获取键盘录入的值 System.out.println("请输入第一个整数:"); int num1 = sc.nextInt(); System.out.println("请输入第二个整数:"); int num2 = sc.nextInt(); System.out.println("请输入第三个整数:"); int num3 = sc.nextInt(); //4、求最大值 //求num1和num2最大值 max int max = num1 > num2 ? num1 : num2; //求max和num3最大值 max = num3 > max ? num3 : max; System.out.println("最大值为:" + max); } }
案例3: 键盘录入一个整数,判断奇偶
package com.offcn.demo09.demo01; //案例3: 键盘录入一个整数,判断奇偶 import java.util.Scanner; public class Demo04 { public static void main(String[] args) { //alt+enter 自动补齐 Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = sc.nextInt(); String s = num % 2 == 0 ? "偶数" : "奇数"; System.out.println(num + "是" + s); } }
案例4: 键盘录入任意两句字符串,进行拼接
next()和nextLine()区别:
解决方案:1、nextLine()换成next() 建议使用
2、所有内容nextLine()录入 建议使用
3、在nextLine()前或者nextInt()后书写一个sc.nextLine(); //接收到换行
4、重新创建键盘录入对象(在nextLine()前)
package com.offcn.demo09.demo01; //案例4: 键盘录入任意两句字符串,进行拼接 //next() nextLine() 字符串 nextLine()可以接收换行 import java.util.Scanner; public class Demo05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入整数:"); int i = sc.nextInt(); sc.nextLine(); //接收到换行 System.out.println("请输入内容:"); String s1 = sc.nextLine(); System.out.println("请再次输入内容:"); String s2 = sc.nextLine(); System.out.println(s1 + s2); } }
随机数Random 1. JDK提供了一个类, 类名Random, 主要功能 :
可以生成指定范围内的任意一个随机数
Random来自于java.util路径下
2. Random类使用步骤: 1) 导包 :将Random类所在具体路径导入到类的声明之上
import java.util.Random;
2) 创建出Random类型对象:Random ran = new Random();
3) 使用ran对象名.调用Random类型中功能nextInt(int count) : 参数count表示需要随机生成的数据的范围, 此方法生成数据范围[0,count), 左闭右开, 包含0,但是不包含count, 实际数据范围 : 0~count-1之间
注意 : 生成的随机数, 可以使用一个变量将其结果保存下来
4) 后续随机数使用package com.offcn.demo09.demo02; //1、导包 类声明之上 包之下 import java.util.Random; public class Demo01 { public static void main(String[] args) { // 2、创建随机数对象 Random ran = new Random(); // 3、对象名调用方法 生成随机数 3 [0,3) 左闭右开 包含左边不包含右边 0~2 int random = ran.nextInt(3); //[0,3) 左闭右开 包含左边不包含右边 0~2 -> 1~3 // int random = ran.nextInt(3) + 1; // 4、后续处理 System.out.println(random); } }
案例 : 1-100之间的任意一个随机整数
package com.offcn.demo09.demo02; //1、导包 import java.util.Random; public class Demo02 { public static void main(String[] args) { // 2、创建Random随机数对象 Random ran = new Random(); // 3、生成1-100之间的随机数 0~99 [0,100) -> 1~100 int num = ran.nextInt(100) + 1; System.out.println(num); } }
练习:
生成1~50之间的随机数,判断随机数是奇数还是偶数
package com.offcn.demo09.demo02; //生成1~50之间的随机数,判断随机数是奇数还是偶数 import java.util.Random; public class Demo03 { public static void main(String[] args) { Random random = new Random(); int num = random.nextInt(50) + 1; System.out.println(num); System.out.println(num % 2 == 0 ? "偶数" : "奇数"); } }
流程控制 流程控制概述 1.流程控制概念:
控制代码的执行顺序就是流程控制.
2.流程控制的分类:顺序结构: 代码从上到下,从左到右依次执行.
分支结构: 根据条件选择执行路径
代码特点: 写得多,执行的少
语句实现: if条件语句三种格式,switch开关选择语句
循环结构: 相同相似的代码逻辑在符合条件的情况下,可以多次反复的执行
代码特点: 写得少,执行的多
语句实现: for循环语句,while循环语句,do while循环语句,continue继续语 句,break终止语句,return返回语句.
案例1: 多条打印语句从上到下依次执行
分支语句之if条件语句 if语句的第一种格式 1.格式:
if(布尔表达式) {
语句体;
}
2.说明:1)if,关键字,表示如果的含义
2)if语句后面跟着的小括号,里面必须是boolean类型的值;计算结果为true或者false.
3)语句体,可以是任意逻辑代码
3.执行流程:1)计算布尔表达式的值,要么为true,要么为false
2)如果计算结果为true,执行语句体
3)如果计算结果为false,就不执行语句体
4.注意事项:1)小括号后面不要加分号,一般来说,有左大括号,就没有分号,有分号,就没有左大括号.
2)如果if语句体只有一句代码,大括号可以省略,但是建议所有情况都加上大括号,不要省略.