运算符——Java成长之路

运算符

Hello!CSDN的小伙伴们。
这里是老汉的Java成长之路专栏,感兴趣的话就关注老汉并订阅本系列的专栏一起学习吧。

前言

在Java的编程中,运算符的运用至关重要,学习并熟练掌握运算符的使用是Java基础语法学习中的主要任务,那么本期老汉为各位介绍一下Java运算符的形式及其作用。(运算符全部在英文输入法状态下进行编写)

一、算术运算符

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法和除法等。

Java中的算术运算符如下:

在这里插入图片描述

加法、减法、乘法、除法、求余数和我们正常的数学计算基本没有什么区别,老汉在这里就不做过多解释了。
++:单目运算符,在前表示先自加1后执行,在后表示先执行后自加1;
- -:单目运算符,在前表示先自减1后执行,在后表示先执行后自减1;

解释:单目运算符:只对一个表达式进行操作,依次类推为双目、三目运算符。

示例如下:

public static void main(String[] args)
    {
       int i,num;
       i=3;
       num=i++;
       System.out.println("num="+num+",i="+i);//num=3,i=4
       i=3;
       num=++i;
       System.out.println("num="+num+",i="+i);//num=4,i=4
       i=3;
       num=i--;
       System.out.println("num="+num+",i="+i);//num=3,i=2
       i=3;
       num=--i;
       System.out.println("num="+num+",i="+i);//num=2,i=2

    }

二、赋值运算符

赋值运算符主要用于对变量进行赋值运算;
格式:变量=表达式;
例如上述代码的 i=3;。
注意:赋值运算符是从右往左运算的,且赋值运算符的左边不能是常量!!!

赋值运算符与算术运算符可结合为复合赋值运算符,如下表所示:

在这里插入图片描述

三、关系运算符

关系运算符主要用于判断两个数据的关系,其结果为一个布尔值。

关系运算符示例如下:

在这里插入图片描述

解释:
1.使用字符进行关系运算,是以ASCII值进行关系运算;
2.浮点数与整数进行比较时,看数值即可。
例如:float f=2.0;int i=2;f==i;结果为true。

四、条件结构

学习了一些基本运算符,下面我们可以结合条件结构进行一些简单操作,首先跟着老汉来学习一下什么是条件结构。

1.if语句

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

条件为布尔类型,true则执行语句块,false则不执行语句块。

2.if-else语句

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

if条件为true则执行if语句块,false则执行else语句块。
注意:if语句可单独写,else不可单独写,必须与if配对!!!

解释:在对于只有一条语句而言的情况下可以不使用{},即 if(条件)语句,但是对于日常编写,不管是否为一条语句,还是建议各位养成书写{}的习惯。

示例如下:

public static void main(String[] args)
    {
       //题目:随机输入一个数值判断其是偶数还是奇数,并将结果输出。
        int num;
        System.out.println("请随机输入一个数");//标注输入提示
        Scanner scanner=new Scanner(System.in);//需在类外导入(输入)import java.util.Scanner;才能使用
        num=scanner.nextInt();//从键盘读取一个数值给num,该数值必须是整型
        if(num%2==0)//num与2的余数为0时,为偶数,反之为奇数
        {
            System.out.println(num+"是偶数");
        }
        else//if条件不符合执行else
        {
            System.out.println(num+"是奇数");
        }
    }

Scanner scanner=new Scanner(System.in);
num=scanner.nextInt();
是从键盘输入一个整型数值为num的操作,需要多敲多练。

五、逻辑运算符

逻辑运算符主要用于将两个或多个表达式连接成一个或使表达式反转。

逻辑运算符示例如下:

在这里插入图片描述

1.逻辑“与”运算符

连接多个表达式,其中至少有一个值为false则返回值为false,全都为true则返回值为true。

&运算符:
将每条表达式的运行结果都计算出来后,再进行逻辑与运算;
&&运算符:
&&运算符又称短路运算符,如果前一个表达式的值就能决定与运算表达式最后的结果,后面的表达式就不在计算了。

示例如下:

public static void main(String[] args)
    {
       int i=3;
       boolean b=(4>6)&((i++)<2);
       System.out.println("i="+i+",b="+b);//i=4,b=false
       i=3;
       b=(4>6)&&((i++)<2);
       System.out.println("i="+i+",b="+b);//i=3,b=false
    }

2.逻辑“或”运算符

连接多个表达式,其中至少有一个值为true则返回值为true,全都为false则返回值为false。
|运算符:
将每条表达式的运行结果都计算出来后,再进行逻辑或运算;
||运算符:
||运算符又称短路运算符,如果前一个表达式的值就能决定与运算表达式最后的结果,后面的表达式就不在计算了。

示例如下:

public static void main(String[] args)
    {
       int i=3;
       boolean b=(4<6)|((i++)<2);
       System.out.println("i="+i+",b="+b);//i=4,b=ture
       i=3;
       b=(4<6)||((i++)<2);
       System.out.println("i="+i+",b="+b);//i=3,b=true
    }

3.逻辑“非”运算符

!运算符
对原条件值取反,原条件为true则取false,为false则取true。

例如:!(4<6),结果为false。

六、条件运算符

Java中的条件运算符是三目运算符
格式:布尔表达式?表达式1:表达式2
当布尔表达式值为true时,则返回表达式1,否则返回表达式2.

示例如下:

public static void main(String[] args)
    {
        //题目:随机输入两个数值判断其最大值,并将结果输出。
        int num1,num2,max=0;
        System.out.println("请随机输入两个数");//标注输入提示,两数以空格隔开
        Scanner scanner=new Scanner(System.in);//需在类外导入(输入)import java.util.Scanner;才能使用
        num1=scanner.nextInt();//从键盘读取一个数值给num1,该数值必须是整型
        num2=scanner.nextInt();//从键盘读取一个数值给num2,该数值必须是整型
        max = (num1 > num2) ? num1 : num2;//去出最大数赋值给max
        System.out.println("max="+max);
    }

注意:需要有变量接收条件运算符产生的结果

七、位运算符

位运算符分别为:按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>>)、无符号右移(>>>)。

解释:在Java的日常编写中,位运算符几乎不进行使用,在此我们稍微了解一下即可。

八、运算符的优先级

在c语言的学习当中,我们了解到运算符的使用严格区分优先级,优先级高的先执行,依次往低的执行下去,那么Java运算符的优先级如下所示:

在这里插入图片描述

解释:在使用逻辑不明时,可多使用()进行优先级区分。

九、操作练习

对运算符进行了初步了解,下面跟着老汉来练习一道程序操作题,将我们的知识运用起来吧!

题目:用if-else语句判断输入年份是否为闰年。
闰年判断规则:能被4整除但不能被100整除的年份,或者能被400整除的年份
(四年一闰,百年不闰,四百年再闰)

答案示例如下:

public static void main(String[] args)
    {
        System.out.println("请输入年份:");
        Scanner scanner=new Scanner(System.in);
        int year= scanner.nextInt();;
        if(((year%4==0)&(year%100!=0))|(year%400==0))//采用&或&&,|或||都可以,为避免短路现象最好采用&和|。
        {
            System.out.println(year+"是闰年!");
        }
        else
        {
            System.out.println(year+"不是闰年!");
        }
    }

本期小结

到这里我们就结束了本期关于运算符的学习,对于优先级的判断以及运算符的使用,老汉在这里建议各位多进行一些简单的程序题编写,以便于我们更好的熟记它。最后,希望大家与老汉一同努力,强大的个人能力是未来最宝贵的东西,感谢各位的观看。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王老汉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值