关于java:java-从基础到入门三-运算符

29次阅读

共计 3644 个字符,预计需要花费 10 分钟才能阅读完成。

一, 运算符

--1, 算数运算符: +-*/ ++ -- %(模)
--2, 比拟运算符 (后果是 boolean 类型):== != 
--3, 逻辑运算符 (后果是 boolean 类型):+ !(取反) & |
--4, 三元运算符: 1 ? 2 : 3
        -- 后果是 2 或者是 3, 到底是 2 还是 3 要看 1 的后果了,1 如果形容的成立, 后果是 2.1 如果形容不成立, 后果是 3.
--5, 赋值运算符: = += -= *= /=
--6, 逻辑运算符 & | 
    -- 逻辑 &: 示意并且关系
        1 & 2 : 如果最终运算的后果, 想要是 true, 要求 1 和 2, 必须都是 true
    -- 短路与 / 双与 &&: 示意并且关系 -- 高效
        1 && 2 :
            2 的地位可能会产生短路, 当 1 的地位判断完失去 false 时, 后果就曾经注定了是 false, 此时 2 能够不参加运算 (产生短路). 能够提高效率.
        
    -- 逻辑 |: 示意或者关系
        1 | 2 : 如果最终运算的后果, 想要是 true, 要求 1 和 2 中, 有一个 true 就行
    -- 短路或 / 双或 ||: 示意或者关系  -- 高效    
        1 || 2 :
            2 的地位可能会产生短路, 当 1 的地位判断完失去 true 时, 后果早都注定了是 true, 此时 2 能够不参加运算 (产生短路). 用来提高效率.
            --7, 练习:自增自减    
    package cn.tedu.basic;
    // 这个类用来测试 自增 ++   自减 --
    public class Test1_ZIzeng {public static void main(String[] args) {
            int a = 1;
            // 符号在后, 先应用再变动
            System.out.println(a++);//1
            
            int b = 1;
            // 符号在前, 先变动再应用
            System.out.println(++b);//2
            
            System.out.println(++b+b+a++);//3+3+2=8
            
            int c = 1;
            // 符号在后, 先应用再变动
            System.out.println(c--);//1
            
            int d = 1;
            // 符号在前, 先变动再应用
            System.out.println(--d);//0
            System.out.println(--c-c-d--);//-1-(-1)-0=0
        }
    }
 // 这个类用来测试 三元运算符
    public class Test2_MaxValue {public static void main(String[] args) {int a = new Scanner(System.in).nextInt();
            int b = new Scanner(System.in).nextInt();

            // 两个数里的大值:max 记录的值可能是 a 也可能是 b, 到底是 a 还是 b 呢?-- 要看 a >b 判断成立不
            int max = a > b ? a : b;
            System.out.println("a b 里的大值是:" + max);

            // 三个数里的大值:
            int c = new Scanner(System.in).nextInt();
            
            //res 记录着 max 和 c 里的大值
            int res = max  > c ? max : c ;
            System.out.println("a b c 里的大值是:"+res);
            
            //TODO 优化: 一步到位
    //        int res = a > b ? 2 : 3 ;
    //        int res = a > b ? a 大 : b 大 ;
            int res = a > b ? (a > c ? a : c) : (b > c ? b : c) ;
            System.out.println("a b c 里的大值是:"+res);
        }
    }
    
    二,!!! 分支构造:if
--1, 概述
    分支构造是绝对于程序构造而言的. 程序构造只能一行一行程序的从上往下执行. 然而无奈实现先判断再执行的需要.
