运算符的概念及练习

在这里插入图片描述
运算符分以下几种:

  • 算术运算符
  • 自增自减运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 三元运算符
    学习完各类运算符后还会再学习运算符的优先级。

一、算数运算符

1.基础运算 (加 减 乘 除 取余)

在这里插入图片描述
加减乘运算:

package com.itheima.Arithmeticoperator;

public class ArithmeticoperatorDemo1 {
    public static void main(String[] args) {
        //+
        System.out.println(3 + 2);
        //-
        System.out.println(5 - 3);
        //*
        System.out.println(5 * 3);

        //在代码中如果有小数参与计算,结果可能是不精确的
        System.out.println(1.1 + 0.01);
        System.out.println(1.12 - 1.01);
        System.out.println(1.2 * 3.11);

    }
}

在这里插入图片描述
除和取余运算:

public class ArithmeticoperatorDemo2 {
    public static void main(String[] args) {
        //除法和取余

        System.out.println(10 / 2);
        System.out.println(10 / 3);  //整数参与计算,结果也是整数
        System.out.println(10.0 / 3);//小数参与计算,结果可能不精确

        System.out.println(10 % 2);
        System.out.println(10 % 3);
    }
}

在这里插入图片描述
练习题:
键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台。
在这里插入图片描述

import java.util.Scanner;

public class test1 {
    public static void main(String[] args) {

        //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int number = sc.nextInt();  //接收一个三位数,赋值

        //2.获取个位、十位、百位
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;
        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}

在这里插入图片描述

2.“+”操作的三种情况

  • 数字相加
  • 字符串相加
  • 字符相加
数字相加

在这里插入图片描述
在这里插入图片描述
隐式转换(自动类型提升):把一个取值范围小的数值,转成取值范围大的数据。

各类型取值范围大小依次为:
byte<short<int<long<float<double.

隐式转换的两种提升规则:

  • 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
  • byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算.

强制转换:如果把一个取值范围大的数值,赋值给取值范围小的变量。是不允许直接赋值的。如果一定要这么做就需要加入强制转换
格式:
目标数据类型变量名=(目标数据类型)被强转的数据;

但当超过范围小的类型的范围时会出现错误。

字符串的+操作

在这里插入图片描述

字符相加

在这里插入图片描述

小结

在这里插入图片描述

二、自增自减运算符(++ --)

在这里插入图片描述
++和-- 既可以放在变量的前边,也可以放在变量的后边。
在这里插入图片描述
在这里插入图片描述

三、赋值运算符(= += -= *= /= %=)

在这里插入图片描述
赋值运算符底层隐藏了强制类型转换。
在这里插入图片描述

四、关系运算符(== != > >= < <=)

在这里插入图片描述
注意事项:

  • 关系运算符的结果都是boolean类型要么是true,要么是false
  • 千万不要把“==”误写成“=”

练习:
您和您的约会对象在餐厅里面正在约会键盘录入两个整数,表示你和你约会对象衣服的时髦度。
(手动录入0~10之间的整数,不能录其他
如果你的时髦程度大于你对象的时髦程度,相亲就成功,输出true。否则输出false。

import java.util.Scanner;

public class test2 {
    public static void main(String[] args) {
        //您和您的约会对象在餐厅里面正在约会键盘录入两个整数
        // 表示你和你约会对象衣服的时髦度。
        // (手动录入0~10之间的整数,不能录其他
        // 如果你的时髦程度大于你对象的时髦程度,相亲就成功,输出true。否则输出false。

        //键盘录入两个数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的时髦度:");
        int MyFashion = sc.nextInt();
        System.out.println("请输入他的时髦度:");
        int HisFashion = sc.nextInt();

        //进行对比
        boolean result = MyFashion > HisFashion;

        //打印结果
        System.out.println(result);
    }
}

在这里插入图片描述

五、逻辑运算符(& | ^ !)

在这里插入图片描述
在这里插入图片描述
短路逻辑运算符
当用户名都错的时候,没必要再去判断密码是否正确了,提高代码的效率。
在这里插入图片描述
在这里插入图片描述
练习:

package code.test;

import java.util.Scanner;

public class test3 {
    public static void main(String[] args) {
        /* 输入两个整数,其中一个是6,或者二者之和为6的倍数,输出true
    否则输出为false
     */

    /*1.键盘录入两个整数
      2.判断:第一个数是6?第二个数是6?和是6?
      (可以使用短路或:满足三个中的一个即可输出true)
     */
        Scanner sc =  new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int number1 = sc.nextInt();
        System.out.println("请再输入一个整数:");
        int number2 = sc.nextInt();

        boolean result = number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;
        System.out.println(result);
    }
}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

六、三元运算符(关系表达式?表达式1:表达式2;)

格式:  关系表达式?表达式1:表达式2// 先计算关系表达式,当该表达式结果为真,执行表达式1;结果为假,执行表达式2

在代码中,最终得到的表达式必须赋值给一个变量,或者打印出来。

package code.ketang;

import java.util.Scanner;

public class sanyuan {
    public static void main(String[] args) {
        //得到输入的两个数中的较大数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数:" );
        int number1 = sc.nextInt();
        System.out.println("请再输入一个数:");
        int number2 = sc.nextInt();
        int result = number1 > number2 ? number1 : number2 ;
        System.out.println(result);
    }
}

在这里插入图片描述

练习:

package code.test;

public class sanyuantest {
    public static void main(String[] args) {
        /* 已知三和尚身高分别为:150;210;165
        用代码实现获取三人最高的身高
         */
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;

        int a = height1 > height2 ? height1 : height2 ;
        int b = a > height3 ? a : height3;
        System.out.println(b);
    }
}

七、运算符优先级 (小括号优先一切)

小括号()优先于所有!
小括号()优先于所有!
小括号()优先于所有!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要努力的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值