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 }