if语句和Scanner
if语句:一种分支语句
1.if结构: 1条路
1)语法:
if(boolean){
语句块------------基于条件执行的语句
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块(if结束)
若为false,则if直接结束Scanner语句:接受用户输入的数据(初期不需要理解但要记住)
一、Scanner语句
//Scanner的演示
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //2.创建了一个扫描仪,叫scan
System.out.println("请输入年龄:");
int age = scan.nextInt(); //3.扫描一个整数并赋值给age
System.out.println("请输入商品价格:");
double price = scan.nextDouble(); //3.扫描一个小数并赋值给price
System.out.println("年龄为:"+age+",商品价格为:"+price);
}
}

二、if语句
//1)偶数的判断:
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scan.nextInt();
//带数(6,5)
if(num%2==0){
System.out.println(num+"是偶数");
}
System.out.println("继续执行...");
*/

任何复杂的程序逻辑,都可以通过三种结构来实现:
1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句,并非每句必走
3)循环结构:循环执行
三、if...else
- if...else结构:2条路
2.if...else结构: 2条路
1)语法:
if(boolean){
语句块1
}else{ //问:语句块1和语句块2,有可能同时执行吗?-------不可能
语句块2 //问:语句块1和语句块2,有可能同时都不执行吗?---不可能
}
2)执行过程:
计算boolean的值:
若为true,则执行语句块1(整个结束)
若为false,则执行语句块2(整个结束)
3)说明:
语句块1和语句块2,必走其中之一----------2选1
public class IfDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数:");
int num = scanner.nextInt();
if (num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
}
}


四、if...else...if
分支结构:
if...else..if结构:多条路
import java.util.Scanner;
//if...else if结构的演示
public class IfElseIfDemo {
public static void main(String[] args) {
/*
3.天数判断程序:
1)接收用户输入的年份和月份,来计算天数
--1/3/5/7/8/10/12--------31天
--4/6/9/11---------------30天
--2----------------------28天(平年)/29天(闰年)
闰年的判断公式:
1)能被4整除并且不能被100整除
或者
2)能被400整除
*/
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scan.nextInt();
System.out.println("请输入月份:");
int month = scan.nextInt();
//带数(2024.2)(2023.2)(2000.2)(2024.5)(2024.9)
int days; //天数
if(month==1 || month==3 || month==5 || month==7 ||
month==8 || month==10 || month==12){
days = 31;
}else if(month==4 || month==6 || month==9 || month==11){
days = 30;
}else{ //2月
if((year%4==0 && year%100!=0) || year%400==0){ //闰年
days = 29;
}else{ //平年
days = 28;
}
}
System.out.println(year+"年的"+month+"月总共"+days+"天");

五、switch...case结构
switch...case结构:多条路
优点:效率高、结构清晰
缺点:只能对整数判断相等
break:跳出switch
switch中数据的类型:byte,short,int,char,String,枚举
import java.util.Scanner;
//命令解析程序
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 4.退卡");
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("存款业务...");
break;
case 2:
System.out.println("取款业务...");
break;
case 3:
System.out.println("查询余额业务...");
break;
case 4:
System.out.println("退卡成功");
break;
default:
System.out.println("输入错误");
}
}
}
六、Random随机数
import java.util.Random; //1.导入随机数
//随机数的演示
public class RandomDemo {
public static void main(String[] args) {
Random rand = new Random(); //2.新建一个随机数对象rand
/*
练习:
1)声明整型变量h并赋值为10到30之间的随机数,并输出
2)声明整型变量i并赋值为5到10之间的随机数,并输出
3)声明整型变量j并赋值为20到60之间的随机数,并输出
4)声明整型变量k并赋值为100到200之间的随机数,并输出
*/
int h = rand.nextInt(21)+10; //10到30
System.out.println(h);
int i = rand.nextInt(6)+5; //5到10
System.out.println(i);
int j = rand.nextInt(41)+20; //20到60
System.out.println(j);
int k = rand.nextInt(101)+100; //100到200
System.out.println(k);
/*
规律:
31:最大值-最小值+1
20:最小值
*/
/*
int e = rand.nextInt(31)+20; //20到50
System.out.println(e);
int f = rand.nextInt(45)+16; //16到60
System.out.println(f);
int g = rand.nextInt(26)+50; //50到75
System.out.println(g);
*/
/*
int a = rand.nextInt(); //生成整个int范围内的随机数(正负21个多亿)
System.out.println(a);
int b = rand.nextInt();
System.out.println(b);
int c = rand.nextInt(100); //0到99
System.out.println(c);
int d = rand.nextInt(26); //0到25
System.out.println(d);
*/
}
}

本文介绍了Java编程中的if语句、Scanner用于获取用户输入,以及分支结构(if、if...else、if...elseif、switch)的使用示例,包括如何判断偶数、天数计算和命令解析。还涉及了Random类生成随机数的应用。
1096

被折叠的 条评论
为什么被折叠?



