欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java小白-2.2if/for/while

程序员文章站 2022-06-21 18:23:21
...

1.格式

1.1单条件(条件1)

if(条件语句) {
    //ture:执行
    //false:不执行
}
import java.until.Scanner;
public class If {
    public static void main(String[] args) {
        //键盘输入Scanner类:
        //1.导包:im...2.创建对象实例:Sc..=ne..3.调用方法:in..=sc..;Sys..
        Scanner sc = new Scanner(System.in);
        int age = sc.nextInt();
        System.out.println("请输入您的年龄:");

        if(age>=18) {
            System.out.println("年龄大于等于18岁,可注册");
        }
        if(age<18) {
            System.out.println("年龄小于18岁,不可注册");
        }
    }
}

2.2 互斥条件判断(条件2)

if(关系表达式) {
    语句体1;//true->执行语句体1;false->执行语句体2
} else {
    语句体2;
}
import java.until.Scanner;
public class If2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.pirntln("请输入您的年龄");
        int age = sc.nextInt();

        if(age >= 18) {
            System.out.println("年龄大于18岁,可注册");
        } else {
            System.out.println("年龄小于18岁,不可注册");
        }
    }
}

2.3 多条件判断(格式3)

例:

对一个学生的考试成绩进行等级的划分:

如果分数大于等于80分,小于等于100分等级为优;

如果分数大于等于70分,小于80分级为良;

如果分数大于等于60分,小于70分等级为及格;

if(判断条件1) {
    执行语句1;//ture->执行语句体1;false->看2
} else if(判断条件2) {
    执行语句2;
} else if(判断语句n) {
    执行语句n;
} else {
    执行语句n+1;
}
  • 2.3.1 例1:

     x和y的关系满足如下:

     x>=3, y = 2x + 1;

     -1<=x<3, y = 2x;

     x<=-1, y = 2x – 1;

     根据给定的x的值,计算出y的值并输出。

public class If3 {
    public static void mian(String[] args) {
        //定义变量
        int x = 5;
        int y;
        if(x >= 3) {
            y = 2*x+1;
        } else if(x >= -1 && x < 3) {
            y = 2*x;
        } else if(x <= -1) {
            y = 2*x-1;
        }
        System.out.println("y的值是:"+y);
    }
}

2.3.2 例2

键盘录入两个数据,获取这两个数据的较大值

public class If4 {
    public static void main(String[] args) {
        //创建对象
        Scanner sc = new Scanner(System.in);
        //接收数据
        System.out.println("请输入第一个数据");
        int a = sc.nextInt();
        System.out.println("请输入第二个数据");
        int b = sc.nextInt();
        
        //if格式2
        /*
        if(a>b) {
            System.out.println("较大的值是:"+a);
        } else {
            System.out.println("较大的值是:"+b);
        }
        */
        
        int max;
        if(a>b) {
            max = a;
        } else {
            max = b;
        }

        //max += 100;
        System.out.println("较大的值是:"+max);
    }
}

2.4 多层条件判断

如    60分以下的同学不及格重考,

       60分以上的同学不需要重考。

       这个区间又可以分为:优秀、良好、及格三个等级。

if(第一层条件) {}
    if(第二层条件) {
        真正运行逻辑;
    }
}
/*
多层if语句嵌套
需求:
成绩>= 60
打印成绩合格,可以升级
90-100分:优
80-90分:良
70-80分:中
60-70分:及格
成<60
打印成绩不及格,需要补考
*/
import java.util.Scanner;
public class Demo06If{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的成绩:");
        int score = sc.nextInt();
   
