当前位置: 首页 > news >正文

Java菜鸟养成计划(java基础)--java运算符

java中的运算符

  • 1、java中的运算符
    • 1.1 、+ 、-、 * 、/ 、 %
    • 1.2 、+=、-=、 *=、/=、%=
    • 1.3 、++、--【自增\自减运算符】
    • 1.4、`>、 <、 >= 、<= 、== 、!= 、! =`
    • 1.5、&&、||、|、&
    • 1.6、&、|、~、^
    • 1.7、>> 、 <<、>>>位运算
    • 1.8、`?:`三目运算符

1、java中的运算符

  • 最小单位是int

1.1 、+ 、-、 * 、/ 、 %

  • +运算

    • 算数加法
      • 在基本数据类型使用时做加法
      • 运算结果如果赋值给取值范围小于int的数据类型时,注意强转
       int x = 10;char c1 = 'c'+x; //注意此时需要强转,因为此时已经声明变量x为int 
    
    • 追加连接
      • String + String
  • -运算

    • 算数减法
  • *运算
    - 防止计算过程越界=>及时更换取值范围大的类型

  • /运算

    • 除法运算过程中不要出现0
  • %【模运算】

    • 运算结果的符号取决于参与运算的第一个数字的符号【%运算符左侧的数字】
	System.out.println(5%2);//1System.out.println(-5%2);//-1System.out.println(5%-2);//1System.out.println(-5%-2);//-1

1.2 、+=、-=、 *=、/=、%=

  • 这一组运算符保证左侧类型不变 ----- 底层可能隐式强转
	short x = 45;x = x + 10;// 报错 int => short// 解决:x = (short)(x+10);short y = 45;y += 10; // 底层隐式强转int x = 45;// 【*】 类似// x = x + 10; x+=10;// x = 10 + x;// 变成x=x+10x+=10;int y = 55;// 【/类似】y = y - 10;y -= 10;/**y = 10-y;不能改写 y-=10;*/

1.3 、++、–【自增\自减运算符】

	x++:先取值 再运算++x:先运算 再取值x--:先取值 在运算--x:先运算 再取值

1.4、>、 <、 >= 、<= 、== 、!= 、! =

  • 成立/不成立
  • !=
    • 判断左右两侧的数据是否不相等
  • = 和 == 有什么区别
    • =:赋值运算符,将符号右侧的内容交给左侧变量保存
    • == :条件判断 判断左右两侧的内容是否一致
      • 在进行基本数据类型的比较时比较的是内容
      • 引用数据类型的比较时比较的是地址
  • !取反运算符【用在boolean】
    • !true => false
    • !false => true

1.5、&&、||、|、&

面试题:&&和&的区别
相同点:都是逻辑与
不同点:&&又叫“短路与”,具有短路特性,当&&左侧运行结果为false时,右侧不在执行;&不具备短路特性,当左侧为false时,右侧依然执行

||和|的区别
相同点:都是逻辑或
不同点:||又叫短路或,具有短路特性,当||左侧的结果为true时,右侧不在执行;|不具备短路特性,左侧为true右侧仍然执行

1.6、&、|、~、^


&按位与【逢009&50000100100000101 &00000000 => 1|按位或【逢119|50000100100000101 |00001101
~按位取反 【1->0 0->1~9~0000100111110110
^按位异或【想通为0 不同为10000100100000101^00001100 => 12
  • 在某种情况下&可以取代%运算
%2 %4 %8 %16 ... %2(n)
&1 &3 &7 &15 ... &2(n)-1
如果(num&num-1) == 0 就表示num是2的n次方
  • 交换两个变量的内容
    • 开辟第三块空间
int x = 10;
int y = 1;
int temp = x;
x = y;
y = temp;
  • 不开辟第三块空间
//使用三次异或
int x = 10;
int y = 1;
x = x ^ y;
y = x ^ y;
x = x ^ y;

1.7、>> 、 <<、>>>位运算

