【JAVASE_学习笔记】运算符

告别理论推导!用Matlab工具箱5步搞定相机标定(附张正友法原理白话解读) 本文详细介绍了如何使用Matlab工具箱在5步内完成相机标定,无需复杂理论推导。通过棋盘格拍摄和Matlab的Camera Calibrator工具箱,用户可以快速获取相机的内参和外参,显著提升3D视觉的准确性。文章还提供了张正友标定法的白话解读,适合初学者和工程师快速上手。 阅读详情

【JAVASE_学习笔记】运算符

算数运算符

+(正数,加号,连接符)
连接符:数据与字符使用+,此时+作为一个连接符,拼接字符串。任何数据与字符串使用连接符,结果类型为字符串类型。
注意:计算机每次只能运算一个+

System.out.println(1+2+3+"hello"+1+2+3);//输出6hello123

-(减号)
*(乘号)
/(除号)默认取整
%(取模,取余数)取模运算结果正负取决于被除数的正负

System.out.println(10%3);//1
System.out.println(10%(-3));//1
System.out.println((-10)%3);//-1
System.out.println((-10)%(-3));//-1

++(自增)- -(自减)
应用场景:
   1)单独使用:不管是++或者–在数据前还是数据后都是自增1或者自减1
   2)参与运算使用:
     a:++,- -在数据的前面,先自增1或者自减1,然后在运算(赋值)
     b:++,- -在数据的后面.先运算(先赋值),然后自增1或者自减1
练习:

/*
 * 1 :  int a = 10;
    int b = 10;
    int c = 10;

    a = b++;
    c = --a;
    b = ++a;
    a = c--;
    请分别计算出a,b,c的值
2:int x = 4;
int y = (x++)+(++x)+(x*10);
分别求出x和y的值

 * */
public class OperatorTest {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        int c = 10;

        a = b++;//a=10 ,b=11  c=10
        c = --a;//a=9  ,b=11,c=9
        b = ++a;//a=10,b=10, c=9
        a = c--;// a=9, b=10,c=8

        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("c:"+c);
        System.out.println("-----------------------");

        int x = 4;
        int y = (x++)+(++x)+(x*10);
        //x = 4,5,6
        //y = 4 + 6 + (6*10)
        System.out.println("x:"+x);
        System.out.println("y:"+y);
    }
}

赋值运算符

=(赋值运算符)
拓展的赋值运算符:
+=
表达的意思:将当前符号右边的数据和左边的数据相加赋值给左边的数据
-=
*=
/=
%=
对于扩展的赋值运算符:隐藏了默认的强制类型转换
例如:

/*
 *  面试题:
        short s=1;
            s = s+1; 

        short s=1;
            s+=1;
        上面两个代码有没有问题,如果有,哪里有问题。
 * */
public class OperatorTest {
    public static void main(String[] args) {
        //定义变量
//      short s = 1 ;
//      s = (short) (s + 1) ;

        short s = 1 ;
        s += 1 ;
        System.out.println(s);


    }
}

比较运算符

符号连接的表达式结果都是boolean类型
== 作用:
   1.用于基本数据类型数据比较时,判断两个数据是否相等;
   2.用于引用数据类型比较时,比较的是两个变量所指向的对象是否为同一个(比较的是内存地址)
!= (不等于)
<  (小于)
<  (大于)
<= (小于等于)
>= (大于等于)

逻辑运算符

主要作用是用于连接布尔表达式的
& (与)    两边都true,才true
|  (或)    一边为true,就为true
!  (非)    true边false,false边true
^ (异或)   两边不同为true,相同为false
&&(短路与)
||(短路或)
逻辑双与&&和逻辑单与& 的区别 (逻辑双或||和逻辑单或|):
  相同点:结果相同
  不同点:
      使用&&时,若左边为false,则不会运算右边布尔表达式,直接返回false;
       使用||时,若左边为true,则不会运算右边布尔表达式,直接返回true

位运算符

使用位运算符时,将1看为true,将0看为false
&(位与)

|(位或)

^(位异或)
位异或的一个特点:一个数据被另一个数据位异或两次,结果是该数据本身

~(取反)

