• 四、Java中的运算符


    /*
    *一、 运算符
    * 1.算数运算符:+,-,*,/,++,--,%
    * 2.关系运算符:<,>,<=,>=,==,!=
    * 3.布尔运算符:&&,||,&,|,!,^
    * 4.位运算符
    * 5.赋值运算符:=,+=,-=,*=,/=,%=
    * 6.字符串运算符:+
    * 7.条件运算符:?
    * 8.其他运算符:instanceof,new
    *
    */

    二、算数运算符

    +,-,*,/,++,--,%

    public class Day12 {
        
        public static void main(String[] args){
            
            int k=10;
            k++;
            System.out.println("k="+k);//11
            
            //++如果出现在变量的后面
            int m=10;
            int e=m++;//如果++出现在变量后面,先赋值再自加1
            System.out.println("e="+e);//10
            System.out.println("m="+m);//11
            
            
            //++出现在变量的前面
            int f=10;
            ++f;
            System.out.println("f="+f);
            
            int c=10;
            int d=++c;//++出现在变量前面,先自加1再赋值
            System.out.println("d="+d);//11
            System.out.println("c="+c);//11
            
            
            
            int z=10;
            System.out.println(z++);//10println中相当于赋值运算xx=z++
            System.out.println(z);//11
            
            int y=10;
            System.out.println(++y);//11
            System.out.println(y);//11
        }
        
    
    }

    三、关系型运算符

    /*
    * 关系型运算符:运算结果一定是真或假
    * <,>,<=,>=,==,!=
    */

    public class Day13 {
        public static void main(String[] args){
            int a=10;
            int b=10;
            //判断两个基本的数据类型是否相等,必须使用“==”
            System.out.println(a>b);
            System.out.println(a>=b);
            System.out.println(a<b);
            System.out.println(a<=b);
            System.out.println(a==b);
            System.out.println(a!=b);
        }
        
    
    }

    四、布尔运算符

    /*
    * 布尔运算符:&&,||,&,|,!,^
    * & 逻辑与 两边都是true,结果是true
    * | 逻辑或 一边是true,结果就是true
    * ! 逻辑非 取反
    * ^ 逻辑异或 两边只要不一致就是true
    *
    * && 短路与 用法和&一样
    * || 短路或 用法和|一样
    *
    * 布尔运算符两边的算子必须是布尔类型,整个表达式的运算符结果也是一个布尔类型
    * 例如:5>3 & 5>5 true
    */

    public class Day14 {
        public static void main(String[] args){
            System.out.println(5>3 & 5>5);//true
            System.out.println(5<3 | 5>5);//true
            
            System.out.println(!false);//true
            System.out.println(true^false);//true
            System.out.println(true^true);//false
            
            //关于短路与或:后边一个表达式不执行
            //什么时候发生短路与:第一个算子结果是false的时候
            //什么时候发生短路或:第一个算子结果是true的时候
    
    //        int a=10;
    //        int b=10;
    //        System.out.println(a<b & a++>=b);//&左右两个表达式都执行
    //        System.out.println(a);//11
            
            int a=10;
            int b=10;
            System.out.println(a<b & a++>=b);//&&第一个表达式为真,第二个表达式不执行
            System.out.println(a);//10
        }
    
    }

    五、赋值运算符

    /*
    * 关于赋值运算符
    * =
    * +=
    * -=
    * *=
    */=
    * %=
    */

    public class Day15 {
        public static void main(String[] args){
            
            //+=
            int i=10;
            i += 10;//相当于i=i+10
            System.out.println(i);//20
            
            i -=5;
            System.out.println(i);//15
            
            i *=3;
            System.out.println(i);//45
            
            i /=5;
            System.out.println(i);//9
            
            i %=4;
            System.out.println(i);//1
            
            //基本赋值运算符合扩展运算符的区别:
            byte a=10;
            //编译无法通过,运算结果是int类型,前边的变量是byte类型
            //a=a+10;
            //语法:扩展运算符不改变运算结果类型,可能损失精度
            a+=10;
            //编译可以通过,严重损失精度
            a+=1000;
            
            
            
        }
    
    }

    六、字符串连接符

    /*
    * 关于字符串连接运算符
    * +运算符可以:
    * 1.做加法运算(加号两边只要都是数字,加法运算)
    * 2.字符串拼接(+号两边任意一端是字符串,一定是字符串拼接)
    */

    public class Day16 {
        public static void main(String[] args){
            int a=10;
            int b=12;
            
            System.out.println("a+b="+(a+b));//a+b=22
            System.out.println("a+b="+a+b);//a+b=1012
            System.out.println(a+"+"+b+"="+(a+b));
        }
        
    
    }

    七、条件运算符之三目运算

    /*
    * 关于条件运算符:三目运算
    * ?:
    * 语法:boolean表达式?表达式1:表达式2
    * boolean表达式的结果是true,则整个表达式的结果就是表达式1的结果,相反则是表达式2的结果
    */

    public class Day17 {
        public static void main(String[] atrgs){
            
            boolean sex=true;
            char c= sex?'男':'女';
            System.out.println(c);
            
            boolean isSuccess=true;
            //char c=isSuccess?'s':'男';
            System.out.println(isSuccess?'s':'男');
            
        }
    
    }

    八、条件运算符之7中控制语句

    /*
    * 关于控制语句7种:
    * if,if else
    * switch
    * for
    * while
    * do while
    * break
    * continue
    */

    1.if     if……else

    public class Day18 {
        public static void main(String[] args){
            boolean isSucess=true;
            if(isSucess){
                System.out.println("1");
            }else{
                System.out.println("0");
            }
            
            //如果分支语句中只有一条语句,大括号可省略
            //不推荐使用
            if(isSucess)
                System.out.println("1");
            else
                System.out.println("0");
            
            
        }
    }

    /*
    * 2.关于switch语句
    * 语法:
    * switch(int类型){
    *
    * case int类型:{
    * java语句;
    * java语句;
    * break;
    * case int类型:{
    * java语句;
    * java语句;
    * break;
    * default:
    * java语句;
    * }
    * 注意:break;可以没有
    * default也可以没有
    * break;语句如果没有则发生case穿透现象
    * switch后面的括号中可以填写byte,short,char类型,因为可以自动转换
    */

    public class Day19 {
        public static void main(String[] args){
            
    //        long a=1000;
    //        switch (a){//error
    //        case 100:{
    //            System.out.println("1");
    //        }
    //        }
            
            
            long a=1000;
            switch ((int)a){//error
            case 100:{
                System.out.println("1");
            }
            }
            
    //        char c='C';
    //        switch(c){
    //        case 'A':{
    //            System.out.println("2");
    //            break;
    //        }
    //        case 'B':{
    //            System.out.println("3");
    //            break;
    //        }
    //        case 'C':{
    //            System.out.println("4");//4
    //            break;
    //        }
    //        default:{
    //            System.out.println("5");
    //        }
    //        }
            
            //case穿透现象
            char c='A';
            switch(c){
            case 'A':{
                System.out.println("2");
            }
            case 'B':{
                System.out.println("3");
            }
            case 'C':{
                System.out.println("4");
                break;
            }
            default:{
                System.out.println("5");
            }
            }
            //case合并
            char d='A';
            switch(d){
            case 'A':case 'B':case 'C':{
                System.out.println("4");
                break;
            }
            default:{
                System.out.println("5");
            }
            }
            
        }
    
    }

    练习题

    /*
    * 练习题:需求:
    * 1.系统给定的成绩,成绩可以带小数,0-100
    * 2.编写程序根据学的城市需判断学生的等级
    * [90-100]优秀
    * [70-90)良好
    * [60-70)及格
    * [0-60]不及格
    * 只允许用switch
    */

    public class Day20 {
        public static void main(String[] args){
            double score=95.5;
            int grade=((int)score)/10;
            //System.out.println(grade);
            switch(grade){
            case 9:case 10:{
                System.out.println("优秀");
                break;
            }
            case 7:case 8:{
                System.out.println("良好");
                break;
            }
            case 6:{
                System.out.println("及格");
                break;
            }
            default:{
                System.out.println("不及格");
            }
            }
        }
    
    }

    /*
    *  3.for循环
    * 语法:for(表达式1;表达式2;表达式3){
    * java语句;
    * }
    * 表达式1是初始化表达式,最先执行,只执行一次,
    * 表达式2必须是boolean类型的。true
    * for循环开始执行,先执行表达式1,并只执行一次;
    * 进而之判断表达式2的结果,如果true,则执行java语句,
    * 再执行表达式3,然后判断表达式2的结果,直到表达式2的结果为false,则for循环结束
    */

    public class Day21_for {
        public static void main(String[] args){
            //死循环
    //        for(;;){
    //            System.out.println("test");
    //        }
            
            for(int i=0;i<10;i++){
                System.out.println(i);
            }
            
            int k;
            for(k=0;k<10;k+=2){
                System.out.println("k="+k);
            }
            for(int m=10;m>0;m--){
                System.out.println("m="+m);
            }
        }
    
    }

    /*
    * 3.1关于for循环嵌套
    *1. 九九乘法表
    * 1*1=1
    * 2*1=1 2*2=4
    * ……
    * 2.1-100奇数求和
    *
    */

    public class Day22_for2 {
        public static void main(String[] args){
            
            //九九乘法表
            for(int i=1;i<10;i++){
                for(int j=1;j<i+1;j++){
                    int m=i*j;
                    System.out.print((i+"*"+j+"="+m)+" ");
                }
                //一行结束换行
                System.out.println(" ");
            }
            
            //1-100奇数求和
            int sum=0;
            for(int i=1;i<100;i+=2){
                sum+=i;
                
            }
            System.out.println(sum);
            
            
        }
    
    }

    /*
    * 4.关于while循环
    * 语法:
    * while(boolean表达式){
    * java语句
    * }
    */

    public class Day23_while {
        public static void main(String[] args){
            int i=0;
            while(i<10){
                i++;
                System.out.println(i);//1-10
            }
            
            int j=0;
            while(j<10){
                
                System.out.println(j);//1-9
                j++;
            }
        }
    
    }

    /*
    * 5.关于do while循环
    * 语法:
    * do{
    * java语句;
    * }while(boolean表达式);
    * 循环次数为:1-n
    */

    public class Day24_DoWhile {
        public static void main(String[] args){
            
            int i=0;
            do{
                //i++;
                System.out.println(i);
                i++;
            }while(i<10);
        }
    
    }

    /*
    * 6.break;语句和continue语句:
    * 1.可以用在switch语句中,结束分支语句;
    * 2.break;语句可以出现在循环语句中,默认情况下结束离他最近的一个循环
    *
    */

    public class Day25_BreakAndContinue {
        public static void main(String[] args){
            //break:只是结束离他最近的一个循环
            for(int i=0;i<10;i++){
                System.out.println(i);
                
                if(i==5){
                    break;//只是结束离他最近的一个循环
                    //return;//结束的是main方法
                    }
            }
            System.out.println("666");
            
            
            //continue:结束当前本次循环,继续下次循环
            for(int i=0;i<10;i++){
                //System.out.println(i);
                
                if(i==5){
                    continue;//结束当前本次循环,继续下次循环
                    //return;//结束的是main方法
                    }
                System.out.println(i);
            }
            
            //深入break
            for(int i=5;i>0;i--){
                for(int j=0;j<i;j++){
                    if(j==2){
                        break;
                    }
                System.out.print(j);
                }
                System.out.println();
            }
            //break结束外面的循环:通过以下程序得知break可以结束指定的某个循环
            ForName:for(int i=5;i>0;i--){
                for(int j=0;j<i;j++){
                    if(j==2){
                        break ForName;
                    }
                System.out.print(j);
                }
                System.out.println();
            }
            
        }
    
    }
  • 相关阅读:
    SQL Server数据库开发的二十一条军规
    session过期后在iframe里操作返回到login.html
    父页面与子页面之间调用时通过JS传值
    使用存储过程并返回值与及返回值的获得方法
    五种提高 SQL 性能的方法
    启动Oracle10G监听时报错 错误 1067:进程意外终止
    程序员必读书籍[分类好]
    心理学入门
    Net能做什么
    程序员要找到自己的兴趣所在
  • 原文地址:https://www.cnblogs.com/chushujin/p/9975331.html
Copyright © 2020-2023  润新知