        if(score >= 60 && score <= 100) {
            System.out.println("成绩合格,可以升级");
            if(score >= 90 && score <= 100) {
                System.out.println("成绩是" + score + "等级为优!");
            } else if(score >= 80 && score < 90) {
                System.out.println("成绩是" + score + "等级为良!");
            } else if(score >= 70 && score < 80) {
                System.out.println("成绩是" + score + "等级为中!");
            } else {
                System.out.println("成绩是" + score + "等级为及格!");
            }
        } else if(score >= 0 && score < 60) {
                System.out.println("成绩不及格,需要补考")'
        } else {
            System.out.println("非法成绩"):
        }
        System.out.println("程序结束");
    }
}

2.5 switch(条件4)

swtich(表达式) {
    case 目标值1:
    执行语句1;
    break;
    case 目标值2:
    执行语句2;
    break;
    ...
    case 目标值n:
    执行语句n;
    break;
    defult;
    执行语句n+1;
    break;
}
/*
需求:键盘输入对应1-7,输出对应的中文日期
*/
import java.util.Scanner;
public class Demo01Switch{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入星期对应的数字:");
        int week = sc.nextInt();//2
        switch(week){
        case 1:
        System.out.println("星期一");
        break;
        case 2;
        System.out.println("星期二");
        break;
        case 3:
        System.out.println("星期三");
        break;
        case 4:
        System.out.println("星期四");
        break;
        case 5:
        System.out.println("星期五");
        break;
        case 6:
        System.out.println("星期六");
        break;
        case 7:
        System.out.println("星期日");
        break;
        default:
        System.out.println("您输入的数字有误!");
        break;
        }
        System.out.println("程序结束");
        }
}

2.5.1注意事项

/*

  • 表达式的取值只能是:byte,short,int,char               (JDK5以后可以是枚举,JDK7以后可以是String)

  • 如同if语句当中的else,default不是必须存在的

  • 与if语句不同,switch语句只能完成具体值的选择,而不能指定取值区间

  • case后面跟的是要和表达式进行比较的值

  • 语句体部分可以是一条或多条语句

  • break表示中断,结束的意思,可以结束switch语句

  • default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似

*/

需求:

键盘输入对应1-7

1-5:输出工作日

6-7:输出休息日

import java.util.Scanner;
public class Demo02Switch{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入星期对应的数字:");
        int week = sc.nextInt();

        switch(week) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            System.out.println("工作日");
            break;
            case6;
            case7;
            System.out.println("休息日");
            break;
            default:
            System.out.println("您输入的数字有误!");
            break;
        }
        System.out.println("程序结束");
    }
}

2.5.2 案例-超市购物小票

Java小白-2.2if/for/while

简化题目

欢迎光临
品名 售价 数量 金额
----------------------------------
a    1.1* 1    
(001) = 1.1
b    2.2* 2
(002) = 4.4    
c    3.3* 3
(003) = 9.9    
-----------------------------------
3项商品 共计:6件
总计:15.4
凭此小票换取发票!