public class OperatorDemo {
    public static void main(String[] args) {
        //位运算符
        System.out.println(3 & 4);
        System.out.println(3 | 4);
        System.out.println(3 ^ 4);//(位异或:重点)
        System.out.println(~3);

    }
}
/*
 * 计算出int类型3和4对应的二进制数据
 * 00000000 00000000    00000000    00000011
 * 00000000 00000000    00000000    00000100
 *位与:&
 *      特点:有0则0 
 *          00000000    00000000    00000000    00000011
 *    位与&:00000000  00000000    00000000    00000100
 * -------------------------------------------------------
 * 结果:  00000000    00000000    00000000    00000000
 *  0
 * 位或|:
 *      特点:有1,则1
 *       00000000   00000000    00000000    00000011
 * 位与|:00000000     00000000    00000000    00000100
 * -------------------------------------------------------
 *       00000000   00000000    00000000    00000111
 * 结果:7
 * 
 * 位异或:^
 *      特点:相同则为0,不同则为1
 *       00000000   00000000    00000000    00000011
 * 位与^:00000000     00000000    00000000    00000100
 * ------------------------------------------------------
 *       00000000   00000000    00000000    00000111
 * 结果:7
 * 
 * 反码:~:特点:按位取反(底层对补码进行按位取反)
 *      00000000    00000000    00000000    00000011 原码,反,补
 *  ~  --------------------------------------------------
 * 
 * 最高符号位                        数值位
 *      1                   1111111 11111111    11111111    11111100(补码)--->原码
 *                                                                -1
 *      1                   1111111 11111111    11111111    11111011        --->反码
 *      1                   0000000 00000000    00000000    00000100
 *      -                   4
 * 
 * 结果:-4
 * */

<<(左移)  最左边的最高符号为丢弃,右边补齐0
规律:一个操作数进行左移运算时,等于该操作数乘以2的n次方,n是移动的位数

>>(右移)  最高符号位为0,左边补0,最高符号位为1,左边补齐1
规律:一个操作数右移时,等于该操作数除以2的n次方,n是移动的位数

>>>(无符号右移) 不管最高符号位是0还是1,左边补齐0

三元运算符(三目运算符)

格式:
 (表达式)? true的结果 : false的结果;
执行流程:
 如果表达式成立,执行true的结果;
 如果表达式不成立,执行false的结果;
 

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

        //求两个数据是否相等
        int a = 100;
        int b = 200 ;

        //用三元运算符实现
//      boolean flag = (a==b) ? true : false;//==表示两个数据进行比较
//      System.out.println("flag:"+flag);
        //优化改进
        boolean flag = a==b ;
        System.out.println(flag);

        //求两个数据中的最大值
        //先定义变量max
        int max = (a>b) ? a : b ;
        System.out.println("两个数据中的最大值是:"+max);

        System.out.println("-----------------------");

        //求三个数据中的最大值
        int m = 10 ;
        int n = 50 ;
        int z = 20 ;
        //可以使用中间第三方变量进行实现,实际开发中就使用第三方进行实现
//      int temp = (m>n) ? m : n ;
//      //定义max2
//      int max2 = (temp > z) ? temp : z ;

        //一步走:
        int max2 = (m>n) ? ((m>z)? m: z) : ((n>z)? n: z) ;//不建议使用

        System.out.println("三个数据中的最大值是:"+max2);

    }
}

键盘录入

步骤:
  A:创建键盘录入对象:Scanner类: java.util包下的类
    固定格式:
    sc:对象名
    Scanner sc = new Scanner(System.in); //实质还是通过IO流实现的(java高级特性)
  B:导包:位置:class和package中间
    import java.util.Scanner;
  C:录入数据:使用对象名调用方法
    int a = sc.nextInt();
  D:输出

package _11.org.westos_键盘录入;

import java.util.Scanner;

//导包:import java.util.Scanner;快捷键:ctrl+shift+o
/*
 * 
键盘录入两个数据,并对这两个数据求和,输出其结果

 * */
public class ScannerTest {
    public static void main(String[] args) {
        //1)创建键盘录入对象
        Scanner sc = new Scanner(System.in)  ;

        //2)录入数据
        //提示
        System.out.println("请输入第一个数据:");
        int firstNumber = sc.nextInt() ;

        System.out.println("请输入第二个数据:");
        int secondNumber = sc.nextInt() ;

        //定义个最终变量
        int result = firstNumber + secondNumber ;
        System.out.println("result:"+result);


    }
}
YOLOv11改进 | 损失函数改进篇 | 2024最新高质量的目标检测边界框回归损失Unified-IoU、FocalUIoU、FocalInvUIoU(设置动态epoch参数) 本文给大家带来的改进机制是最近新提出的高质量的目标检测边界框回归损失,其通过动态调整模型对不同质量预测框的关注,优化目标检测中的边界框回归精度。UIoU引入了FocalBox方法,通过缩放预测框与真实框分配权重,并采用了退火策略(引入动态参数epoch),逐渐将模型的注意力从低质量预测框转移到高质量预测框,平衡了训练速度与检测精度。其还有一定的解决样本不平衡问题,同时该损失函数可以和现有的任何边界框回归损失函数进行结合,例如ShapeIoU和其结合可以形成二次创新,它是一种类似于之前的Inner的机制. 阅读详情

相关推荐

