JAVA-------良子Day03

发布于:2022-11-29 ⋅ 阅读:(294) ⋅ 点赞:(0)

今天要讲的是JAVA中《运算符》和《分支结构,上》。在复习的同时希望也能够帮助到同样在学习java的小伙伴们。

                         1、运算符、

①算数运算符:+、-、*、/、%、++、--

1)%:取余/取模,余数为0即为整除

2)++/--:自增1/自减1,可在变量前,也可在变量后

1、单独使用时,前后都一样

2、被使用时,在前后都不一样

      a++的值为a-------(a--同理)

      ++a的值为a+1----(--a同理)

②关系运算符:<、>、<=、>=、==、!=

1)>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等于)、!=(不等于)

2)关系运算符的结果为boolean型,关系成立则为true,关系不成立则为false

③逻辑运算符:&&、||、!

1)逻辑运算符是建立在关系运算符基础之上的,所以逻辑运算符也是boolean型

2)&&:短路与(并且),两边都真才是真,一假则假

------当第一个条件为false时,则发生短路(后面的不执行了)

3)||:短路或(或者),两边假才是假,一真则真

-------当第一个条件为true时,则发生短路(后面的不执行了)

4)!:逻辑非(取反),非真则假,非假则真

④赋值运算符:=、+=、-=、*=、/=、%=

1)简单赋值运算符:=

2)扩展赋值运算符:+=,-=,*=,/=,%=    

-----注意:扩展赋值运算符自带强转功能

-----面试题:short s=5;    s=s+10;//编译错误,需要强转     s+=10;

⑤字符串连接运算符:+

1)若两边为数字,则做加法运算; 若两边出现了字符串,则做字符串连接

2)任何类型与字符串连接,结果都会变为字符串型

⑥条件运算符(三目运算符):?a:b

1)语法:boolean?a:b

2)执行过程:

-------整个条件运算是有值的,它的值要么是?号后的数a,要么是:号后的数b

-------计算boolean的值:
-------若为true,则整个表达式的值为?号后的数a
-------若为false,则整个表达式的值为:号后的数b

                   2、分支结构(上)

① if结构:1条路

1)语法:
        if(boolean){
           语句块--------------基于条件执行的语句
        }

2)执行过程:
         判断boolean的值:
            若为true,则执行语句块(整个结束)
            若为false,则直接结束

②if...else结构:2条路

1)语法:
        if(boolean){
           语句块1
        }else{
           语句块2
        }

2)执行过程:
         判断boolean的值:
           若为true,则执行语句块1(整个结束)
           若为false,则执行语句块2(整个结束)

 3)说明:
         语句块1和语句块2,必走其中之一-------------2选1

                       补充:

1. 任何复杂的业务逻辑都可以通过三种结构来实现:

   - 顺序结构:从上往下逐行执行,每句必走
   - 分支结构:有条件的执行某语句,并非每句必走
   - 循环结构:-------------明天讲
 

代码:

package day03;