byte x = 10;
x >> 2
00001010 >> 2
00000010byte y = 7;
y << 2
00000111 << 2
00011100** 效率取代[* /]<< 取代 **2 *4 *8 ... *2(n)<<1 <<2 <<3 .. <n00001010 << 100010100 => 4+16 = 20>> 取代 //2 /4 /8 ... /2(n)>>1 >>2 >>3 ... >>n10/2=500001010 >> 100000101 => 5
  • 效率取代
num%2(n) => num&2(n)-1
num*2(n) => num<<2(n)-1
num/2(n) => num>>2(n)-1

1.8、?:三目运算符

  • boolean?2:3
    • 第一部分肯定为boolean类型
    • 如果第一部分为true执行2
    • 如果第一部分为false执行3

boolean?2:32/3有数字有char检验数字有没有在char范围内在char范围内 2/3char类型转不在char分为内 将数字直接理解为int 2/3int转【char类型变成对应的ASCII

相关文章:

Java菜鸟养成计划(java基础)--java运算符

java中的运算符 1、java中的运算符1.1 、 、-、 * 、/ 、 %1.2 、、-、 *、/、%1.3 、、--【自增\自减运算符】1.4、>、 <、 > 、< 、 、! 、! 1.5、&&、||、|、&1.6、&、|、~、^1.7、>> 、 <<、>>>位运算1.8、?:三目运算符…...

除了基本的事件绑定,鸿蒙的ArkUI

鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是由华为技术有限公司开发的分布式操作系统&#xff0c;旨在为多种智能设备提供一个统一的操作平台。它不仅适用于智能手机&#xff0c;还适用于平板电脑、智能手表、智能电视等物联网设备。为了使开发者能够更加便捷地创建跨设备…...

0164__【GNU】gcc -O编译选项 -Og -O0 -O1 -O2 -O3 -Os

【GNU】gcc -O编译选项 -Og -O0 -O1 -O2 -O3 -Os_gcc -o0-CSDN博客...

vue3组件传值具体使用

问&#xff1a; left.vue文件调用接口获取了后端返回的urlLink字段&#xff0c;我该怎么传递给总的父组件index.vue中&#xff0c;我需要点击父组件的一个按钮来触发跳转&#xff1f; 回答&#xff1a; 在 Vue 3 中使用 TypeScript 和 setup 语法糖时&#xff0c;可以通过 e…...

Web 音视频(二)在浏览器中解析视频

前言 浏览器中已经能直接播放视频&#xff0c;为什么还需要手动写代码解析&#xff1f; 因为&#xff0c;某些场景需要对视频进行更细致的处理&#xff0c;比如截取关键帧、提取视频中的文字、人物打码、极低延时播放视频等等。 总之&#xff0c;除了最单纯的视频播放外&…...

江天科技主要产品销售单价下滑,应收账款、存货周转率大幅下降

《港湾商业观察》廖紫雯 日前&#xff0c;苏州江天包装科技股份有限公司&#xff08;以下简称&#xff1a;江天科技&#xff09;冲击北交所&#xff0c;保荐机构为国投证券。 江天科技主要从事标签印刷产品的研发、生产与销售&#xff0c;公司主要产品包括薄膜类和纸张类的不…...

我国的金融组织体系,还有各大金融机构的分类,金融行业的组织

中国金融组织体系介绍 中国金融组织体系是一个复杂而多层次的系统&#xff0c;涵盖了各种类型的金融机构和监管机构。以下是关于中国金融组织体系的详细介绍&#xff0c;包括一行三会等金融监管机构&#xff0c;各大金融机构的分类、涉及的银行以及行业组织。 &#xff08;一…...

vue md5加密

在Vue中使用MD5加密&#xff0c;你可以使用第三方库如crypto-js。首先&#xff0c;你需要安装这个库&#xff1a; npm install crypto-js --save然后&#xff0c;在你的Vue组件中引入crypto-js并使用其MD5功能&#xff1a; <template><div><input v-model&quo…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)

本文验证基于请求头中传递token信息的认证方式&#xff0c;webapi项目的控制器类中新建如下函数&#xff0c;仅通过验证的客户端能调用&#xff0c;需要客户端请求在Header中添加’Authorization’: Bearer token’的键值对且通过token验证后才能调用。 [Authorize] [HttpGet]…...