/*
超市管理系统案例:
------------------超市购物系统-----------------
1:输入购买数量2:打印购物小票3:退出系统
请输入您要进行的操作:

分析:
1:初始化系统(进货)
while(true){
2:展示功能菜单
3:获取用户键盘输入的功能选项
4:根据用户输入的功能选项完成对应的功能,用switch语句完成
输入1:实现输入购买数量功能(购买)
输入2:实现打印购物小票功能(打印)
输入3:实现退出系统功能(退出)
输入不存在的数字:您输入有误,请重新输入
}
*/
import java.util.Scanner;
public class SuperMarketMange{
	public static void main(String[] args){
		//1:初始化系统(进货)
		//先定义3组15个变量用来记录商品信息
		//定义a
		String aName = "a";//商品名称
		String aID = "(001)";//商品id
		double aPrice = 1.1;//商品单价
		int aNumber  = 1;//商品数量
		double aMoney = 1.1;//商品金额
		
		String bName = "b";
		String bID = "(002)";
		double bPrice = 2.2;
		int bNumber  = 2;
		double bMoney = 4.4;

		String cName = "c";
		String cID = "(003)";
		double cPrice = 3.3;
		int cNumber  = 3;
		double cMoney = 9.9;

		//不知道系统运行几次,所以用while循环
		while(true){
			//2:展示功能菜单
			System.out.println("------------------超市购物系统-----------------");
			System.out.println("1:输入购买数量2:打印购物小票3:退出系统");
			System.out.println("请输入您要进行的操作:");
			//3:获取用户键盘输入的功能选项
			Scanner sc = new Scanner(System.in);
			int choose = sc.nextInt();

			//4:根据用户输入的功能选项完成对应的功能,用switch语句完成
			switch(choose){
				case 1:
				//输入1:实现输入购买数量功能(购买)
				System.out.println("请输入您要购买"+aName+"的数量:");
				aNumber = sc.nextInt();
				System.out.println("请输入您要购买"+bName+"的数量:");
				bNumber = sc.nextInt();
				System.out.println("请输入您要购买"+cName+"的数量:");
				cNumber = sc.nextInt();

				//计算每种商品购买的价钱
				aMoney = aNumber * aPrice;
				bMoney = bNumber * bPrice;
				cMoney = cNumber * cPrice;
				break;
				
				case 2:
				//输入2:实现打印购物小票功能(打印)
				//计算:商品种类
				int goodsItem = 3;
				//计算:商品数量
				int goodsNumner = aNumber + bNumber + cNumber;
				//计算:商品总金额
				double goodsMoney = aMoney + bMoney + cMoney;

				//打印小票
				//票头
				System.out.println("欢迎光临");
				System.out.println("品名   售价数量金额");
				System.out.println("------------------------------------------------");

				//票体
				System.out.println(aName+aID+""+aPrice+""+aNumber+""+aMoney);
				System.out.println(bName+bID+""+bPrice+""+bNumber+""+bMoney);
				System.out.println(cName+cID+""+cPrice+""+cNumber+""+cMoney);
				System.out.println("------------------------------------------------");

				//票脚
				System.out.println(""+goodsItem+" 项商品共计: "+goodsNumner+" 件");
				System.out.println("总计: " + goodsMoney);
				System.out.println("凭此小票换取发票!");
				break;
				
				case 3:
				//输入3:实现退出系统功能(退出)
				System.out.println("程序结束!");
				System.exit(0);//结束正在运行java虚拟机 0-正常退出
				break;
				default:
				//输入不存在的数字:您输入有误,请重新输入
				System.out.println("您输入有误,请重新输入!");
				break;
			}
		}
	}
}

3. 循环

3.1格式:

for(初始化表达式①;布尔表达式②;步进表达式④){

循环体③

}

执行流程:

执行顺序: ①②③④>②③④>②③④… ②不满足为止。

①负责完成循环变量初始化

②负责判断是否满足循环条件,不满足则跳出循环

③具体执行的语句

④循环后,循环条件所涉及变量的变化情况

public class Demo07For{
    public static void main(String[] args){
        //打印10次"我爱Java"
        for(int x = 0;x < 10;x++) {
            System.out.println("我爱Java!" + (x+1));
        }
        System.out.println("程序结束!");
    }
}

3.2 for循环注意事项

a) ①②③④四个部分均可以为空

当①为空时,注意变量作用域的范围变化

当②为空时,为条件永远为true的死循环

当③为空时,通常没有意义

当④为空时,可以将其加入到循环体中,或同样成为死循环

b) 初始化表达式①的部分可以同时定义多个变量

步进表达式可以同时将多个循环相关变量改变,控制循环条件

