Day5

 

一、笔记:

1 = 4
2 = 8
3 = 24
4 = ?   
理论上:1   逻辑上:96  实际:4


;是结束java的一句代码

回顾:
for循环:
格式:
for(初始化表达式;判断条件;增值表达式){
    
    循环体;

}

流程:.....


for(;;){

  for(;;){


  }
}

外层循环一次,内层循环多次
***
***
***
外层控制行数,内层控制列数


----------------------------------------------------------------------------------------------------------

其他循环:while循环相当于是将for循环拆开了!
格式:
while(判断条件){

  循环体;


}


do{
  循环体;

}while(判断条件);

 

while循环和do...while循环的区别?
while:只有在判断条件成立时,才执行循环体    (先判断,后执行)
do...while:无论判断条件是否成立,循环体至少执行一次(先执行,后判断)


while经常用来写死循环。

垃圾回收图解:

 

内存:

 

 

内存分布:

 

 

关键字:

break:停止、终止   在循环中,表示停止当前循环
continue:继续     在循环中,表示跳出本次循环,继续执行下一次循环
return:返回   停止方法

----------------------------------------------------------------------------------------

流程控制语句之选择语句:

格式:

switch(变量){

 case 值1:
    语句1;
    
 case 值2:
    语句2;
 case 值3:
     语句3;
 case ..:
          语句...;

 default:
         语句4;

}
流程:程序拿到变量与case值进行匹配,如果匹配成功执行相应case的语句,若所有case都匹配失败,则执行默认的default中的语句4.

停止switch的方式:
1.当程序执行到switch语句最后
2.当遇到break时,switch语句停止。

【注】如果switch中没有使用break进行控制,会发生case穿透现象。
     default语句与case语句没有位置关系,只要变量与case没有匹配成功都会执行default语句,如果default语句在其他位置上时,需要加break进行控制,通常来说,default出现在最后一个case的后边。
switch可识别的类型:byte short int char  但是在JDK1.7中加入了新特性:switch也可以识别String(字符串)类型

 

 

public class 随机数
{
    public static void main(String[] args)
    {
        /*
        随机获取1~10之间的数字
        Math.random() 返回的是一个double类型的值, 0~9
        */
        int i = (int)(Math.random()*10+1);//1~10
        System.out.println(i);
    }
}

 

 

二、 老铁,来做点题活动下大脑吧

1.回文是指正向读和反向读都一样的一段数字,
            例如,32123.编写程序输入一个5位整数,
            并判断它是否是回文。
            如果输入数没有5位,则显示一个错误信息。

import java.util.Scanner;
public class  HuiWen {
	public static void main(String[] args) {
		/*
			回文是指正向读和反向读都一样的一段数字,
			例如,32123.编写程序输入一个5位整数,
			并判断它是否是回文。
			如果输入数没有5位,则显示一个错误信息。
		*/
			Scanner sc=new Scanner(System.in);
			System.out.println("请输入一个五位整数");
			int num=sc.nextInt();
			if(num>=10000&&num<=99999){
				int a=num/10000%10;
				int b=num/1000%10;
				int c=num/100%10;
				int d=num/10%10;
				int e=num%10;
				if(a==e&&b==d){
					System.out.println("您输入的五位整数是回文");
				}else{
					System.out.println("您输入的五位整数不是回文");
				}
					
			}else {
				System.out.println("您输入有误");	
			}
		
	   }
}

 

2.一家公司希望通过电话传输数据,
        但担心电话可能遭到窃听。
        所有的数据都是以4位整数进行传输的。
        该公司要求你编写程序,对数据进行加密,
        以便数据的传输更加安全。
        应用程序读取用户输入的4位整数,
        然后按如下方式对其加密:计算各位数加上7后的和,
        再除以10,用所得到的余数替换对应的数字。
        然后交换第1个数字和第3个数字,
        第2个数字和第4个数字。显示加密后的整数。
        例:1224 加密后结果 9189

import java.util.Scanner;
public class  JiaMi {
	public static void main(String[] args) {
		/*
		一家公司希望通过电话传输数据,
		但担心电话可能遭到窃听。
		所有的数据都是以4位整数进行传输的。
		该公司要求你编写程序,对数据进行加密,
		以便数据的传输更加安全。
		应用程序读取用户输入的4位整数,
		然后按如下方式对其加密:计算各位数加上7后的和,
		再除以10,用所得到的余数替换对应的数字。
		然后交换第1个数字和第3个数字,
		第2个数字和第4个数字。显示加密后的整数。
		例:1224 加密后结果 9189
		*/
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入四位整数");
		int num=sc.nextInt();
		if(num>=1000&&num<=9999){
				int a=num/1000;//获得千位
				int b=num/100%10;//获得百位
				int c=num/10%10;//获得十位
				int d=num%10;//获得个位
				//加密后的数字
				int e=(a+7)%10;
				int f=(b+7)%10;
				int g=(c+7)%10;
				int h=(d+7)%10;
			System.out.println(g+""+h+""+e+""+f);//输出时交换数字



		}else{
		System.out.println("输入格式错误");
		}

		
	}
}

3.分析以下需求,并用代码实现:
(1)根据工龄(整数)给员工涨工资(整数),
工龄和基本工资通过键盘录入
(2)涨工资的条件如下:
    [10-15)     +5000
    [5-10)      +2500
    [3~5)       +1000
    [1~3)       +500
    [0~1)       +200
(3)如果用户输入的工龄为10,基本工资为3000,
程序运行后打印格式"您目前工作了10年,
基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

import java.util.Scanner;
public class JiaXin {
	public static void main(String[] args) {
		/*
		分析以下需求,并用代码实现:
(1)根据工龄(整数)给员工涨工资(整数),
工龄和基本工资通过键盘录入
(2)涨工资的条件如下:
	[10-15)     +5000
	[5-10)      +2500
	[3~5)       +1000
	[1~3)       +500
	[0~1)       +200
(3)如果用户输入的工龄为10,基本工资为3000,
程序运行后打印格式"您目前工作了10年,
基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的工龄(整数1~14)");
int gongzi=3000;
int num=sc.nextInt();
if(num>=10&&num<15){
	gongzi+=5000;
	System.out.println("您目前工作了"+num+"年,基本工资为"+3000+"元,应涨工资"+5000+"元,涨后工资"+gongzi+"元");
		
		}else  if(num>=5&&num<10){
	gongzi+=2500;
	System.out.println("您目前工作了"+num+"年,基本工资为"+3000+"元,应涨工资"+2500+"元,涨后工资"+gongzi+"元");
	}else  if(num>=3&&num<5){
	gongzi+=1000;
	System.out.println("您目前工作了"+num+"年,基本工资为"+3000+"元,应涨工资"+1000+"元,涨后工资"+gongzi+"元");
		}else  if(num>=1&&num<3){
	gongzi+=500;
	System.out.println("您目前工作了"+num+"年,基本工资为"+3000+"元,应涨工资"+500+"元,涨后工资"+gongzi+"元");
	}else  if(num>=0&&num<1){
	gongzi+=200;
	System.out.println("您目前工作了"+num+"年,基本工资为"+3000+"元,应涨工资"+200+"元,涨后工资"+gongzi+"元");

		}else{
			System.out.println("输入错误");
		}
	}
}

永远不抱怨,一切靠自己!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值