Palantir 产品架构深度解析:从本体到AI的决策智能平台

本文深度解析了Palantir决策智能平台的核心产品架构。其核心在于构建企业级的“本体”(Ontology),即业务世界的“数字孪生”,通过数据、逻辑、操作三层抽象统一语义。平台以此为基础,通过Foundry构建数字孪生,并通过AIP(人工智能平台)实现本体增强生成(OAG),将AI深度融入业务,形成从数据感知、智能分析到行动执行的完整决策闭环。

ooo22的博客 735

5.Eclipse基本使用、数据类型、运算符

Project name:项目名称Project Layout项目布局:Create separate~~~(为源文件和类文件穿件单独的文件夹)

相互学习 共同进步 1411

制作 img系统镜像的详细方法

      I.MX6开发板目前支持从TF卡和eMMC启动,启动时,由于各个不同的启动文件对路径有不同的要求,例如uboot文件要求位于启动设备的某个块,dtb文件要求在FAT分区上,文件系统要求在Linux分区上,基于此,我们目前采用将映像制作成img文件的方式,这样可以更简单完成对启动卡的制作。 关于如何制作img,方法如下:方法一  Windows下面利用Win32工具1.   准备我司提供...

armkits的博客 4万+

Java基础学习-Eclipse综述和运算符的使用

1.Eclipse的概述(磨刀不误砍柴工) -Eclipse是一个IDE(集成开发环境) -IDE(Intergrated Development Environment) -集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件。 -Eclipse的特点描述 -免费 -纯Jav...

Linda_19941220的博客 498

安装Tailscale

如果返回 /usr/bin/tailscale 或类似路径,说明已安装但 sudo 可能找不到它。如果 which tailscale 没有输出,说明安装失败,重新执行安装步骤。Tailscale 的后台服务 tailscaled 必须运行。检查 tailscaled 服务是否运行。检查 tailscale 命令是否存在。

FairLikeSnow的博客 1478

从原理到实战:ARS548 4D毫米波雷达数据处理与多模态融合全解析

本文深入解析了4D毫米波雷达ARS548的工作原理与数据处理全流程。从FMCW测距测速、MIMO虚拟天线阵列到点云生成的三步FFT处理,提供了详尽的Python代码实现。文章进一步探讨了与激光雷达、相机的多模态时空对齐与融合策略,并指导如何构建用于自动驾驶感知训练的多模态标注数据集,为相关算法工程师提供了从理论到实践的完整指南。

weixin_29161719的博客 366

Java基础 - 第2天 Eclipse、运算符、Scanner类

第1章Eclipse1.1Eclipse概述l概述Eclipse是一个专门针对Java的集成开发工具(IDE),是IBM公司的产品。是免费、开源、由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是Eclipse进行开发。l特点描述n免费n纯Java语言编写n免...

weixin_33700350的博客 319

MFC Windows 程序设计[122]之树形下拉列表框(附源码)

MFC是微软公司提供的一个类库(class libraries),用以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。有很多初学MFC的小伙伴们都觉得MFC比较难学,看书吧,看了就忘了,网上的一些教程又是写的含糊不清,故而学习起来很吃力...... 故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学MFC的小伙伴,避免走弯路,费时费力。.........

hnjzfwy的博客 459

03 运算符及eclipse

