Java入门程序——运算符

news2024/11/22 15:41:19

文章目录

  • 赋值运算符
  • 算术运算符
    • 自增运算符
    • 自减运算符
  • 比较(关系)运算符
  • 逻辑运算符
    • 逻辑运算符——快速运算(短路运算)
  • 复合赋值运算符
  • 条件运算符
  • 字符串连接运算符
  • 三元运算符
  • 总结


赋值运算符

• 格式:变量名=表达式;
• 左边:变量

• 右边:
常量:a = 10;
变量:b = a;
方法:b = in.nextInt();
计算结果: c = a+b;

• 注意:
(1)左边的变量需要定义;
(2)右变的类型要与左边一致或兼容

算术运算符

+、-、*、/、% 分别表示加、减、乘、除、求余

12/8 的结果是1,而不是1.5【整数运算的结果还是整数】

自增运算符

x++或者++x (x是数字类型变量)
作用:x= x+1; ,与其他运算符一起使用
y = x++; 相当于y = x; x = x+1;
y = ++x; 相当于x = x+1; y = x;

记住:加加在前先加加

自减运算符

x----x(x是数字类型变量)
作用:x = x-1; ,与其他运算符一起使用
y = x--;相当于y = x; x = x-1;
y = --x;相当于x = x-1; y = x;

记住:减减在前先减减

比较(关系)运算符

对两个值进行比较,返回值为布尔类型

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

格式:exp1 X ex2
exp1 和 exp2是操作数,可以是表达式
X表示其中的一种关系运算符
如果exp1 和 exp2具有"X"关系,结果为true,否则结果为false
例如:5>3,结果为true,4!=6结果为true

逻辑运算符

• 操作数:布尔类型
• 返回值:布尔类型
• 逻辑运算符有:
&& 和 &逻辑与,两个操作数都为true,结果为true
|| 和 |逻辑或,两个操作数都为false,结果为false
!逻辑非,操作数为false,结果为true,操作数为true,结果为false
^逻辑异或,如果两个操作数不同,结果为true,如果两个操作数相同,结果为false

逻辑运算符——快速运算(短路运算)

A && B:如果A为false,则B不执行

例如:(a>b) && (a>(b- -)) 假设:a=5; b=6;

因为a>b为false,所以a>(b- -)不用判断,b- -不执行
A || B:如果A为true,则B不执行
& 和 | 不具有该特性

结论:“&&” 和 "||"是快速运算符,但是不能保证后面的表达式执行

复合赋值运算符

赋值运算符与其他运算符结合
格式:a X= b ;
X 表示其他的运算符,可以是各种运算符。
相当于:a = aXb ;
例如:a+=3; 表示 a=a+3;

条件运算符

格式:op1?op2:op3;
op1:结果应该为布尔类型

如果op1为true,最终结果为op2

如果op1为false,最终结果为op3

• 求两个数的最大值

int a = in.nextInt();
int b = in.nextInt();
int c = a>b?a:b;

字符串连接运算符

System.out.println("byte类型:"+b);
System.out.println("short类型:"+s);
System.out.println("int类型:"+i);
System.out.println("long类型:"+l);
System.out.println("float类型:"+f);
System.out.println("double类型:"+d2);
System.out.println("char类型:"+c);
System.out.println("boolean类型:"+bool);

• 变量定义

 byte b = 3;
 short s = 4;
 int i=10;
 long l = 11;
 float f = 3f;
 double d2 = 23.5;
 char c = 's';
 boolean bool = false;

三元运算符

在Java中,三目运算符(也称为三元运算符)是一种非常常用的运算符,它的语法结构是:

表达式1 ? 表达式2 : 表达式三
condition ? expression1 : expression2
//表达式1执行结果为true则执行表达式2
//表达式为false则执行表达式3
//结果是布尔类型,真就是2,假就是3

意思是:先判断条件 condition 是否为真,如果是,则返回 expression1 的值,否则返回 expression2 的值。

三目运算符的优点在于可以在一行代码中完成简单的判断和赋值操作,避免繁琐的 if-else 语句。

【示例1】
下面的代码使用 if-else 语句来判断一个数的符号:

int num = -5;
String sign;
if(num < 0){
    sign = "负数";
}else{
    sign = "正数";
}
System.out.println(num + "是" + sign);

