阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

运算符与表达式

430次阅读
没有评论

共计 4888 个字符,预计需要花费 13 分钟才能阅读完成。

1、运算符与表达式

** 运算符:** 是用来计算数据的指令。数据可以是常量,也可以是变量。被运算符操作的数成为操作数。

** 表达式:** 通俗的说,即通过使用运算符将操作数联系起来的式子。

例如:

3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。

3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。

2、算术运算符

将操作数参与数学计算,就是我们的算术运算

运算符与表达式

2.1、基础运算

完成基础的加、减、乘、除、取余数的运算

/*
 基础运算:*/
public class ExprDemo01{public static void main(String args[]){
    int a=12,b=3;
 		// 基本的加、减、乘、除、取余数的运算
    System.out.println("a+b="+(a+b));
    System.out.println("a-b="+(a-b));
    System.out.println("a*b="+(a*b));
    System.out.println("a/b="+(a/b));
    System.out.println("a%b="+(a%b));
  }
}

运行结果:

运算符与表达式

2.2、特殊运算

2.2.1、加法与减法特殊运算

(1)加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

(2)减法运算符在使用的时候,可以表示负数。

/*
 加法与减法特殊运算:*/
public class ExprDemo02{public static void main(String args[]){
    int a=12,b=3;
 		// 加法运算符在这里表示连接字符串
    System.out.println("a="+a);
    // 减法运算符在这里表示的是负号
    System.out.println("-a+b="+(-a+b));
  }
}

运行结果:

运算符与表达式

2.2.2、除法与取余数特殊运算

(1)除法“/”当两边为整数时,取整数部分,舍余数。当两边为浮点型时,按正常规则相除。

/*
 除法与取余数特殊运算:*/
public class ExprDemo03{public static void main(String args[]){
    int a=12,b=3;
    double c=12.4,d=3.4;
    // 除法“/”当两边为整数时,取整数部分,舍余数。当两边为浮点型时,按正常规则相除。System.out.println("a/b="+a/b);
    System.out.println("c/d="+c/d);
  }
}

运行结果:

运算符与表达式

(2)“%”为整除取余符号,取余结果的符号与被取余数的符号相同。小数取余没有意义。得到的是两个相除数据的余数。用处: 判断两个数据是否整除。

// 改变 b 的值
b=5;
//“%”为整除取余符号,取余结果的符号与被取余数的符号相同
System.out.println("a%b="+a%b);
System.out.println("-a%b="+(-a%b));
// 小数取余没有意义
System.out.println("c%d="+c%d);
// 判断两个数据是否整除, 如果为 0 表示整除
System.out.println("a%b="+a%b);

运行结果:

运算符与表达式

(3)整数做被除数,0 不能做除数,否则报错。

// 改变 b 的值
b=0;
// 0 不能做除数,否则报错
System.out.println("a/b="+(a/b));

运行结果:

运算符与表达式

2.3、自增、自减

2.3.1、单独使用

前置与后置效果相同,均为直接 + 1 或 -1

/*
自增、自减 ---- 单独运算:*/
public class ExprDemo04{public static void main(String args[]){
 		//++ 运算,单独使用都一样
    int a=12;
    a++;
    System.out.println("a++="+a);
    a=12;
    ++a;
    System.out.println("++a="+a);
    //-- 运算,单独使用都一样
    a=12;   
    a--;
    System.out.println("a--="+a);
    a=12;
    --a;
    System.out.println("--a="+a);
  }
}

运行结果:

运算符与表达式

2.3.2、混合使用

自增():将变量的值加 1,分前缀式(如 i)和后缀式(如 i ++)。前缀式是先加 1 再使用;后缀式是先使用再加 1。

自减(–):将变量的值减 1,分前缀式(如–i)和后缀式(如 i–)。前缀式是先减 1 再使用;后缀式是先使用再减 1。

/*
自增、自减 ---- 混合运算:*/
public class ExprDemo05{public static void main(String args[]){
 		// 前缀式:先 +1,在使用
    int a=12;
    System.out.println("++a="+(++a));
    // 后缀式:先使用,后 +1
    a=12;
    System.out.println("a++="+(a++));
   
    // 前缀式:先 -1,在使用
    a=12;
    System.out.println("--a="+(--a));
    // 后缀式:先使用,后 -1
    a=12;
    System.out.println("a--="+(a--));
  }
}

2.3.3、自增与自减运算符还遵循以下规律:

(1)可以用于整数类型 byte、short、int、long,浮点类型 float、double,以及字符串类型 char。

(2)在 Java5.0 及以上版本中,它们可以用于基本类型对应的包装类 Byte、Short、Integer、Long、Float、Double、Character。