Ubuntu16.04 安装OpenCV4.5.4 避坑

Ubuntu16.04 安装C版OpenCV4.5.4 Ubuntu16.04 VSCode下cmakeclanglldb调试c 文章目录 Ubuntu16.04 安装C版OpenCV4.5.41. 下载Opencv压缩包2. 安装Opencv-4.5.43. 配置OpenCV的编译环境4.测试是否安装成功 1. 下载Opencv压缩包 下载Opencv压缩包&#xff0c;选择source版本。…...

DDD - 整洁架构_解决技术设计困局

文章目录 Pre如何落地 DDD底层技术的更迭 整洁架构的设计主动适配器/北向适配器被动适配器/南向适配器 整洁架构的落地总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对象的两种设计思路…...

Python自动化运维:一键掌控服务器的高效之道

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在互联网和云计算高速发展的今天,服务器数量的指数增长使得手动运维和管理变得异常繁琐。Python凭借其强大的可读性和丰富的生态系统,成为…...

数论问题61一一各种进位制

10进位制是普遍使用的数进位制&#xff0c;二进位制是计算机采用的进位制。还有三进位制&#xff0c;四进位制&#xff0c;…等等。那一种进位制都能转化为10进位制。下面介绍这种方法。 ①10进位制的表示(口诀:逢10进1) 如8X10007X1005x1038753。 ②2进位制的表示(口诀:逢2…...

Java开发提速秘籍:巧用Apache Commons Lang工具库

一、Java 开发效率之困 在当今数字化时代&#xff0c;Java 作为一门广泛应用的编程语言&#xff0c;在各类软件开发项目中占据着举足轻重的地位。无论是大型企业级应用、互联网平台&#xff0c;还是移动应用后端&#xff0c;都能看到 Java 的身影。然而&#xff0c;Java 开发者…...

使用sql查询excel内容

