zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    AD域修改组策略
    C#图像处理
    JsonResult序列化并保存json文件 以及对json文件读取反序列
    Git+Github代码管理控制
    Math.random控制随机数范围
    vue使用全局element-ui组件
    css3 vw、vh属性详解,以及与%、rem的区别介绍
    vue 中安装使用sass 报错遇到的问题整理
    如何将本地项目上传到Github
    GitHub优秀项目
  • 原文地址:https://www.cnblogs.com/jliu-l/p/13225648.html
Copyright © 2011-2022 走看看