public class OperDemo {
    public static void main(String[] args) {
     /*1、算数
     1)%:取模/取余,余数为0则为整除
     2)++/--:自增1/自减1,可以在变量前,后
     2.1)单独使用时 前后都一样
     2.2)被使用时,前后不一样
        a++的值为:a
        ++a的值为:a+1

      */
         单独用
        int a=5, b=5;
        a++;
        b++;
        System.out.println(a);//6
        System.out.println(b);//6

         

        /*被使用:谁现在前面,先运算谁;无论谁在前面,原始a b 肯定发生自增
                 a++的值为a
                 ++a的值为a+1
        */

        int a=5,b=5;
        int c=a++;
        int d=++b;
        System.out.println(a);//6
        System.out.println(c);//5
        System.out.println(b);//6
        System.out.println(d);//6

        
      
        int a=5,b=5;
        int c=a--;
        int d=--b;
        System.out.println(a);//4
        System.out.println(c);//5
        System.out.println(b);//4
        System.out.println(d);//4
       




        /* 2.关系运算
        1)>,<,>=,<=,==,!=,
        2)关系运算的结果为bollean型
          成立true,不成立false

         */

        
        int a=5 , b=10 , c=5;
        boolean b1=a<b;
        System.out.println(b1);//true
        System.out.println(a>b);//false
        System.out.println(a>=b);//false
        System.out.println(a<=b);//true
        System.out.println(a==c);//true
        System.out.println(a!=c);//false

        System.out.println(a+c>b);//false
        System.out.println(a%2==0);//false
        System.out.println(a++>c);//false-----a=6
        System.out.println(a++>c);//true------a=7

      


        /*3、逻辑运算符
        1)&&:逻辑与(并且),两边都真才是真,见false则false
           ---短路与:当第一个条件为false时,则发生短路,后面的不执行了
           ||:逻辑或(或者),两边都假才是假,见true则true
           ---短路或:当第一个条件为true时,则发生短路,后面不执行了
           !:逻辑非(取反),非真则假,非假则真
        2)逻辑运算符是建立在关系运算符之上的,结果也为boolean型
         */
       
        int a=5,b=10,c=5;
        boolean b1=a<b&&b<=c;
        System.out.println(b1);//false
        System.out.println(a++>c&&b>c);//false----a=6
        System.out.println(a>c&&b>c);//true
        System.out.println(a--<=c&&b>c);//false---a=5

        
        
        int a=5,b=10,c=5;
        boolean b1=a<b||b<=c;
        System.out.println(b1);//true
        System.out.println(a++>c||b>c);//true----a=6
        System.out.println(a>c||b>c);//true
        System.out.println(a--<=c||b<c);//false---a=5

        
       
        int a=5,b=10,c=5;
        boolean b1=!(a>b);
        System.out.println(b1);//true
        System.out.println(!(a<b));//false
        System.out.println(!(a==c));//false

       
        int a=5,b=10,c=5;
        boolean b2=a>b&&c++<2;
        System.out.println(b2);//false
        System.out.println(c);//5

       
      
        int a=5,b=10,c=5;
        boolean b2=a<b||c++<2;
        System.out.println(b2);//true
        System.out.println(c);//5

         
        /*4、赋值运算符
        1)简单赋值运算符:=
        2)扩张赋值运算符:+=,-=,*=,/=,%=
        ----注意:扩展赋值运算符,附带了强转
         */ //面试题:short s=5; s=s+10;//编译错误,需要强转   s+=10;//相当于s=(short)(s+10)
        
        int a=5;
        a+=10;
        System.out.println(a);//15
        a*=2;//
        System.out.println(a);//30
        a/=6;
        System.out.println(a);//5

        /*5、字符串链接运算符:
        1)+:
        1.1)若两边为数字,则为加法
        1.2)如两边为字符串,则为字符串链接//String:字符串型,双引号中,0到多个
        1.3)任何类型与字符串链接,结果都会变为字符串类型

         */


        
        int age=21;
        System.out.println("我今年"+age+"岁了");//我今年21岁了
        String name ="沈志辉";
        System.out.println("大家伙好啊,我叫"+name+",今年"+age+"岁了!");//大家伙好啊,我叫沈志辉今,年21岁了!

        System.out.println(10+20+""+30);//3030
        System.out.println(""+10+20+30);//102030
        System.out.println(10+20+30+"");//60

        
        /*6.条件运算符
        1)一目:++,--,!
        2)二目:+-/*%
        3)语法:boolean?数1:数2
        4)条件运算是有值的,取决于boolean的值
          若为true,则整个表达式的结果为:号后的数字1
          若为false,则整个表达式的结果为:号后的数字2

         */

        
         int a=5,b=10;
         int max=a>b?a:b;
         System.out.println("max="+max);//10
         int min=a<b?a:b;
         System.out.println("min="+min);//5

       
        /*补充:
        任何复杂的业务逻辑都可以通过三种结构来实现
        顺序结构:从上往下逐行执行,每局必走
        分支结构:有条件的执行某语句,非每句必走
        循环结构
        
         */





/*1、if结构:1条例
        1)语法:
               if(boolean){
               语句块
               }
        2)执行过程:判断boolean的值:
                若为true,则执行语句块
                若为false,则if直接结束
         */
      
        int num=6;//带数
        if(num%2==0){
            System.out.println(num+"是偶数");
        }
       System.out.println("继续执行...");

      
       //2)满500打八折
       double price= 501;
       if(price>=500){
           price*=0.8;
       }
       System.out.println("最终结算金额为"+price);
       //3)判断年龄是否在18到50之间(包含),若在范围内则输出满足条件
        int age=38;
        if(age>=18 &&  age<=50){
            System.out.println("满足条件");
        }
        System.out.println("继续执行");






 /*if else:两种路径
    1)语法:if(boolean){
        语句块1      问1:语句块1和语句块2,有可能同时执行吗?-----不可能
        }else{
        语句块2      问2:语句块1和语句块2有可能同时都不执行吗?---不可能
        }
     2)执行过程:
        判断boolean的值:
        若为true,则执行语句块1(整个结束)
        若为false,则执行语句块2(整个结束)
     3)说明:语句块1和语句块2必走其中之一

         */
        //偶数、奇数的判断:
        int num=1;
        if(num%2==0){
            System.out.println(num+"为偶数");
        }else{
            System.out.println(num+"为奇数");
        }
        //满500打八折,不满500打9折
        double price=600;
        if(price>=500){
            price*=0.8;
        }else{
            price*=0.9;
        }
        System.out.println("衬衫的最终价格为:"+price);
        //判断是否符合条件:年龄在18到50岁中间
        int age=6;
        if(age>=18 && age<=50){

            System.out.println(age+"岁满足条件");
        }else{
            System.out.println(age+"不岁满足条件");
        }

    }

}

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到