@Java
Java中利用if语句来实现中国个人所得税的计算方法
大家好,我是Ziph!
我是一名17级的应届毕业生,所学专业为软件技术。
我只是个简单的应届毕业生,稍有点基础,但是我现在还在向上爬,还在学知识,我只是想通过写博客的方式来记录我的所学、所得、所感。
知识尚又欠缺,如果我有错误,或者还有所改善我将虚心学习。还请各IT界大佬和同僚们的支持与帮助!在此先谢谢大家!
我将保持的我的初心,用我的方式来帮助热爱Java的初学者!(毕竟的我知识层面也不高,哈哈)
其实我很久以前就有了博客,但是只是为了查询解难,我觉得想要迈进Java程序员的门槛,就必须养成自学、自律、勤动手、记笔记的好习惯。所以我正式的进入到了CSDN来完成我每天的知识总结。
这是我第一次写博客,请大家多多指教。如有问题和建议请发Email告知!谢谢!欢迎大家和我一起学习进步!
Email:[email protected]
接下来我们进入正题:
(if 语句)中国的个税计算方法:
注意:现在国家税收早已改革不要在意这些细节,注意看题!
应税所得为税前收入扣除 3500 元(起征点),然后超出部分,按照以下税率收税:
规则:应缴税款 = (税前工资 - 各类保险 - 3500) * 税率 - 速算扣除数。
注意:此处各类保险默认为 262 元。
实发工资 = 税前工资 - 应缴税款 - 各类保险。
例如:若税前工资为 15000,各类保险 262 元。
应缴税款(1804.5) = (15000 - 262 - 3500) * 0.25 - 1005
实发工资(12933.5) = 15000 - 1804.5 - 262
要求:读入一个整数,表示税前收入,输出应当缴纳的个人所得税和税后实际收入。
参考代码如下:
import java.util.Scanner;
public class TestTax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入你需要查询的工资:");
double salary = sc.nextDouble();//税前工资
//默认公司员工最低工资为500元,
//以防止输入负数和小于262的工资数而出现负数
if (salary < 500) {
System.out.println("您的输入有误!");
return;//输入有误,程序结束!
}
double taxBefore = salary - 262 - 3500;//应税工资
double tax = 0.0;//税款
if (taxBefore > 0) {//1、需要缴税的判断
if (taxBefore <= 1500) {
tax = taxBefore * 0.03;
} else if (taxBefore <= 4500) {
tax = taxBefore * 0.1 - 105;
} else if (taxBefore <= 9000) {
tax = taxBefore * 0.2 - 555;
} else if (taxBefore <= 35000) {
tax = taxBefore * 0.25 - 1005;
} else if (taxBefore <= 55000) {
tax = taxBefore * 0.3 - 2755;
} else if (taxBefore <= 80000) {
tax = taxBefore * 0.35 - 5505;
} else {
tax = taxBefore * 0.45 - 13505;
}
} else {//2、不需要缴税的判断(1、2顺序改变可以减少一下判断)
System.out.println("您当前的工资不需要缴纳税款!但是需要缴纳保险费用!");
}
double taxSalary = salary - tax - 262;//税后实际收入
System.out.println("您应当缴纳的个人所得税为:" + tax
+ "元,实际收入为:"
+ taxSalary + "元!");
}
}
测试如下:
第一次发帖有问题请留言,如有错误请Email联系我!谢谢大家!
欢迎大家一起加入java学习的行列!我会持续更新我的所学、所得和所感!