1. 简介 我们在前面的文章中提到了calcite支持csv和json文件的数据源适配, 其实就是将文件解析成表然后以文件夹为schema, 然后将生成的schema注册到RootSehema(RootSchema是所有数据源schema的parent&#xff0c;多个不同数据源schema可以挂在同一个RootSchema下)下, 最终使用…...

[Python学习日记-78] 基于 TCP 的 socket 开发项目 —— 模拟 SSH 远程执行命令

[Python学习日记-78] 基于 TCP 的 socket 开发项目 —— 模拟 SSH 远程执行命令 简介 项目分析 如何执行系统命令并拿到结果 代码实现 简介 在Python学习日记-77中我们介绍了 socket 基于 TCP 和基于 UDP 的套接字&#xff0c;还实现了服务器端和客户端的通信&#xff0c;本…...

电子应用设计方案101:智能家庭AI喝水杯系统设计

智能家庭 AI 喝水杯系统设计 一、引言 智能家庭 AI 喝水杯系统旨在为用户提供个性化的饮水提醒和健康管理服务&#xff0c;帮助用户养成良好的饮水习惯。 二、系统概述 1. 系统目标 - 精确监测饮水量和饮水频率。 - 根据用户的身体状况和活动量&#xff0c;智能制定饮水计划。…...

vue学习路线

以下是一个详细的Vue学习路线&#xff1a; 一、基础入门 &#xff08;一&#xff09;环境搭建 1. 安装Node.js和npm&#xff1a;Vue项目依赖于Node.js环境&#xff0c;需从官网下载并安装最新版本的Node.js&#xff0c;npm会随Node.js一起安装。 2. 安装Vue CLI&#xff1a;V…...

(15)Chainlink Automation(定时任务) 详细介绍及用法

Chainlink Automation 详细介绍 1. 什么是 Chainlink Automation&#xff1f; Chainlink Automation 是 Chainlink 提供的一个去中心化服务&#xff0c;专门用于自动化执行智能合约的链上操作。它允许开发者基于时间或特定条件&#xff08;如链上或链下事件&#xff09;触发智…...

从入门到精通:RabbitMQ的深度探索与实战应用

目录 一、RabbitMQ 初相识 二、基础概念速览 &#xff08;一&#xff09;消息队列是什么 &#xff08;二&#xff09;RabbitMQ 核心组件 三、RabbitMQ 基本使用 &#xff08;一&#xff09;安装与环境搭建 &#xff08;二&#xff09;简单示例 &#xff08;三&#xff09;…...

BiliTools智能视频总结:高效提取B站视频知识精华的全指南

BiliTools智能视频总结&#xff1a;高效提取B站视频知识精华的全指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …...

Phi-3-mini-128k-instruct处理复杂数据结构:算法题解答与优化展示

Phi-3-mini-128k-instruct处理复杂数据结构&#xff1a;算法题解答与优化展示 最近在尝试用一些轻量级的模型来辅助解决编程问题&#xff0c;特别是算法和数据结构这块。很多人觉得大模型只能写写简单的脚本&#xff0c;处理复杂逻辑可能不太行。正好手头有Phi-3-mini-128k-in…...

基于 N-gram 全新模型:嵌入扩展新范式,实现轻量化 MoE 高效进化

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

解决SAP ABAP RFC外部调用调试难题:User权限与断点设置技巧

SAP ABAP RFC外部调用调试实战&#xff1a;权限配置与断点优化全指南 在SAP系统集成项目中&#xff0c;RFC&#xff08;Remote Function Call&#xff09;作为跨系统通信的核心技术&#xff0c;其调试过程往往让开发者头疼不已。想象一下这样的场景&#xff1a;你开发的RFC接口…...

7步构建AI绘画流水线:Krita-AI-Diffusion全能力解析

7步构建AI绘画流水线&#xff1a;Krita-AI-Diffusion全能力解析 【免费下载链接】krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. 项目地址: https://gitcode.c…...

OpenClaw隐私方案:Kimi-VL-A3B-Thinking本地处理医疗影像数据分析

OpenClaw隐私方案&#xff1a;Kimi-VL-A3B-Thinking本地处理医疗影像数据分析 1. 为什么医疗数据必须留在本地&#xff1f; 去年参与一个医学研究项目时&#xff0c;团队需要分析3000多份CT影像。当我们尝试使用某云服务时&#xff0c;合规部门直接叫停——这些包含患者面部特…...

告别手动输入:用快马ai自动化mathtype公式生成,效率提升300%

作为一名经常需要写技术文档的开发者&#xff0c;数学公式的输入一直是个头疼的问题。传统的方式要么是手动在Mathtype里点选符号&#xff0c;要么得记住各种LaTeX语法&#xff0c;效率实在太低。最近尝试用InsCode(快马)平台开发了一个自动化工具&#xff0c;终于解决了这个痛…...

深度解析:OpenClaw集成MiniMax 2.1遭遇HTTP 401?三步定位+架构级解决方案

–## 一、问题现象与背景 在2026年开源AI智能体工具百花齐放的今天&#xff0c;OpenClaw&#xff08;前身为Clawdbot/Moltbot&#xff09;凭借"本地优先、多平台兼容、高度可定制"的核心优势&#xff0c;成为开发者构建专属AI助手的首选框架。然而&#xff0c;当许多…...

Asterisk 实战速成:从零搭建企业级呼叫中心

1. 为什么选择Asterisk搭建企业级呼叫中心 第一次接触Asterisk是在2015年&#xff0c;当时公司需要快速搭建一个200坐席的客服系统。市面上商业解决方案动辄几十万的报价让我们望而却步&#xff0c;而Asterisk这个开源PBX系统完美解决了我们的需求。十年过去了&#xff0c;Aste…...

sing-box性能调优:从内存占用到吞吐量的全面优化

sing-box性能调优&#xff1a;从内存占用到吞吐量的全面优化 引言 sing-box作为通用代理平台&#xff08;The universal proxy platform&#xff09;&#xff0c;在高并发网络环境下的性能表现直接影响用户体验。本文将从内存管理、连接复用、吞吐量优化三个维度&#xff0c;…...