//别看了
//打印10次"我爱Java!"
public class Demo08For{
    public static void main(String[] args){
        /*
		//当①为空时,注意变量作用域的范围变化
		int x = 0;
		for(;x < 10;x++) {
			System.out.println("我爱Java!" + (x+1));
		}
		System.out.println(x);//错误,找不到符号
        */
		
		/*
		//当②为空时,为条件永远为true的死循环
		for(int x = 0;x++) {
			System.out.println("我爱Java!" + (x+1));
		}
		System.out.println("程序结束!");错误: 无法访问的语句
		*/
		
		/*
		//当③为空时,通常没有意义
		for(int x=0; x<10; x++){}
		*/

		/*
		//当④为空时,可以将其加入到循环体中,或同样成为死循环
		for(int x=0; x<10; ){
			System.out.println("我爱java!"+(x+1));
			//x++;
		}
		*/
		
		for(int x = 0,y = 0;x < 10;x++,y += 2) {
			System.out.println("x=" + x + "y=" +y);
		}
    }
}

3.3 练习

3.3.1在控制台输出10次HelloWorld

for(int x=1; x<=10; x++) {
    System.out.println("HelloWorld" + x);
}

3.3.2  获取数据1-5 和5-1

//1-5
for (int i = 1; i <= 5; i++) {
    System.out.println(i);
}

//5-1
for (int i = 5; i>=1; i--) {
    System.out.println(i);
}

3.3.3 求出1-5之间数据之和

//定义初始化变量,默认值为0
int sum = 0;
for(int i=1; i>=5; i++) {
	sum += i;
}
System.out.println("sum:" + sum);

3.3.4 求出1-100之间偶数和

int sum = 0;
for(int i=1; i<=100; i++) {
    //判断奇偶
    if(i%2 == 0) {
        //如果是偶数就累加求和
        sum += i;
    }
    System.out.println("sum:" + sum);
}

3.3.5 在控制台输出所有的“水仙花数”

