02_Java语法(续)

1.代码实例

 1 /**
 2  * 需求:交换两个变量的值,不借助第三个变量。
 3  * @author jliu.l
 4  * @2020年7月2日
 5  * 
 6  */
 7 public class Demo01 {
 8 
 9     public static void main(String[] args) {
10         //准备数据
11         int a = 10;
12         int b = 12;
13         System.out.println("交换前:a = "+a+"	"+"b = "+b);
14         
15         //处理数据
16         b = b-a;
17         a = b+a;
18         b = a-b;
19         
20         //输出数据
21         System.out.println("交换后:a = "+a+"	"+"b = "+b);
22     }
23 }
 1 /**
 2  * 技能点:逻辑运算符
 3  * true        1
 4  * false    0
 5  * & 逻辑与    如果两个操作数都是true,则结果为true,否则为false
 6  * | 逻辑或 如果两个操作数只要有一个是true,则结果为true
 7  * ^ 异或 两个操作数如果相同,则结果为false,否则为true
 8  * ! 逻辑反 取反操作
 9  * & 逻辑与    不管结果是什么,都要计算所有的表达式
10  * &&  短路与     如果第一个表达式为false,后面就不会计算了
11  * 
12  * ||  短路或   如果第一个表达式为true,后面就不会计算了
13   * 特点:
14   * 逻辑运算符与布尔操作数一起使用
15  * 
16  * @author jliu.l
17  * @2020年7月2日
18  * 
19  */
20 public class Demo02 {
21     
22     public static void main(String[] args) {
23         boolean v = true;
24         boolean v2 = false;
25         
26         System.out.println(v & v2);    //false
27         System.out.println(v | v2);    //true
28         System.out.println(v ^ v2);    //true
29         System.out.println(!v);    //false
30         
31         int num = 5;
32         System.out.println(5>4 | ++num< 16);    //true
33         System.out.println(num);    //6
34         
35         System.out.println(num>4 || ++num< 16);    //true
36         System.out.println(num);    //6
37         
38         System.out.println(5<6 | 'A'>'a' & 12*6<=45+23 & !true);
39         System.out.println(true | false & false & false);
40     }
41 }
 1 /**
 2  * 需求:位运算符    
 3  * &    按位与
 4  * |    按位或
 5  * ^    按位异或
 6  * ~    按位取反
 7  * 
 8  * >>    右移
 9  * <<    左移
10  * >>>    无符号右移
11  * 
12  * 1、位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
13  * 2、如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果也为int
14  * 
15  * @author jliu.l
16  * @2020年7月2日
17  * 
18  */
19 public class Demo03 {
20     public static void main(String[] args) {
21         
22         int num = 4;    //0000 0100
23         int num2 = 6;    //0000 0110
24         
25         System.out.println(num & num2); //4        0000 0100
26         
27         System.out.println(num | num2);    //6        0000 0110
28         
29         System.out.println(num ^ num2);    //2        0000 0010
30         
31         System.out.println(~num);    //-5    1111 1011 - 1 = 1111 1010 -> 0000 0101 -> -5
32         
33         System.out.println(num>>1);    //2
34         
35         System.out.println(num>>>1);    //2
36     }
37 }
 1 import java.util.Scanner;
 2 /**
 3   * 需求:从控制台输入学员3门课程成绩(html,java,sql),编写程序实现
 4  *         (1)Java课和SQL课的分数之差
 5  *         (2)3门课的平均分
 6  * @author jliu.l
 7  * @2020年7月2日
 8  * 
 9  */
