【java SE语法篇】1.运算符

news2024/9/20 21:52:52

目录

  • 1. 运算符和表达式
  • 2. 算数运算符
  • 3. 隐式转换
  • 4. 强制转换
  • 5. 自增自减运算符
  • 6. 赋值运算符
  • 7. 扩展运算符
  • 8. 关系运算符
  • 9. 逻辑运算符
    • 9.1 & 和 | 的使用:
    • 9.2 ^(异或)的使用:
    • 9.3 !(取反)的使用:
  • 10. 短路逻辑运算符
  • 11. 三元运算符

在这里插入图片描述

1. 运算符和表达式

运算符:

就是对常量或者变量进行操作的符号。
比如: + - * /

表达式:

用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。
比如:a + b 这个整体就是表达式
​而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式

2. 算数运算符

分类:

+ - * / %

运算特点:

+ - * :跟小学数学中一模一样没有任何区别.
/1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。
2.小数直接参与运算,得到的结果有可能是不精确的。
案例:
System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335
%:取模、取余。
   他做的也是除法运算,只不过获取的是余数而已。
案例:
System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
应用场景:
//可以利用取模来判断一个数是奇数还是偶数
System.out.println(15 % 2);//1  奇数

3. 隐式转换

概念:

也叫自动类型提升。
​就是**把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。**此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。

两种提升规则:

  • 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。
  • byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

取值范围从小到大的关系:

byte short int long float double

4. 强制转换

概念:

​如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作
​如果一定要这么干,就需要加入强制转换

书写格式:

目标数据类型 变量名 = (目标数据类型)被强转的数据;

简单理解:

​ 要转成什么类型的,那么就在小括号中写什么类型就可以了。

案例:

public class OperatorDemo2 {
    public static void main(String[] args) {
        double a = 12.3;
        int b = (int) a;
        System.out.println(b);//12
    }
}

强制转换有可能会导致数据发生错误。(数据的精度丢失)

5. 自增自减运算符

分类:

++  自增运算符
--  自减运算符

++:就是把变量里面的值+1

– -:就是把变量里面的值-1

使用方式:

  • 放在变量的前面,我们叫做先++。 比如:++a
  • 放在变量的后面,我们叫做后++。 比如:a++

注意点:

​ 不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。

案例:

//++
int a = 10;
a++;//就是让变量a里面的值 + 1
System.out.println(a);//11
++a;//就是让变量a里面的值 + 1
System.out.println(a);//12

6. 赋值运算符

最为常用的: =

运算过程:就是把等号右边的结果赋值给左边的变量

案例:

public class OperatorDemo6 {
    public static void main(String[] args) {
        //1.最为简单的赋值运算符用法
        int a = 10;//就是把10赋值给变量a
        System.out.println(a);

        //2.如果等号右边需要进行计算。
        int b = 20;
        int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(c);

        //3.特殊的用法
        a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(a);//20
    }
}

7. 扩展运算符

分类:

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

运算规则:

就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。

案例:

public class OperatorDemo7 {
    public static void main(String[] args) {
        //扩展赋值运算符
        int a = 10;
        int b = 20;
        a += b;//把左边和右边相加,再把最终的结果赋值给左边,对右边没有任何影响
        // 相当于 a = a + b;
        System.out.println(a);//30
        System.out.println(b);//20
    }
}

扩展的赋值运算符中隐层还包含了一个强制转换。

8. 关系运算符

又叫比较运算符,其实就是拿着左边跟右边进行了判断而已。

分类:

符号解释
==就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false
!=就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false
>就是判断左边是否大于右边,如果成立就是true,如果不成立就是false
>=就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false
<就是判断左边是否小于右边,如果成立就是true,如果不成立就是false
<=就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false
  • 关系运算符最终的结果一定是布尔类型的。要么是true,要么是false
  • 在写==的时候,千万不要写成=

9. 逻辑运算符

9.1 & 和 | 的使用:

&:逻辑与(而且)

两边都为真,结果才是真,只要有一个为假,那么结果就是假。

|:逻辑或(或者)

两边都为假,结果才是假,只要有一个为真,那么结果就是真。

案例:

// &  //两边都是真,结果才是真。
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//false
System.out.println(false & true);//false

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

// | 或  //两边都是假,结果才是假,如果有一个为真,那么结果就是真。
System.out.println(true | true);//true
System.out.println(false | false);//false
System.out.println(true | false);//true
System.out.println(false | true);//true

9.2 ^(异或)的使用:

​在以后用的不多,了解一下即可。

计算规则:如果两边相同,结果为false,如果两边不同,结果为true

案例:

//^   //左右不相同,结果才是true,左右相同结果就是false
System.out.println(true ^ true);//false
System.out.println(false ^ false);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true