(3)它们的运算结果的类型与被运算的变量的类型相同。

3、赋值运算符

为变量完成初始化及变量的值的改变的运算符

运算符与表达式

3.1、案例:

/*
	赋值运算符:
	=,+=,-=,*=,/=,%=
	运算符的运算规则:
	先将运算符两边进行 +,-,*,/,% 运算, 在把结果赋值给左边的变量
	注意事项: 运算符左边必须是一个变量
	特点: 隐含一个强制类型转换
	*/
public class ExprDemo06{public static void main(String[] args){
			int a = 10;
			a += 20;// 相当于 a = a + 20;
			System.out.println("a =" + a);

			//5 += 6;// 错误: 意外的类型, 这里 5 的位置需要一个变量

			byte b = 10;
			b += 100;//+= 隐含了一个强制类型转换 相当于 b = (byte)(b + 100);
			System.out.println("b =" + b);
		}
}

运行结果:

运算符与表达式

4、比较运算符

又叫关系运算符,即判断两个操作数的大小关系及是否相等关系,比较运算符的返回一定为布尔值,也就是要么是 true,要么是 false。

运算符与表达式

4.1、案例:

public class ExprDemo07{public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println("-----------------");
        System.out.println(a != b);
        System.out.println(a != c);
        System.out.println("-----------------");
        System.out.println(a > b);
        System.out.println(a > c);
        System.out.println("-----------------");
        System.out.println(a >= b);
        System.out.println(a >= c);
        System.out.println("-----------------");
        int x = 3;
        int y = 4;
        //System.out.println(x == y);
        //System.out.println(x = y);// 把 y 赋值给 x,把 x 的值输出
        boolean bb = (x == y);
  			System.out.println("bb="+bb);
        // 报错
        //boolean cc = (x = y);
        int cc = (x = y);
        System.out.println("cc="+cc);
     }
}

运行结果:

运算符与表达式

5、逻辑运算符

用于计算两个布尔值经过指定逻辑后的运算结果,结果同样是一个布尔值.

逻辑运算符用于连接布尔型表达式,在 Java 中不可以写成 3 <x<6,应该写成 x >3 && x<6。

运算符与表达式

5.1、案例:

public class ExprDemo08{public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        System.out.println((a > b) && (a > c));// false && false
        System.out.println((a < b) && (a > c));// true && false
        System.out.println((a > b) && (a < c));// false && true
        System.out.println((a < b) && (a < c));// true && true
        System.out.println("---------------");
        System.out.println((a > b) || (a > c));// false || false
        System.out.println((a < b) || (a > c));// true || false
        System.out.println((a > b) || (a < c));// false || true
        System.out.println((a< b) || (a < c));// true || true
        System.out.println("---------------");
        int x = 3;
        int y = 4;
        System.out.println((x++ > 4) && (y++ > 5)); // false && false
        System.out.println("x:" + x);
        System.out.println("y:" + y);
        System.out.println("---------------");
        System.out.println((a > b));// false
        System.out.println(!(a > b));// !false
        System.out.println(!!(a > b));// !!false
    }
}

运行结果:

运算符与表达式

6、三元运算符

接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算的数据。

格式 :(条件表达式)?表达式 1:表达式 2;

三元运算符运算规则:

先判断条件表达式的值,若为 true,运算结果为表达式 1;若为 false,运算结果为表达式 2。

三元运算符,最终一定会产生一个结果值,这个值必须被使用起来。要么被运算符使用,要么被打印

6.1、案例:

/*
	三元运算符: 求两个数的最大值, 判断两个数是否相等
 
	格式:
	(条件表达式) ? 表达式 1 : 表达式 2;
 
	执行流程:
	首先判断条件表达式是否成立
	true: 表达式 1 作为 3 元运算符的结果
	false: 表达式 2 作为 3 元运算符的结果
 
	注意:三元运算符,最终一定会产生一个结果值,这个值必须被使用起来。要么被运算符使用,要么被打印
	*/
	public class ExprDemo09{public static void main(String[] args){
        int a = 10;
        int b = 20;
        int max = (a > b) ? 10 : 20;
        System.out.println("max =" + max);

        int c = 15;
        int d = 10;
      
        // 三元运算符,最终一定会产生一个结果值,这个值必须被使用起来
        System.out.println((c != d) ? "相等" : "不相等");
        String s = (c != d) ? "相等" : "不相等";
        System.out.println("s =" + s);

        //(c != d) ? "相等" : "不相等";// 错误: 不是语句
    }
	}

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计4888字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7818912
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...