而使用三目运算符可以将上面的代码简化为:

int num = -5;
String sign = num < 0 ? "负数" : "正数";
System.out.println(num + "是" + sign);

这样就可以用一行代码完成同样的功能,代码更加简洁明了。

【示例2】

	public static void main(String[] args) {
		//表达式1?表达式2:表达式3
		//表达式1执行结果为true则执行表达式2
		//表达式为false则执行表达式3
		int a=11,b=10,c;
		
		c = a>b ? a : b;
		System.out.println(c);
	}

a和b的数据任意赋值,运行完后c一定是这两个数中的最大数

需要注意的是,三目运算符只适用于简单的判断和赋值操作,不适用于复杂的条件判断。在某些情况下,使用 if-else 语句会更加清晰和易懂。

总结

在这里插入图片描述

位运算: &、|、~、 >>、<<
逻辑运算:&&、|| 、!

按运算类型划分优先级
算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符
尽量多的使用括号,括号优先级别最高,使用括号也可保证在不确定优先级的情况下,更好地控制语句的执行顺序。

注意:
1.变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1。

2.+ 符号在遇到字符串的时候,表示连接、拼接的含义。

​ System.out.println(“5+5=”+5+5); //输出5+5=55

public static void main(String[] args) {
		//1. = 赋值运算:赋值运算符,就是将符号右边的值,赋给左边的变量, == 关系运算
		int a = 10;
		int b = 20;
		System.out.println(a >= b);
		//2.算术运算符:  +  - * /  %   ++   --
		//如果单纯+在遇到字符串的时候,表示连接、拼接,你得加小括号
		System.out.println("a + b ="+(a + b));
		//a-b  a*b  a/b  a%b
		int c =25;
		int d = 25;
		int e = 25;
		System.out.println("c++ ="+(c++));//先赋值,后加1
		System.out.println("++d ="+(++d));//先加1,后赋值  
		System.out.println("--e ="+(--e));//先减1,后赋值 
		//3 位运算:     &       |       ~       >>     <<   
		System.out.println(0x01 &  0x10);   // 0x00
		//4 逻辑运算:&&    ||     !
		if(a ==10 && c != 2) {
			System.out.println("运算正常");   // 0x00
		}
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/725869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.7 用户注册_判断用户是否存在和自定义响应数据结构

步骤1&#xff1a;在顶级pom.xml添加常用工具依赖。 <!-- apache 工具类 --> <dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version> </dependency> <depen…

实现TCP通信(socket套接字)

一、TCP通信实现的过程 服务器端 socket函数 与 通信域 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); -domain: 指定通信域&#xff08;通信地址族&#xff09;; -type: 指定套接字类型; -protocol: 指定协…

大象机器人myCobot 280 2023版全新功能展示

引言 机械臂是一种可编程的、自动化的机械系统&#xff0c;它可以模拟人类的动作&#xff0c;完成各种任务&#xff0c;例如装配、喷涂、包装、搬运、焊接、研磨等。由于其高度灵活性和多功能性&#xff0c;机械臂在现代社会中已经得到了广泛的应用。 myCobot 280 M5Stack 202…

项目需求管理

项目需求管理的五大过程 一、需求获取 编写项目视图 范围文档 用户群分类 选择用户代表 建立核心队伍 确定使用实例 召开联合会议 分析用户工作流程、 确定质量属性、 检查问题报告 需求重用 二、需求分析 1、绘制关联图&#xff0c;用于定义系统与系统外部实体间的边界和接口的…

多个六轴机械臂联合作业搬运仿真(机器人工具箱)

