布爾表達式和if語句

一、以前忽略了“三元操作符”,今天遇到了2次。有必要記一下它了。

例:(表達式)int a,b; 請用表達式判斷b是不是a的因子
百度因子的含義:因子就是所有可以整除這個數的數,不包括它本身
(a%b==0)?true:false;

例:(if語句)某項查詢執行之後,n條結果,單頁顯示m條記錄,第i頁顯示第幾條 到第幾條?

三元表達式
布爾表達式?表達式1:表達式2;
如果布爾表達式的值爲真則整個三元表達式的值爲表達式1的值,如果爲假則三元表達式的值爲表達式2的值

二、if語句
例:(if 語句)中國的個稅計算方法:
應稅所得爲稅前收入扣除3500 元(起徵點),然後超出部分,按照以下稅率收稅:
應納稅所得額 稅率(%) 速算扣除數
1500 3% 0
1501-4500 10% 105
4501-9000 20% 555
9001-35000 25% 1005
35001-55000 30% 2755
55001-80000 35% 5505
80000+ 45% 13505
規則:應繳稅款 = (稅前工資 - 各類保險 - 3500) * 稅率 - 速算扣除數。
注意:此處各類保險默認爲262元。

實發工資 = 稅前工資 - 應繳稅款 - 各類保險。

要求:讀入一個整數,表示稅前收入,輸出應當繳納的個人所得稅和稅後實際收入。

我的代碼
package chp1;
import java.util.*;
public class TestTax{
public static void main(String…args){
System.out.print(“請輸入你的稅前收入:”);
Scanner sc=new Scanner(System.in);
double n=sc.nextInt();//n爲稅前收入
if(n<3500){
System.out.println(“免稅”);
return;
}
double m=n-3500;//m爲應納稅所得額
double tax=0.0;//tax爲應繳稅款,問題:這樣寫double tax;爲什麼提示我尚未初始化變量tax
if(m<=1500)
tax=(n-262-3500)*0.03-0;
else if(m<=4500)
tax=(n-262-3500)*0.1-105;
else if(m<=9000)
tax=(n-262-3500)*0.2-555;
else if(m<=35000)
tax=(n-262-3500)*0.25-1005;
else if(m<55000)
tax=(n-262-3500)*0.3-2755;
else if(m<80000)
tax=(n-262-3500)*0.35-5505;
else if(m>=80000)
tax=(n-262-3500)*0.45-13505;
double b=n-tax-262;//b爲實發工資
System.out.println(“應繳納的個人所得稅爲:”+tax);
System.out.println(“稅後的實際收入爲:”+b);
}
}

三、忘記了switch中的break。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章