zoukankan      html  css  js  c++  java
  • day02

    今天老师主要说了循环语句和条件判断语句,还有老师自己写了一个关于员工工资计算的类。

       1.在循环语句中如果要一序列的循环条件中不执行某一条指令可以用到continue语句

          比如for(int i=1;i<30;i++)

              {

                 if(i==25){

                  continue;

                      }

                 System.out.println(i);

              //这样输出中就不会有25;

             }

           2.在调试的过程中老师还为我们演示了如何Debug调试,Debug调试中老师建议只需要在主方法中设置一个断点。

    3.在观看老师写员工工资计算的过程中,我觉得当我们写一个类的时候应该先写方法,然后再根据方法中用到了那些参数,属性,然后思考方法中的属性是应该只是在本类中使用还是应该设置为全局变量,在这些条件下再去写出类需要用到的属性。即先写方法,然后再回到方法的前面去写属性,这样就不用先考虑类需要使用到那些属性的名称,有利于提高写代码的效率。

    package day02.practise;
    
    public class CaculateSalaryManager {
    
    	//某一年的工龄工资
    	private double nWorkAgeSalary;
    	//求和的工龄工资
    	private double sumWorkAgeSalary;
    	//总的工资
    	private double sumSalary;
    	//实际工资
    	private double factSalary;
    	
    	/**
    	 * 计算总的工龄工资的方法
    	 * @param workAge:工龄
    	 * @param firstWorkAgeSalary:满1年的工龄工资(加的薪水)
    	 * @return:返回的总的工龄工资。
    	 */
    	public double getSumWorkAgeSalary(int workAge, double firstWorkAgeSalary){
    		if(workAge == 0){
    			//刚刚入职,是没有工龄工资
    			sumWorkAgeSalary = 0;
    		}else{
    			//刚workAge = 1的时候,刚好满1年,计算nWorkAgeSalary和sumWorkAgeSalary
    			nWorkAgeSalary = firstWorkAgeSalary;
    			sumWorkAgeSalary = nWorkAgeSalary;
    			
    			//当workAge >= 2的时候,计算nWorkAgeSalary和sumWorkAgeSalary
    			for(int i = 2; i <= workAge; i ++){
    				nWorkAgeSalary = nWorkAgeSalary * 1.5;
    				sumWorkAgeSalary = nWorkAgeSalary + sumWorkAgeSalary;
    			}
    			
    		}
    		return sumWorkAgeSalary;
    		
    	}
    	
    	/**
    	 * 获取总的工资的方法
    	 * @param basicSalary:底薪或者基本工资。
    	 * @return:总的工资
    	 */
    	public double getSumSalary(double basicSalary){
    		sumSalary = sumWorkAgeSalary + basicSalary;
    		return sumSalary;
    	}
    	
    	/**
    	 * 计算实际工资的方法(发到工资卡里边去的)
    	 * @return
    	 */
    	public double getFactSalary(){
    		if(sumSalary <= 3500){
    			//不需要缴税,不需要交住房公积金。
    			factSalary = sumSalary;
    		}else if(sumSalary > 3500 && sumSalary <= 8000){
    			factSalary = sumSalary * (1 - 0.05) * (1 - 0.08);
    		}else if(sumSalary > 8000 && sumSalary <= 20000){
    			factSalary = sumSalary * (1 - 0.07) * (1 - 0.1);
    		}else{
    			factSalary = sumSalary * (1 - 0.1) * (1 - 0.15);
    		}
    		return factSalary;
    	}
    	
    	
    	public static void main(String[] args) {
    		CaculateSalaryManager manager = new CaculateSalaryManager();
    		//调用获取总的工龄工资的方法
    		manager.getSumWorkAgeSalary(3, 3000);
    		System.out.println("总的工龄工资为:" + manager.sumWorkAgeSalary);
    		
    		//调用获取总工资的方法
    		manager.getSumSalary(5000);
    		System.out.println("总的工资为:" + manager.sumSalary);
    		
    		//调用获取实际工资的方法
    		manager.getFactSalary();
    		System.out.println("实际工资为:" + manager.factSalary);
    	} 
    
    }
    

      

  • 相关阅读:
    Arduino通信篇系列之print()和write()输出方式的差异
    通信协议之Modbus协议(一)
    CAD制图系列一之绘图、标注、修改、视图
    Arduino系列之pwm控制LED灯(呼吸灯)
    [转]GDB调试基础
    Linux上编辑然后执行一段脚本的机制
    [转]进程创建-终结流程图
    [ 转]Linux进程关系
    Linux进程管理(四、 进程终结)
    Linux进程管理(三、 线程)
  • 原文地址:https://www.cnblogs.com/lyunyu/p/3168636.html
Copyright © 2011-2022 走看看