1、建立三个六轴机械臂、工作平台与货物 clear clc close all % theta d a alpha sigma L1Link([0 0 0 pi/2 0 ]);%连杆1参数 L2Link([0 -0.1455 0.4375 0 0 ]);L2.offsetpi/2;%连杆2参数 L3Link(…

Playwright自动化测试工具 java版本

Playwright 第一个程序 public static void main(String[] args) {Playwright playwright Playwright.create(); // Browser browser playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));BrowserType.LaunchOptions launchOptions …

nginx+lua(openresty) lua-mongodb 安装及使用(四)

前言 前章已经讲述 ua-protobuf 安装及使用 这章主要讲述 openresty 环境下 lua-mongodb 安装及使用 1:环境 ubuntu16(18) mongodb 3.6 2:安装mongodb 3.6 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 #创…

MySQL的初步认识——【初识MySQL】第一节

MySQL的初步认识——【初识MySQL】第一节 文章目录 MySQL的初步认识——【初识MySQL】第一节MySQL简介简介版本MySQL 5.5MySQL 5.6MySQL 5.7MySQL 8.0 安装建议 MySQL的卸载补充操作详情 小技巧 MySQL5.7.17的下载教训 MySQL简介 简介 MySQL是一个开源的关系型数据库管理系统…

【MongoDB】

目录 MongoDB基本简介 MongoDB基本概念 MongoDB和关系数据库的对比 MongoDB数据类型 MongoDB元素命名规则 MongoDB安装部署 MongoDB配置管理 MongoDB服务管理 MongoDB 多实例配置 基本操作 集合 数据备份与恢复 MongoDB复制集集群部署及管理 MongoDB复制集ReplSe…

[PG]生成表注释SQL

由于PostgreSQL无论是表还是字段的注释是通过 comment on语句来处理的。 可通过如下语句生成表的注释SQL执行语句&#xff1a; SELECT CONCAT(COMMENT ON , "type", 模式., "name", IS ", "comment", ";) AS "comment_sql&q…

软考:中级软件设计师:存储管理,分区存储,页式存储,逻辑地址,物理地址

软考&#xff1a;中级软件设计师:存储管理&#xff0c;分区存储 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是…

idea 启动项目 java: Compilation failed: internal java compiler error

1. 首先查看 项目的 编译的 JDK 版本是否是 匹配了或匹配的 2. 堆分配的内存不足导致&#xff0c;如下图位置 堆 构建程序的 堆大小调大

JMeter分布式压测连接Jenkins生成HTML报告时候报错No such file or directory

JMeter-master机器上没有该文件。从官网下载的JMeter都会有该文件&#xff0c;添加进去即可。

C++罕见的纯虚函数调用异常(_purecall abort)

现象 笔者最近遇到了一个诡异的BUG&#xff0c;析构函数执行期间crash&#xff08;VS2022调试器下表现为abort&#xff09;&#xff0c;调用堆栈最后一级是调用虚函数&#xff0c;所有指针变量正常。 更深层的原因和特征隐藏在虚函数表中。abort发生时&#xff0c;虚函数表中…

LNMP架构及部署、skyuc电影网站部署

目录 一、安装nginx 1、关闭防火墙 2.创建管理nginx用户 3.配置nginx 4.命令优化 5.创建nginx脚本 二、安装mysql数据库 三、安装PHP 1.上传php安装包 2.上传 zend-loader-hph5.6 3.创建用户 四、LNMP平台中部署skyuc电影网站 1.解压 SKYUC.v3.4.2.srouce 2.创建数据…

TCP的3次握手和4次挥手

一、3次握手、4次挥手的简单描述 1、3次握手 三次握手&#xff08;Three-way Handshake&#xff09;指建立一个TCP连接时&#xff0c;需要客户端和服务器总共发送3个包。流程简单描述如下图所示&#xff1a; 在socket编程中&#xff0c;客户端执行connect()时&#xff0c;将触…

仿苹果鼠标滚轮控制 文字渐入 淡出效果

废话不多说&#xff0c;上代码&#xff0c;纯jscss3 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&…

测试服务器CPU情况

要查看服务器的CPU情况&#xff0c;你可以使用 TOP 命令结合一些选项来执行相应的测试top 命令&#xff1a;运行 top 命令可以实时监视系统的各个进程和 CPU 使用情况在 top 命令的输出中&#xff0c;有几个重要的指标参数可以帮助你了解系统的 CPU 使用情况和进程信息。以下是…

2023.07.05java面试总结

1、springboot 怎么创建新的对象 2、sprintboot 怎么引用第三方类 3、list set map 区别 4、jvm常用配置 5、list怎么排序&#xff0c;怎么按多个字段排序 6、io怎么读取文件 7、angular现在使用什么版本&#xff0c;angular入口 项目结构 8、promise用法 9、和equals …

c++11 标准模板(STL)(std::basic_ostream)(七)

定义于头文件 <ostream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ostream : virtual public std::basic_ios<CharT, Traits> 类模板 basic_ostream 提供字符流上的高层输出操作。受支持操作包含有格式…