Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators

Posted 尹正杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators相关的知识,希望对你有一定的参考价值。

      Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators

                                  作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.赋值运算符

  表达式的数据类型要与左边变量的类型兼容

1>.常规赋值

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 public class Assignment{
 8     public static void main(String[] args){
 9         //1>.赋值
10         int x = 123;
11         
12         x = 123 + 5;
13         
14         int y = x / 2;
15         
16         // int z = 3.1415926;    //类型不兼容。    
17         
18         System.out.println(x);        //128
19         System.out.println(y);        //64
20     }
21 }

2>.符合赋值,自反赋值

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 public class Assignment2{
 8     public static void main(String[] args){
 9         //复合赋值隐含着强类型转换
10         
11         byte  a = 10;
12         
13         a += 5;            //相当于 a = (byte)(a + 5)
14         
15         System.out.println(a);        //15
16 }
17 }

 

二.条件运算符

   条件运算符也叫三元运算符。语法格式:“(条件)?表达式1:表达式2”,如果条件成立,整个表达式的值就是表达式1的值,如果条件不成立,整个表达式的值就是表达式2的值。

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 public class Demo{
 8     public static void main(String[] args){
 9         
10         int a = 10;
11         int b = 20;
12         int result = a > b ? a:b;
13         
14         /**
15             如果a > b 成立,就把a的值赋值给变量result;
16             如果a > b不成立,就把b的值赋值给变量result;
17             就是把a和b中较大的保存到变量result中。
18         */
19         
20         System.out.println( result );
21         
22         String str = a > b ? "a较大":"b较大";
23         System.out.println( str );
24     
25     
26         int x = 100;
27         int y = 20;
28         int z = 50;
29         
30         // int max = (x>y?x:y)>z?(x>y?x:y):z;    //不建议这样玩,可以用来跟小白装逼用,哈哈~但是可读性太差。
31         
32         int maxAB = x > y ? x:y;
33         
34         int max = maxAB > z ? maxAB:z;
35         
36         System.out.println(max);
37         
38         
39     }
40 }

   如果让你比较三个数字的大小,并从键盘输入的咋办呢?这个时候我们就得导入一个类啦,来帮助我们解决这个问题。

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 
 8 import java.util.Scanner;
 9 
10 public class compare {
11     public static void main(String[] args){
12         /**
13             从键盘输入两个数,显示其中的最大值,要求使用if-else结构.
14         */
15         Scanner Input = new Scanner(System.in);
16         
17         System.out.print("请输入第一个数字:>>>");
18         int num1 = Input.nextInt();
19         
20         System.out.print("请输入第二个数字:>>>");
21         int num2 = Input.nextInt();
22         
23         System.out.print("请输入第三个数字:>>>");
24         int num3 = Input.nextInt();
25     
26         //方案一:
27         // if(num1 > num2){
28             // if (num1 > num3){
29                 // System.out.println(num1);
30             // }else{
31                 // System.out.println(num3);
32             // }
33             
34         // }else{
35             // if (num2 > num3){
36                 // System.out.println(num2);
37             // }else{
38                 // System.out.println(num3);
39             // }
40         // }
41         
42         
43         //方案二:(推荐使用)
44         int res = (num1 > num2)?num1:num2;
45         int max = (res > num3)?res:num3;
46         System.out.println(max);
47         
48         
49         //方案三:(不推荐使用,no 作 no die)
50         
51         // System.out.print("请输入第一个数字:>>>");
52         // int a = Input.nextInt();
53         
54         // System.out.print("请输入第二个数字:>>>");
55         // int b = Input.nextInt();
56         
57         // System.out.print("请输入第三个数字:>>>");
58         // int c = Input.nextInt();
59         // System.out.println("最大值是:" + ((a > b)?(a>c?a:c):(b>c?b:c)));
60         
61     }
62 }

 

以上是关于Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators的主要内容,如果未能解决你的问题,请参考以下文章

Assignment Operators (Operators) – JavaScript 中文开发手册

Java 基础 之 赋值运算符

java-27-28java语言基础-算术运算符&赋值运算符

Java基础——运算符

Java基础_赋值运算

Java基础概述