10 public class Demo04 {
11     public static void main(String[] args) {
12         
13         //准备数据
14         Scanner sc = new Scanner(System.in);
15         System.out.print("请输入html成绩:");
16         double html = sc.nextDouble();
17         System.out.print("请输入java成绩:");
18         double java = sc.nextDouble();
19         System.out.print("请输入sql成绩:");
20         double sql = sc.nextDouble();
21         
22         //处理输出数据
23         System.out.println("Java课和SQL课的分数之差:"+Math.abs(java-sql));
24         
25         System.out.printf("3门课的平均分:%.2f",(java+html+sql)/3);
26     }
27 }
 1 /**
 2  *    1.初始化a=3,b=4;请计算:
 3  *    (1) (a++)/3+(--b)*2-(a--)%6+(b++)*3-(b--) 
 4  *        3/3+3*2-4%6+3*3-4
 5  *        1+6-4+9-4 = 8
 6  *
 7  *    (2) (++b)*2-(a--)%4+(a++)*5-(--b)/2+(--a) 
 8  *        5*2-3%4+2*5-5/2+2 = 17
 9  *
10  *    (3) (a--)*6+(b++)/3-(--a)*2-(--b)*2+(++a)
11  *        3*6+4/3-1*2-4*2+2 = 11        
12  *
13  *    (4) a>b&(a++)>b&(--b)<a&(b++)>(a--);
14  *        false & false & true & false     
15  *
16  *    (5)b<=a|(b--)>(--a)|(++b)!=(a++)|(b--)==(a--) false | true |true | false =true    
17  *             3        2      4         3       3      3
18  *        flase | true | true | false 
19  *
20  * @author jliu.l
21  * @2020年7月2日
22  * 
23  */
24 public class Demo05 {
25     public static void main(String[] args) {
26         
27         int a = 3;
28         int b = 4;
29         //System.out.println((a++)/3+(--b)*2-(a--)%6+(b++)*3-(b--));    //8
30         //System.out.println((++b)*2-(a--)%4+(a++)*5-(--b)/2+(--a) );    //17
31         //System.out.println((a--)*6+(b++)/3-(--a)*2-(--b)*2+(++a));    //11
32         //System.out.println(a>b&(a++)>b&(--b)<a&(b++)>(a--));    //false
33         System.out.println(b<=a|(b--)>(--a)|(++b)!=(a++)|(b--)==(a--));    //true
34     }
35 }
 1 /**
 2  * 需求:从控制台输入3个整数,然后按从小到大排序出来
 3  * @author jliu.l
 4  * @2020年7月2日
 5  * 
 6  */
 7 public class Demo01 {
 8 
 9     public static void main(String[] args) {
10         //准备数据
11         Scanner sc = new Scanner(System.in);
12         System.out.print("请任意输入三个整数,以空格隔开:");
13         int a = sc.nextInt();
14         int b = sc.nextInt();
15         int c = sc.nextInt();
16         System.out.print("排序前的顺序为:"+a+"		"+b+"	"+c+"
");
17         
18         //处理输出数据
19         if(a>b) {
20             if(c<b) {
21                 System.out.println("从小到大排序后:"+c+"		"+b+"	"+a);
22             }else if(c>a) {
23                     System.out.println("从小到大排序后:"+b+"		"+a+"	"+c);
24             }else {
25                     System.out.println("从小到大排序后:"+b+"		"+c+"	"+a);
26             }
27         }else {    //a<b
28             if(c<a) {
29                 System.out.println("从小到大排序后:"+c+"		"+a+"	"+b);
30             }else if (c>b) {
31                 System.out.println("从小到大排序后:"+a+"		"+b+"	"+c);
32             }else {
33                 System.out.println("从小到大排序后:"+c+"		"+b+"	"+a);
34             }
35         }
36     }
37 }
 1 /**
 2   * 需求:成绩score=80,
 3   * 如果成绩大于等于60,输出及格,
 4   * 如果成绩大于等于70,输出中等,
 5   * 如果成绩大于等于80,输出良,
 6   * 如果成绩大于等于90,输出优秀,
 7   * 如果成绩小于60,输出不及格。
 8  * @author jliu.l
 9  * @2020年7月2日
10  * 
11  */
12 public class Demo02 {
13     public static void main(String[] args) {
14         //准备数据
15         Scanner scanner = new Scanner(System.in);
16         System.out.print("请输入成绩:");
17         int score = scanner.nextInt();
18         
19         //处理输出数据
20         if(score >= 90) {
21             System.out.println("优秀");
22         }else if (score >= 80) {
23             System.out.println("良");
24         }else if (score >= 70) {
25             System.out.println("中等");
26         }else if(score >= 60) {
27             System.out.println("及格");
28         }else {
29             System.out.println("不及格");
30         }
31         
32         String s =score >= 90 ? "优秀":score>=80 ? "良":score>=70 ? "中等" :score>=60 ? "及格":"不及格";
33         System.out.println(s);
34     }
35 }
 1 /**
 2  * 1.编程实现已知某人的税前工资(要求输入),求他应该缴纳的个人所得税以及最后得到的税后工资。
 3   * 个人所得税计算方法计算方法 :全月应纳税所得额 =工资薪金所得-5000                   税前10000  
 4   * 全月应纳税所得额 = 10000 -5000 =5000
 5   * 应纳税额 = 应纳税所得额 *税率-速算扣除数级数   5000*20%-375
 6   *    全月应纳税所得额                           税率(%)         速算扣除数
 7  *  1 不超过500元的50
 8  *  2 超过500元至2000元的部分        10       25
 9  *  3 超过2000元至5000元的部分       15       125
10  *    4 超过5000元至20000元的部分                20       375
11  *    5 超过20000元至40000元的部分              25       1375
12  *    6 超过40000元至60000元的部分              30       3375
13  *    7 超过60000元至80000元的部分              35       6375
14  *    8 超过80000元至100000元的部分            40       10375
15  *    9 超过100000元的部分                            45       15375
16  * @author jliu.l
17  * @2020年7月2日
18  * 
19  */
20 public class Demo06 {
21 
22     public static void main(String[] args) {
23         Scanner scanner = new Scanner(System.in);
24         System.out.print("请输入一个税前工资:");
25         int count = scanner.nextInt();
26         int pay = count -5000;
27         if(pay > 100000) {
28             int y = pay*45/100-15375;
29             System.out.println("应纳税额:"+y);
30             System.out.println("最后得到的税后工资:"+(count-y));
31         }else if(pay>80000) {
32             int y = (pay*40/100-10375);
33             System.out.println("应纳税额:"+y);
34             System.out.println("最后得到的税后工资:"+(count-y));
35         }else if (pay>60000) {
36             int y = (pay *35/100-6375);
37             System.out.println("应纳税额:"+y);
38             System.out.println("最后得到的税后工资:"+(count-y));
39         }else if (pay >40000) {
40             int y = (pay*35/100-6375);
41             System.out.println("应纳税额:"+y);
42             System.out.println("最后得到的税后工资:"+(count-y));
43         }else if (pay >20000) {
44             int y = (pay*25/100-1375);
45             System.out.println("应纳税额:"+y);
46             System.out.println("最后得到的税后工资:"+(count-y));
47         }else if (pay >5000) {
48             int y = (pay*20/100-375);
49             System.out.println("应纳税额:"+y);
50             System.out.println("最后得到的税后工资:"+(count-y));
51         }else if (pay >2000) {
52             //System.out.println("3等");
53             int y = (pay*15/100-125);
54             System.out.println("应纳税额:"+y);
55             System.out.println("最后得到的税后工资:"+(count-y));
56         }else if (pay >500) {
57             int y = (pay*10/100-25)+50;
58             System.out.println("应纳税额:"+y);
59             System.out.println("最后得到的税后工资:"+(count-y));
60         }else if (pay >0 && pay <= 500){
61             System.out.println("应纳税额:"+50);
62             System.out.println("最后得到的税后工资:"+(count-50));
63         }else {
64             System.out.println("最后得到的税后工资:"+count);
65         }
66     }
67 }
原文地址:https://www.cnblogs.com/jliu-l/p/13225648.html