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语句体只有一句代码,大括号可以省略,但是建议所有情况都加上大括号,不要省略.