--2, 语法
    单分支:
    if(判断条件){满足了条件代码}
    多分支:
    if(判断条件){满足了条件代码}else{不满足了条件代码}
    嵌套分支:
    if(判断条件 1){满足了条件代码 1}else if(判断条件 2){满足了条件代码 2}else if(判断条件 3){满足了条件代码 3}else{
        下面的谁都不满足才要执行的代码 4
         package cn.tedu.ifdemo;
        import java.util.Scanner;
        // 这个类用来测试 if
        public class Test4_IF {public static void main(String[] args) {
                //1, 接管用户输出的原价
                double price = new Scanner(System.in).nextDouble();
                
        //        double discount = price;// 定义变量, 记录折后价
                
                //2, 开始计算折后价, 并输入
                if(price >= 5000) {// 满 5000 打 5 折
        //            price = price * 0.5 ;
                    
                    price *= 0.5 ;// 等效于:price=price*0.5; 相当于是一种简写模式.
                    
                }else if(price >= 2000) {// 满 2000 打 8 折
        //            price = price * 0.8 ;
                    price *= 0.8 ;
                }else if(price >= 1000) {// 满 1000 打 9 折
        //            price = price * 0.9 ;
                    price *= 0.9 ;
                }
                //3, 输入
        //        System.out.println("原价是:"+price+", 折后价是:"+discount);
                System.out.println("折后价是:"+price);
            }
        }   
     --4, 练习: 统计学员得分
    package cn.tedu.ifdemo;

    import java.util.Scanner;

    // 这个类用来测试 if
    public class Test5_If2 {public static void main(String[] args) {
            // 1, 接管用户输出的分数
            int score = new Scanner(System.in).nextInt();

            // 为了加强程序的健壮性. 设置下限 100 和上限 0
            if (score > 100 || score < 0) {System.out.println("请您输出无效的分数!");
                return;// 完结程序
            }
            // 2, 判断
            if (score >= 90) {// 90 分以上 优良
                System.out.println("优良");
            } else if (score >= 80 && score <= 89) {// 80~89 良好
                System.out.println("良好");
            } else if (score >= 70 && score <= 79) {// 70~79 中等
                System.out.println("中等");
            } else if (score >= 60 && score <= 69) {// 60~69 及格
                System.out.println("及格");
            } else if (score < 60) {// 60 分以下 不及格
                System.out.println("不及格");
            }
        }
    }
    
    三, 分支构造:switch
--1, 概述
    也能够实现先判断再执行的需要.
--2, 语法:
    switch(判断条件){case 0 : syso(0) ;    break;
        case 1 : syso(1) ;    
        case 'x' : syso(2) ;    
        case "java" : syso(3) ; 

        default:syso(100) ;    
    }
--3, 练习:
    package cn.tedu.ifdemo;
    // 这个类用来测试  switch
    public class Test6_Switch {public static void main(String[] args) {
            
            int sum  = 2 ;
            //1, 判断条件: 能够转化为 int 类型的表达式.
            // 能够是 byte short char int 类型.jdk7 当前, 反对 String 类型.
            switch(sum) {case 1 : System.out.println(1);
                //2, 自从胜利匹配了 case 后, 会持续向后穿透所有 case 包含 default
                case 2 : System.out.println(2);break ;//3, 立即完结
                case '2' : System.out.println('2');break ;
                case 'x' : System.out.println('x');break ;
                case 100 : System.out.println(100);break ;
                
                default :System.out.println(666);
            }
        }
    }

四, 循环构造:for

--1, 概述
    是指在程序中, 须要反复执行很屡次的某些性能.
--2, 语法
    for(循环的开始地位; 循环的判断条件; 循环的更改条件){循环体}
--3, 练习:package cn.tedu.fordemo;
    // 这个类用来测试 for 循环
    public class Test7_For {public static void main(String[] args) {
            //int i = 0 循环的开始地位
            //i <= 10 循环的判断条件
            //i++ 循环的更改条件, 使 i 一直自增
            //i 就示意每次获取到的数据
            for(int i = 0; i <= 10 ; i++){// 练习:打印 0 到 10
                System.out.println(i);// 打印以后 i 的值
            }
            
            // 练习:打印 10 到 0
            for(int i = 10 ; i >= 0  ; i--) {System.out.println(i);
            }
            
            //TODO 打印 8,88,888,8888
            //TODO 画流程图!!
        }
    }

正文完
 0