首页 > 编程语言 > 详细

02_Java语法(续)

时间:2020-07-02 16:48:28      阅读:56      评论:0      收藏:0      [点我收藏+]

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+"\t"+"b = "+b);
14         
15         //处理数据
16         b = b-a;
17         a = b+a;
18         b = a-b;
19         
20         //输出数据
21         System.out.println("交换后:a = "+a+"\t"+"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 }

 

02_Java语法(续)

原文:https://www.cnblogs.com/jliu-l/p/13225648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!