/*
水仙花数:一个三位数,各位数字的立方和等于该数本身
举例:
153 = 1*1*1 + 5*5*5 + 3*3*3
*/
for(int i=100; i<1000; i++) {//100-1000
    int ge = i %10; // 153 %10 = 3
    int shi = i /10 %10; // 153 /10 %10 = 5
    int bai = i /10 /10 %10;
    if((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i) {
        System.out.println(i);
    }
}

3.3.6 统计“水仙花数”共有多少个

int count = 0;
for(int x=100; x<1000; x++) {
    int ge = x %10;
    int shi = x /10 %10;
    int bai = x /10 /10 %10;
    if((ge*ge*ge + shi*shi*shi + bai*bai*bai) == x) {
        count++;
    }
}
    System.out.println("水仙花数共有:"+count+"个");

4.1while格式

while(布尔表达式) {

       循环体语句;

     }

  • 扩展格式

     初始化表达式①

     while(布尔表达式②){

     循环体③

     步进表达式④

     }

  • 执行流程

     执行顺序: ①②③④>②③④>②③④… ②不满足为止。

4.2.练习

4.2.1 输出10次HelloWorld

//for
for (int i = 1; i <=10; i++) {
    System.out.println("HelloWorld");
}

//while
int i = 1;
while(i<=10){
    System.out.println("HelloWorld");
    i++;
}

4.2.2 求出1-100之和

//for
int sum = 0;
for(int i=1; i<=100; i++) {
    sum += i;
}
System.out.println("1-100的和是:" + sum);

//while
sum = 0;
int i = 1;
while(i <= 100) {
    sum += i;
    i++
}
System.out.println("1-100的和是:" + sum);

 

4.3do while循环语句语法格式

  • 基本格式

     do {

     循环体语句;

     }while(布尔表达式);

  • 扩展格式

     初始化表达式①

     do{

     循环体③

     步进表达式④

     }while(布尔表达式②);

  • 执行流程

     执行顺序: ①③④>②③④>②③④… ②不满足为止。

public class Demo01DoWhile {

public static void main(String[] args) {

//输出10次 HelloWorld

/*

for(int x=1; x<=10; x++) {

System.out.println("HelloWorld");

}

*/



//do...while改写

int x=1;

do {

System.out.println("HelloWorld");

x++;

}while(x<=10);

}

}
/*
3.4.7 While与do_while比较
3.4.7.1 需求:打印5次我爱java

需求:打印5次我爱java

*/

public class Demo09WhileAndDoWhile{

public static void main(String[] args){

//while

//int i = 0;

int i = 5;

while(i < 5){

System.out.println("我爱java"+(i+1));

i++;

}

//System.out.println(i);

System.out.println("----------------------------------");

//do while

//int j = 0;

int j = 5;

do{

System.out.println("我爱java"+(j+1));

j++;

}while(j < 5);

}

}

3.5 循环嵌套

循环嵌套并不是一个新的知识点。只是在循环格式中嵌套使用了循环。

如for循环可以嵌套for循环:

  • for(初始化表达式; 循环条件; 操作表达式) {

     ………

     for(初始化表达式; 循环条件; 操作表达式) {

     执行语句

     ………

     }

     ………

     }

3.6 三种循环的区别

  • 虽然可以完成同样的功能,但是还是有小区别:

    • do…while循环至少会执行一次循环体。

    • for循环和while循环只有在条件成立的时候才会去执行循环体

  • for循环语句和while循环语句的小区别:

    • 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

  • 循环使用推荐for -- while -- do..while

  • //for
    for(int=1; x<=10; x++) {
        System.out.println("HelloWorld");
    }//x到这里无法继续访问
    
    //while
    int x=1;
    while(x<=10) {
        System.out.println("HelloWorld");
        x++;
    }
    
    //do...while
    int x=1;
    do {
        System.out.println("HelloWorld");
        x++;
        while(x<=10);
    }

    3.7 无条件分支跳转

    在loop/switch选择或者循环过程中,我们总是满足布尔表达条件才能执行对应的代码,然而在这些逻辑过程中,可以使用一些关键字直接跳出正在执行的代码,去执行后边或者指定位置的代码,这些关键字一旦出现就可以跳转语句执行顺序。

  • break 中断

  • continue 继续

3.7.1 break关键字

用来跳出switch语句和循环语句

  • break使用方式

  •    无法单独使用,必须将break关键字置于switch或循环语句中。

  • break运行规律

  •    不需要判断任何条件,只要遇到break便直接跳出执行后续代码。会完全跳出选择或者循环结构。

  • break只能跳出最近的代码块,不能跨越多级代码块。

  •  

     如: f

     for(int i=0; i<10; i++) {
         if(i==5) {
             break;
         }
     System.out.println(“我爱Java”+i);//会从0-4输出5次“我爱Java”
     }

    3.7.2 continue关键字

  • continue使用方式

   无法单独使用,必须将continue关键字置于循环语句中。

  • continue运行规律

 不需要判断任何条件,只要遇到continue变直接跳出本轮循环进行下次循环。

 如:

 for(int i=0; i<10; i++) {

     if(i==5) {

         continue;

     }

 System.out.println(“我爱Java”+i);

 }

 //会从0-4、6-9输出9次“我爱Java”

3.7.3 练习

// 分别写break,continue,说说输出几次
for (int i = 1; i <= 10; i++) {
    if (i % 3 == 0) {
        //break;//2次
        continue;//输出7次
    }
    System.out.println("我爱Java"+i);
}

3.7.4 标号语句(标签)跳转

当在双层循环或者循环内有switch选择语句时,我们发现,使用break或者continue所作用的对象均是内层语句,无法直接跳出外层循环,这时就需要使用标号语句跳转了。

  • 表达语句跳转的使用方式

 在外层循环外的某行前边,使用后边跟有冒号”:”的标识符,即定义完毕。

 使用时当在内层循环使用break或continue时后边紧跟之前定义的标号即可。

  • 表达语句跳转的运行规律

 当外层循环外定义了标号

 内层使用break,终止内外双层循环。

 内层使用continue,终止内层循环,继续外层循环。

需求:就让第一排同学报数

break

我是第1排,第1个!

我是第1排,第2个!

我是第1排,第3个!

我是第1排,第4个!

我是第1排,第5个!

第一排同学报数结束

 

continue

我是第1排,第1个!

我是第1排,第2个!

我是第1排,第3个!

我是第1排,第4个!

我是第1排,第5个!

第一排同学报数结束

我是第3排,第1个!

我是第3排,第2个!

我是第3排,第3个!

我是第3排,第4个!

我是第3排,第5个!

itcast:for(int i=0; i<3; i++){//外层循环可以控制打印的行数
    //System.out.println("我是第"+(i+1)+"排");
    for(int j=0; j<5; j++){//内层循环可以控制每行打印几个
        //System.out.println("我是第"+(j+1)+"个");
        if(i==1){
        System.out.println("第一排同学报数结束");
        //break itcast;
        continue itcast;
    }
System.out.println("我是第"+(i+1)+"排,第"+(j+1)+"个!");
}

4 综合案例---猜数字小游戏

完成猜数字小游戏:

后台预先生成一个随机数1-100,用户键盘录入猜数字

 如果猜对了,打印“恭喜您,答对了”

 如果猜错了

 猜大了:打印“sorry,您猜大了!”

 猜小了:打印“sorry,您猜小了!”

   直到数字猜到为止

   最多只能猜5次,否则提示“sorry,您没有机会了!”

三个部分:生成随机数、进行逻辑判断、循环输入并且完成次数限制。

4.2.1 生成随机数

使用算法完成随机数生成的过于复杂,Java已经提供好的完成随机数相关操作的引用数据类型Random。

import导入Random所在包:java.util.Random

创建实例格式:Random  random = new Random ();

调用方法,生成1-100随机数int randomNumber= random.nextInt(100) + 1;

 

4.2.2 进行逻辑判断

需求:

如果猜对了,打印“恭喜您,答对了”

如果猜错了

猜大了:打印“sorry,您猜大了!”

猜小了:打印“sorry,您猜小了!”

 

分析以上逻辑:

猜数字的核心逻辑是两个数字的比较,即用户输入的数字与给定的随机数的大小比较。使用三元运算符可以完成,但是三元运算符只能完成简单的二选一。想完成更复杂的需求需要使用到if语句。

 

4.2.3 循环输入并且完成次数限制

我们需要在用户输错时,让用户再次输入,让用户输入的动作循环执行。这时需要使用到循环语句,这里选择for循环完成循环输入并且完成次数限制。

 

循环过程中,循环体包含提示用户输入,用户键盘录入,数字大小判断。

 

分析需求:最多只能猜5次,否则提示“sorry,您没有机会了!”

循环满足条件为两个:

只要答对即可跳出循环(使用break)

循环次数超出5次(for循环的5次循环判断)

/*

猜数字小游戏:



分析:

后台预先生成一个随机数1-100 -->Random类





用户键盘录入猜数字 -->Scanner类



if语句

如果猜对了,打印“恭喜您,答对了”

如果猜错了

猜大了:打印“sorry,您猜大了!”

猜小了:打印“sorry,您猜小了!”



循环的知识-->for

直到数字猜到为止

最多只能猜5次,否则提示“sorry,您没有机会了!”

*/

import java.util.Random;

import java.util.Scanner;


public class GuessNumber{

public static void main(String[] args){

//后台预先生成一个随机数1-100 -->Random类

Random r = new Random();

int randomNumber = r.nextInt(100)+1;//1-100

System.out.println("1-100之间的随机数已经产生,开始我们的猜数字小游戏!");

System.out.println("randomNumber = " + randomNumber);

//用户键盘录入猜数字 -->Scanner类

Scanner sc = new Scanner(System.in);



//直到数字猜到为止,最多只能猜5次

for(int i=0 ;i<5; i++){

System.out.println();

System.out.println("请输入一个1-100之间的整数: ");

int guessNumber = sc.nextInt();//获取键盘输入的整数



/*

if语句

如果猜对了,打印“恭喜您,答对了”

如果猜错了

猜大了:打印“sorry,您猜大了!”

猜小了:打印“sorry,您猜小了!”

*/

if(guessNumber == randomNumber){//如果猜对了,打印“恭喜您,答对了”

System.out.println("恭喜您,答对了");

break;//猜对了,跳出循环

}else{

if(guessNumber > randomNumber){//猜大了:打印“sorry,您猜大了!”

System.out.println("sorry,您猜大了!");

}else{//猜小了:打印“sorry,您猜小了!”

System.out.println("sorry,您猜小了!");

}

}



//最多只能猜5次,否则提示“sorry,您没有机会了!”

if(i==4){

System.out.println("您已经猜了"+(i+1)+"次了,sorry,您没有机会了!");

}else{

System.out.println("您还剩"+(4-i)+"次机会,请好好把握!");

}

}

}

}

5 练习

题目:Scanner输入并打印变量值

定义类:Test1,定义main()方法,按以下步骤编写代码:

A. 导入Scanner类;

B. 在main()方法中实例化Scanner对象;

C. 打印:请输入你的姓名:

D. 定义变量,接收用户输入(调用next()方法);

E. 打印:请输入你的年龄:

F. 定义变量,接收用户输入(调用nextInt()方法);

G. 打印:请输入你的身高(单位:米):

H. 定义变量,接收用户输入(调用nextDouble()方法);

I. 分三行打印三个变量的值;

public class Test {

@SuppressWarnings("resource")

public static void main(String[] args) {



//  A.导入Scanner类;

//  B.在main()方法中实例化Scanner对象;

Scanner sc = new Scanner(System.in);



//  C.打印:请输入你的姓名:

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

//  D.定义变量,接收用户输入(调用next()方法);

String ss = sc.next();

//  E.打印:请输入你的年龄:

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

//  F.定义变量,接收用户输入(调用nextInt()方法);

int age = sc.nextInt();

//  G.打印:请输入你的身高(单位:米):

System.out.println("请输入你的身高(单位:米):");

//  H.定义变量,接收用户输入(调用nextDouble()方法);

int hegiht = sc.nextInt();

//  I.分三行打印三个变量的值;

System.out.println(ss);

System.out.println(age);

System.out.println(hegiht);

}

}

题目:判断18岁以上为成年

定义类:Test2,定义main()方法,按以下步骤编写代码:

A. 导入Scanner类;

B. 在main()方法中实例化Scanner对象;

C. 打印:请输入你的年龄:

D. 定义变量,接收用户输入;

E. 判断此变量:

 如果18岁以上,打印:你成年了

 否则,打印:你未成年

public class Test {

@SuppressWarnings("resource")

public static void main(String[] args) {

//  A.导入Scanner类;

//  B.在main()方法中实例化Scanner对象;

Scanner sc = new Scanner(System.in);

//  C.打印:请输入你的年龄:

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

//  D.定义变量,接收用户输入;

int ii = sc.nextInt();

//  E.判断此变量:

//    如果18岁以上,打印:你成年了

//    否则,打印:你未成年

if (ii>18) {

System.out.println("你成年了");

}else{

System.out.println("你未成年");

}

}

}

题目:判断年龄段,婴儿,少儿,少年,青年,中年,老年

定义类:Test5,定义main()方法,按以下要求编写代码:(此例需要Scanner)

A. 请用户输入一个年龄;

B. 判断年龄:

1—3岁:打印:婴儿

4—9岁:打印:少儿

10—17岁:打印:少年

18—45岁:打印:青年

46—60岁:打印:中年

60以上:打印:老年

否则:错误的年龄!

public class Test {

@SuppressWarnings("resource")

public static void main(String[] args) {


//  A.请用户输入一个数字:

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个年龄:");

int int1 = sc.nextInt();

//  B.判断年龄:

//  1—3岁:打印:婴儿

//  4—9岁:打印:少儿

//  10—17岁:打印:少年

//  18—45岁:打印:青年

//  46—60岁:打印:中年

//  60以上:打印:老年

//  否则:错误的年龄!



if (int1>0&&int1<4) {

System.out.println("婴儿");

}else if(int1>3&&int1<10){

System.out.println("少儿");

}else if(int1>9&&int1<18){

System.out.println("少年");

}else if(int1>17&&int1<46){

System.out.println("青年");

}else if(int1>45&&int1<61){

System.out.println("中年");

}else if(int1>60){

System.out.println("老年");

}else{

System.out.println("错误的年龄!");

}

}

}

1:熟练使用switch,完成下边练习:

一年有12个月,当输入3-5时,输出春天,6-8时,输入夏天,以此类推

package StudyJavaSE;


import java.util.Scanner;


/**

* 一年有12个月,当输入3-5时,输出春天,6-8时,输入夏天,以此类推

* @author 奋斗蒙

*

*/

public class Switch {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入月份:(1-12的整数)");

int x = sc.nextInt();



switch (x) {

case 12:

case 1:

case 2:

System.out.println(x+"月份是冬天,注意保暖");

break;

case 3:

case 4:

case 5:

System.out.println(x+"月份是春天,注意防风");

break;

case 6:

case 7:

case 8:

System.out.println(x+"月份是夏天,注意防晒");

break;

case 9:

case 10:

case 11:

System.out.println(x+"月份是秋天,好吃的可多了");

default:

System.out.println("请输入1——12的整数,谢谢。");

break;

}

}

}

附加题:根据工龄判断员工薪资(学生做)

 

分析以下需求,并用代码实现:

根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

涨工资的条件如下:

[10-15)     +5000

[5-10)      +2500

[3-5)       +1000

[1-3)       +500

[0-1)       +200

例如:用户输入的工龄为10,基本工资为3000,程序运行后打印格式:

您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

import java.util.Scanner;

/**

* 根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

* 涨工资的条件如下:

*  [10-15)     +5000

*  [5-10)      +2500

*  [3-5)       +1000

*  [1-3)       +500

*  [0-1)       +200

*  例如:用户输入的工龄为10,基本工资为3000,程序运行后打印格式:

* 您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

*/

public class Emp {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入查询员工的工龄:");

int x = sc.nextInt();


int jMoney = 3000;


if (x >= 10 & x < 15) {

// 应该涨工资

int zMoney = 5000;


// 涨后工资

int zhMoney = jMoney + zMoney;

System.out.println("您输入的工龄是 " + x + " 年,基本工资为3000,应涨工资" + zMoney + ",涨后工资为" + zhMoney);

}


if (x >= 5 & x < 10) {

// 应该涨工资

int zMoney = 2500;


// 涨后工资

int zhMoney = jMoney + zMoney;

System.out.println("您输入的工龄是 " + x + " 年,基本工资为3000,应涨工资" + zMoney + ",涨后工资为" + zhMoney);

}

if (x >= 3 & x < 5) {

// 应该涨工资

int zMoney = 1000;


// 涨后工资

int zhMoney = jMoney + zMoney;

System.out.println("您输入的工龄是 " + x + " 年,基本工资为3000,应涨工资" + zMoney + ",涨后工资为" + zhMoney);

}

if (x >= 1 & x < 3) {

// 应该涨工资

int zMoney = 500;


// 涨后工资

int zhMoney = jMoney + zMoney;

System.out.println("您输入的工龄是 " + x + " 年,基本工资为3000,应涨工资" + zMoney + ",涨后工资为" + zhMoney);

}

if (x >= 0 & x < 1) {

// 应该涨工资

int zMoney = 200;


// 涨后工资

int zhMoney = jMoney + zMoney;

System.out.println("您输入的工龄是 " + x + " 年,基本工资为3000,应涨工资" + zMoney + ",涨后工资为" + zhMoney);

}

}

}

//自java帮帮

相关标签: java if switch