day 03 一、补充变量: 变量能不能一行定义多个 怎样定义才能不报错 class Demo1{ public static void main(String[] args){ //int a , b , c = 10; //int a = 10,b = 20,c = 30; /* int a, b, c; a = 100; b = 200; c = 300; */ //int a , b , c = 20 , 30 , 40; 这种

Baldteen_的博客 1635

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

我好像病了的博客 329

物联网Node-Red开发教程-第6章 HTTP与Web服务

本章摘要(147字): 本章系统讲解了Node-RED中的HTTP节点应用,重点包括: 三大核心HTTP节点功能:http in(接收请求)、http response(返回响应)、http request(调用外部API) 详细演示了REST API开发流程,包括路径参数(req.params)处理和响应构造 提供了创建Hello World API、传感器数据接口等实用示例 涵盖HTTP方法特性、状态码设置及响应头配置等关键知识点 通过流程图和JSON配置直观展示节点连接方式,帮助快速掌握Web服务开发

shihui2003的博客 264

Java中的运算符

Java中的六大类运算符: 1、算数运算符、 2、赋值运算符、 3、关系运算符、 4、逻辑运算符、 5、位运算符、 6、条件运算符: 1、算数运算符 + 正号,加,字符串相加 “+”除字符串相加功能外,还能把非字符串转换成字符串。例: System.out.println('*' + '\t' +'*');      输出:93 System.o...

诗人密语 243

【AI智能体】Coze 数据库从使用到实战操作详解

Coze 数据库使用到实战详解

congge 5915

【JavaSE韩顺平学习笔记】4. 运算符,标识符,键盘输入语句,进制

第一章 Java概述第二章 常规操作和DOS第三章 变量第四章 运算符,标识符。

qq_53479519的博客 392

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JavaSE学习笔记——运算符

Java的运算符 java运算符:数学运算符,位运算符,逻辑运算符,自增运算符,比较运算符,三木运算符.移位运算符 运算符的封闭性:java的运算符存在封闭原则.同种类型的数据参与计算,获得同种类型的结果;如果不同类型的数据参与计算,获得大的类型的结果. 数学运算符 加(+) 减(-) 乘(*) 除(/) 取余(%) 1. 加号:如果表达式中存在字符串,可以实现拼接的功能.如果表达式...

ZH_csdn_1997的博客 550

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【JavaSE】运算符学习笔记

​ 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

qq_24052051的博客 877

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

JavaSE之运算符学习笔记

day03

qq_45348840的博客 333

[javase学习笔记] 3. 运算符

算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多。关系运算符的结果都是boolean型的,也就是要么是true,要么是false关系表达式 经常用在 if 结构的条件中或循环结构的条件中用于连接多个条件(多个关系表达式),最终结果也是一个boolean值。赋值运算符就是将某个运算后的值,赋给指定的变量。在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java,需要一个扫描器(对象),就是Scanner二进制:0,1,满2进1。以0b或0B开头。

2403_89707927的博客 1152

javaSE学习笔记之运算符

基本运算符(+、—、*、/、%) 1. , 当有若干个变量参与运算时,  结果类型取决于这些变量中表示范围最大的那个变量类型。 比如,参与运算的变量中,有整型 int ,有双精度浮点型 double ,有短整型 short ,那么 最后的结果类型就是 double 。 2. int a = 1; int b = 2; double c = (double)a / b; 上面的代码中,

u014070705的专栏 451

JavaSE:运算符 (学习笔记)

算术,关系,逻辑,条件,赋值运算符

2301_81819439的博客 972

JavaSE学习笔记——运算符、控制语句

Day03运算符赋值运算符逻辑运算符练习 运算符 赋值运算符 符号:= (1). 当两侧数据类型不一致时,可以使用自动类型转换或强制类型转换进行处理。 (2).支持连续赋值。 拓展赋值运算符: +=,-=,*=,/=,%= 思考: int i = 1; i *= 0.1; System.out.println(i); i++; System.out.println(i); 结果:0 1 ( ...

MCC 387

javaSE学习笔记05-运算符详解

2、加法运算,输出类型为long(长整型)和int(整型)1、二元运算符:加(+)、减(-)、乘(*)、除(/)4、逻辑运算符:与(and)、或(or)、非(取反)3、关系运算符:true、false。7、三元运算符:x?6、连接符,字符串连接符。关系运算符:自增、自减。

qq_57785748的博客 337

【JavaSE学习笔记】算术运算符

·算术运算符 A:基本算术运算符: 1)+, -, *, /, %(模:取余) 2)注意事项: /:  默认取整,如果就想要小数肿么办呢?     给分子或者分母乘以一个浮点类型的数据

love__nana 393

JavaSE学习笔记——day03——运算符

day03 1、算术运算符 加减乘除 i++:先赋值后加一 ++i:先加一后赋值 优先级:单目>双目 单目就是只有一个操作数,双目就是有两个操作数 注意:运行结果的类型是参与运算中最高的类型 2、关系运算符 返回值是boolean类型,只有true和false ==:比较基本类型是比较值的大小,而比较引用类型则是比较地址 3、位运算符 &:位与,一假则假 |:位或,一真则真 !:位非,取反 ^:位异或:两边不一样则为真 ~:按位非:0 的二进制是 : 0000 0

weixin_46030783的博客 263

[javase学习笔记]-2.8 运算符

这一节我们来学习java语言中的运算符。 Java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 关系运算符:>,=, 逻辑运算符:!,&,|,^,&&,|| 位运算符:&,|,^,~,>>,>> 赋值运算符:= 扩展赋值运算符:+=,-=,*=,/= 字符串连接运算符:+ 我们直接看例子吧: 先看一下算术运算符。 class Operate

fbl_csdn的博客 583

【JavaSE学习笔记】逻辑运算符

·逻辑运算符 A:定义: 可以连接某个值或者某一个表达式 B:基本的逻辑运算符 1)&:逻辑与:并且的意思(并列关系) 特点:有false则false 2)|:逻辑或:两个满足一个条件即可

love__nana 464
上一篇: 【JAVASE_学习笔记】数据类型
下一篇: 【JAVA_SE】10.1作业
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值