9.3 !(取反)的使用:

是取反,也叫做非。

计算规则:false取反就是true,true取反就是false

取反最多只用一个。

案例:

System.out.println(!false);//true
System.out.println(!true);//false

System.out.println(!!false);//注意点:取反最多只用一个。

10. 短路逻辑运算符

分类: && ||

&&:

运算结果跟&是一模一样的,只不过具有短路效果。

||:

运算结果跟|是一模一样的。只不过具有短路效果。

逻辑核心:

​当左边不能确定整个表达式的结果,右边才会执行

​当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。

总结:

​&& 和 & 、||和|的运行结果都是一模一样的。

​但是短路逻辑运算符可以提高程序的运行效率。

建议:

​最为常用: && || !

11. 三元运算符

又叫做:三元表达式或者问号冒号表达式。

格式:

关系表达式 ? 表达式1 :表达式2 ;

计算规则:

  • 计算关系表达式的值。
  • 如果关系表达式的值为真,那么执行表达式1。
  • 如果关系表达式的值为假,那么执行表达式2。

三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来。

案例:

public class OperatorDemo12 {
    public static void main(String[] args) {
        //需求:求两个数的较大值
        int a = 10;
        int b = 20;

        //格式:关系表达式 ? 表达式1 : 表达式2 ;
        //注意点:
        //三元运算符的最终结果一定要被使用。
        //要么赋值给一个变量,要么直接输出。
       int max =  a > b ? a : b ;
        System.out.println(max);


        System.out.println(a > b ? a : b);
    }
}

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

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

相关文章

2024年技校大数据实验室建设及大数据实训平台整体解决方案

随着信息技术的迅猛发展&#xff0c;大数据已成为推动产业升级和社会进步的重要力量。为适应市场需求&#xff0c;培养高素质的大数据技术人才&#xff0c;技校作为职业教育的重要阵地&#xff0c;亟需加强大数据实验室的建设与实训平台的打造。本方案旨在提出一套全面、可行的…

如何制作u盘启动盘_制作U盘启动盘详细图文教程

如何制作u盘启动盘&#xff1f;一个U盘如果不做成启动盘的话&#xff0c;就只能当存储用。如果一个U盘做成启动盘的话&#xff0c;可以通过U盘启动进入PE&#xff0c;我们就可以对电脑进行重装系统或分区等一些操作使用了&#xff0c;这个主要用于电脑需要救急的情况下使用。用…

jmeter录制脚本做压力测试

1.录制 第一步 设置浏览器代理&#xff0c;我用的火狐。谷歌、IE也是都可以。 我把端口号改成8082了&#xff0c;这个无所谓的&#xff0c;只要不冲突就可以。 紧接着要往浏览器里添加证书。直接搜索证书。把jmeter的证书导入浏览器。 2.在jmeter里设置 添加线程组、http代…

Another-redis-desktop-manager+ffmpeg

一、Another-redis-desktop-manager 1.点击链接下载&#xff1a;Release v1.6.6 qishibo/AnotherRedisDesktopManager GitHub 2. 傻瓜式安装 二、ffmpeg 1.下载&#xff1a;Builds - CODEX FFMPEG gyan.dev 2.下载对应版本 3.添加环境变量&#xff1a;添加到path里&am…

Intent的基本使用

1.Intent是什么&#xff1f; Intent用于Android程序中各组件&#xff08;Activity、BroadcastReceive、Service&#xff09;的交互&#xff0c;并且可以在组件之间传递数据&#xff0c;分为显式Intent和隐式Intent。 Intent是各个组件之间信息沟通的桥梁&#xff0c;既能在Ac…

【24年7月】最新Hexo+GitHubPages搭建个人博客【一】

Hexo 是一个高效的静态网站生成器&#xff0c;使用简洁的 Markdown&#xff08;或其他模板引擎&#xff09;编写内容&#xff0c;支持丰富的插件和主题&#xff0c;允许用户轻松定制网站。它通过将文本转换为静态HTML页面&#xff0c;使得网站加载速度快&#xff0c;易于部署&a…

Linux操作系统的有关常用的命令

1.linux系统的概述 1.1 什么是Linux系统? Linux&#xff0c;全称GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦 兹&#xff08;Linus Benedict Torvalds&#xff09;于1991年10月5日首次发布&#xff0c;它主要受…

塔子哥的题解点赞方案-美团2023笔试(codefun2000)

题目链接 塔子哥的题解点赞方案-美团2023笔试(codefun2000) 题目内容 塔子哥写了 n 篇题解&#xff0c;编号从 1 到 n&#xff0c;但是塔子哥忘了每篇题解有多少人点赞了。 现在他有如下两种信息&#xff1a; 1、每篇题解的点赞量都为正数&#xff0c;且不超过 m。 2、第 i 篇…

