zoukankan      html  css  js  c++  java
  • 【3】java运算符

    概述

    一、表达式
    什么是表达式。由一系列预算付和操作数组成
    如:5,a,m+3,sum=a+b,n=x*y+(x%2)-(x/y)
     
    二、运算符
    1、算术运算符(+,-,*,/,%,++,--),
    2、赋值运算符(=,+=,-=,*=,/=,%=),例如:a+=b,等于:a=a+b
    3、关系运算符(==,!=,<,<=,>,>=)
    4、逻辑运算符(!,&,&&,|,||) && 或 || : 短路运算符,就是前面表达式结果能直接决定整个表达式结果,就不需要判断后面表达式结果
    5、条件运算符(? :) 例:a>b?a:b; //a>b,成立为a,不成立为b; java中唯一的三目表达式,意思是操作三个数
    6、位运算符(本次没讲解)
     
    三、运算符的优先级

    一、赋值运算符

    格式:变量 = 表达式
    注意:赋值运算符是从右往左运算
    赋值运算符的左边只能是变量不能是常量

    二、算数运算符

    算数运算符:
    1)作用:算数运算符主要用于进行基本的算数运算,如加法、减法、乘法和除法等;
    2)分类:
    加法(+)、减法(-)、乘法(*)、除法(/)、求余数(%)、自增1(++)、自减1(--);
    3)注意:除法的分子分母都是整型时,结果为整除后的结果;
    除法的分子分母有任意一个为小数时,结果为小数。

        public static void main(String[] args) {
            int num1=10,num2=5,result;
            result=num1+num2;
            System.out.println(num1+"+"+num2+"="+result);
    
            // 字符串连接:值+字符串=字符串;从左往右依次运行
            System.out.println(""+num1+num2);
            //减法
            result=num1-num2;
            System.out.println(num1+"-"+num2+"="+result);
            //乘法
            result=num1*num2;
            System.out.println(num1+"*"+num2+"="+result);
            //除法
            result=num1/num2;
            System.out.println(num1+"/"+num2+"="+result);
            //分子分母都是整型时,结果为整除后的结果
            System.out.println(13/5);
            //有一个是浮点型,结果就有小数
            System.out.println("13.0/5="+13.0/5);
            //求余数
            result=13%num2;
            System.out.println("13%"+num2+"="+result);
            System.out.println("13.5%5="+(13.5%5));
        }
    注意:
    1.字符串连接:有字符串在,输出的都是连接后的字符串;
    只有数值的话,输出的就是运算后的数值结果;
    2.整除中的数有小数,结果就有小数

    自增自减运算符

     
    自增自减在前:先自增自减,后运算
    自增自减在后:先运算,后自增自减 (即使自增自减在括号内,也是如此)
     

    三、关系运算符

    1)分类:>、<、>=、<=、==、!=;
    2)比较运算符用于判断两个数据的大小;
    3)比较的结果是一个布尔值;
    4)字符型数值比较的是两个字符的ASCII值,'A' >'B' 结果false;
    5)浮点数与整数比较,只要相等就返回true,float f =5.0f; long l =5; f==l; 结果为true;
     
     

    if条件结构

    关系运算符主要用于条件和循环语句中的判断条件
    简单if语句的格式:
    if(条件){
    <语句块>
    }
     
    举例:
    class ConditionDemo1 {
        public static void main(String[] args) {
        //商场打折,如果两件商品的价格大于100则减20,并把原价和折后价分别输出。
        //定义两个变量,分别存放两件衣服的价格
            double price1,price2;
            price1=80;
            price2=55;
        //计算两件商品的总价格
            double sum=price1+price2;
        //输出原价
            System.out.println("原价为"+sum);
            if(sum>100) {
                sum=sum-20;//sum-=20;
            }
            System.out.println("折后价为"+sum);
        }
    }
    
    //原价为135.0
    //折后价为115.0

    if-else条件结构

    格式:
    if(条件){
        <语句块>
        }else{
        <语句块>
        }

     举例:

    public class ConditionDemo2 {
        public static void main(String[] args) {
    //判断一个整数是基数还是偶数,并将结果输出。
    //定义一个变量存放数据
    // int n=11;
    // 从键盘接收数据
            System.out.println("请输入一个整数:");
            Scanner s = new Scanner(System.in);//s变量
            int n = s.nextInt();//接收键盘输入的s
            if (n % 2 == 0) {
                System.out.println(n + "是偶数!");
            } else {
                System.out.println(n + "是基数!");
            }
        }
    }
    //请输入一个整数:
    //10
    //10是偶数!
     

    四、逻辑运算符

    1)种类:与(&&或&)、或(||或|)、非(!);
    2)注意:逻辑运算符的操作数都是布尔类型的。
     

    逻辑与运算符(&&)

    1)&&:又叫短路运算,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了;
    2)&:即使运算符左边表达式的值为false,也会继续执行运算符右边的表达式。
    例如:
    int n=3; boolean b=(3>7)&((n++)<2);
    结果为b=false,n=4。
    若boolean b=(3>7)&&((n++)<2);
    结果为b=false,n=3。
     

    逻辑“或”运算符(||)

    1)运算逻辑:
      只要运算符左右两边的表达式的值有一个为true,则结果为true;
      当运算符左右两边的表达式的值都为false,则结果为false;
    2)特点:||也是短路运算符,只要有一个表达式的结果为true,则整个表达式的值一定为true,且第二个表达式就不会进行计算了。
     
    例如: int n =3;boolean b = (3<7)|((n++)<2) 结果为b =true,n=4 int n=3;boolean b = (3<7)||((n++)<2)
    结果为b=true,n=3;

    逻辑“非”运算符(!) 

    对原条件进行取反。格式 !(n%3==0)
    举例:
    public class LogicDemo3 {
        public static void main(String[] args) {
    //输入一个整数
            System.out.println("请入一个整数:");
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            if(!(n%3==0)) {
                System.out.println(n+"不能被三整除");
            }else {
                System.out.println(n+"能被三整除13");
            }
        }
    }
    
    //请入一个整数:
    //12
    //12能被三整除

    五、条件运算符(三目运算符)

     
    语法: 布尔表达式?表达式1:表达式2
    例如:a>b?a:b 当布尔表达式的值为true,返回表达式1的值,否则返回表达式2的值

     举例:
    public class Demo4 {
        public static void main(String[] args) {
        //求a,b的最大值
            int a=1,b=7,max;
            if(a>b) {
                max=a;
                System.out.println("max="+max);
            }else {max=b;
                System.out.println("max="+max);
            }
            max=a>b?a:b;//前面那么多行代码,可以只用这一行
            System.out.println("max="+max);
    
            boolean b1=a>b?(3<6&&4>3):(true==false);// :的两边也可以是复杂的表达式
            System.out.println("b1="+b1);
        }
    }

    六、运算符的优先级

    算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符

    七、运算符案例 

    判断是否是闰年
    提示闰年的判断规则:能被4整除但不能被100整除的年份,或者能被400整除的年份
    public class LeapYearDemo {
        private static Scanner sc;
        public static void main(String[] args) {
            sc = new Scanner(System.in);
            int year;
            while (true) {
                System.out.println("请输入年份:");
                year=sc.nextInt();
                if(((year%4==0)&(year%100!=0))|(year%400==0)) {
                    System.out.println(year+"是闰年");
                }else {
                    System.out.println(year+"不是闰年");
                }
            }
        }
    }
    请输入年份: 2000
    2000是闰年
    请输入年份: 2004
    2004是闰年
    请输入年份: 1995
    1995不是闰年

     

  • 相关阅读:
    2015-3-27
    2015-3-26
    2015-3-25
    2015-3-24
    oracle数据字典表 系统表
    PowerDesigner教程系列(六)概念数据模型
    PowerDesigner教程系列(五)概念数据模型
    PowerDesigner教程系列(四)概念数据模型
    PowerDesigner教程系列(三)概念数据模型
    PowerDesigner教程系列(二)概念数据模型
  • 原文地址:https://www.cnblogs.com/haifeima/p/12574122.html
Copyright © 2011-2022 走看看