2024LitCTFmisc复现

secret 这首音乐好听&#xff0c;听完了&#xff0c;中间有段杂音 去AU看看 中间有一段藏了东西&#xff0c;放大 出flag了 flag{Calculate_Step_By_Step} 原铁&#xff0c;启动&#xff01; 解压出来是一张二维码 扫出来是原神 去010看看 看到有压缩包&#xff0c;提取出来 …

关于集成网络变压器的RJ45网口

集成网络变压器的RJ45网口是一种将网络变压器与RJ45接口集成在一起的网络连接解决方案。这种集成设计具有多项优势&#xff0c;使其在现代网络设备中得到广泛应用。 优势与特点 1. **空间节省**&#xff1a;集成设计减少了组件数量和连接线缆长度&#xff0c;有助于节省设备内…

Adobe Premiere Pro(Pr)安装包软件下载

一、简介 Adobe Premiere Pro&#xff08;简称Pr&#xff09;是由Adobe公司开发的一款功能强大的视频编辑软件。它支持多平台使用&#xff0c;包括Windows和Mac系统&#xff0c;并且拥有良好的兼容性和高效的性能。Premiere Pro不仅提供了视频剪辑、特效添加、音频处理等基本功…

监控易V7.6.6.15全新升级14:设置功能全面优化

随着企业IT架构的不断发展&#xff0c;对运维管理的需求也日益增加。为了满足广大用户对运维管理的更高需求&#xff0c;监控易系统近期完成了一次重要版本升级。本次升级在原有功能的基础上&#xff0c;对设置功能进行了全面优化和新增&#xff0c;旨在为用户提供更加灵活、高…

系统架构师(每日一练5)

每日一练 1.某企业准备将四个工人甲、乙、丙、丁分配在A、B、C、D四个岗位。每个工人由于技术水平不同&#xff0c;在不同岗位上每天完成任务所 需的工时见下表。适当安排岗位&#xff0c;可使四个工人以最短的总工时()全部完成每天的任务。答案与解析 ABCD甲7523乙9437丙547…

【每日一练】python编写一个简易计算器

程序代码: #循环语句&#xff0c;条件为真所以循环执行 while True: #定义两个数的变量和运算符号 num1 float(input("第一个数:")) num2 float(input("第一个数:")) syminput("选择运算符 - * /&#xff1a;") #判断运算符号 …

《python语言程序设计》第6章2题(求一个整数各个数字的和)编写一个函数

求一个整数各个数字的和编写一个函数&#xff0c;计算一个整数各个数字的和&#xff0c; def sumDigits(n):a n // 100b n % 100 // 10c n % 100 % 10print(f"{n}数&#xff0c;分成个&#xff0c;十&#xff0c;百&#xff0c;{a}{b}{c}", a b c)sumDigits(23…

算法类学习笔记 ———— 红绿灯检测

文章目录 介绍基于传统视觉方法的检测基于颜色和边缘信息基于背景抑制 基于深度学习的检测特征金字塔网络&#xff08;FPN&#xff09;红绿灯检测特征金字塔自下而上自上而下横向连接 特征融合SSD红绿灯检测 高精度地图结合 介绍 红绿灯检测就是获取红绿灯在图像中的坐标以及它…

73.如何通过自开发的T-CODE找到源代码

目录 步骤1&#xff0c;利用SAP的事务代码表&#xff08;‌TSTC&#xff09;‌-SE16 步骤2&#xff0c;查询源代码 方法1 - SE80 方法2 - SE38 步骤1&#xff0c;利用SAP的事务代码表&#xff08;‌TSTC&#xff09;‌-SE16 通过输入特定的事务代码&#xff08;‌tcode&am…

web前端学习笔记Day02

web学习Day02 一、页面布局 盒子模型 盒子将页面的所有标签都包含在了一个矩形区域content(内容区域)->padding(内边距区域)->border(边框区域)->margin(外边距区域) div标签: 一行只能显示一个&#xff08;独占一行&#xff09;width默认为父元素宽度&#xff0c…

CV每日论文--2024.7.22

1、GroupMamba: Parameter-Efficient and Accurate Group Visual State Space Model 中文标题&#xff1a;GroupMamba&#xff1a;参数高效且准确的群体视觉状态空间模型 简介&#xff1a;我们的论文探讨了基于状态空间模型(SSM)在计算机视觉任务中的稳定性和效率挑战。最近,S…

英语语法第六课之介词

文章目录 1、作用2、分类3、意思4、易混地点on、in、at时间on、in、at方位on、in、to时间after、in时间 since、forin the front of、in front ofby、in、withthrough、across、overunder、below、beneathin、into 5、搭配 1、作用 句子中用法 定语The method of success.&…