Java基础(运算符)

运算符

运算符和表达式

运算符:对字面量或者变量进行操作的符号

表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。

算术运算符(加、减、乘、除、取模、取余)(字符串只有加)
一、案例:
Spackage cn.wwq.YunSuanFu;
​
import java.util.Scanner;
​
public class demo1 {
    /**
     *需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
     * 公式总结:
     * 个位:数值 % 10
     * 十位:数值 / 10 % 10
     * 百位:数值 / 100 % 10
     * 千位:数值 / 1000 % 10
     * */
    public static void main(String[] args) {
        //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一位三位数");
        int number = sc.nextInt();
​
        //2.获取个位,十位,百位
        //个位:数值 % 10
        // 十位:数值 / 10 % 10
        //百位:数值 / 100 % 10
        int ge = number % 10;
        int shi = number / 10 % 10;
        int bai = number / 100 % 10;
        System.out.println(ge);
        System.out.println(shi);
        System.out.println(bai);
    }
}
​
二、"+"操作的三种情况

1.数字相加

数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算。

2.字符串相加

3.字符相加

字符+字符/字符+数字时,会把字符通过 ASCII 码表查询到对应的数字再进行计算。

三.隐式转换和强制转换

隐式转换(自动类型提升):取值范围的数值转换成取值范围的数值。

取值范围从小到大:byte<short<int<long<float<double

什么时候转换?数据类型不一样,不能进行计算,需要转成一样的才可以进行计算。

隐式转换的两种提升规则:

1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

2.byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

看代码说结果:

强制转换:取值范围的数值转换成取值范围的数值。

四.注意事项:

/ 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

自增自减运算符-基本使用

基本用法:

单独使用方式++ 和 -- 既可以放在变量前边,也可以放在变量后边,单独写一行结果是一样的

package cn.wwq.YunSuanFu;
​
public class demo2 {
    public static void main(String[] args) {
        //++ 和 --
        int a = 5;
        a++;
        System.out.println(a);//6
        ++a;
        System.out.println(a);//7
        a--;
        System.out.println(a);//6
        --a;
        System.out.println(a);//5
    }
}

参与计算方式:1. int a = 10; int b = a++; (先用后加)

2. int a = 10; int b = ++a; (先加后用)

赋值运算符和关系运算符
赋值运算符:

注意:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换

关系运算符(比较运算符):

注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”。

package cn.wwq.YunSuanFu;
​
import java.util.Scanner;
​
/**
 *您和您的约会对象在餐厅约会。
 *键盘录入两个整数,表示你和你约会对象衣服的时髦度(手动录入0-10之间的整数)
 * 如果你的时髦程度大于你对象的时髦程度,就相亲成功,输出true,否则输出false。
 */
public class demo3 {
    public static void main(String[] args) {
         //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入自己衣服的时髦度:");
        int my = sc.nextInt();
        System.out.println("请输入相亲对象衣服的时髦度:");
        int girl = sc.nextInt();
​
        //比较
        boolean result = my > girl;
​
        //打印
        System.out.println(result);
    }
}
​
逻辑运算符
一、逻辑运算符的分类:

提示:取反的感叹号不要写多次,要么不写,要么只写一个。

&两个都要满足,|满足一个就可以

二、短路逻辑运算符

短路逻辑运算符具有短路效果,当左边的表达式能确定最终结果,那么右边就不会参与运行了。

注意事项:

1.&|,无论左边是true还是false,右边都要执行。

&&||,如果左边能确定整个表达式的结果,右边不执行。

%%:左边为false,右边不管是真是假,整个表达式的结果一定是false。

||:左边为true,右边不管是真是假,整个表达式的结果一定是true。

这两种情况下,右边不执行,提高了效率。

2.最常用的逻辑运算符:&&,||,!

package cn.wwq.YunSuanFu;
​
​
import java.util.Scanner;
​
/**
 * 数字6是一个真正伟大的数字,键盘录入两个整数。
 * 如果其中一个为6,最后结果输出true。
 * 如果它们的和为6的倍数,最终结果输出为true,其他情况都是false.
 * */
public class demo4 {
    public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number1 = sc.nextInt();
        System.out.println("请输入另一个整数");
        int number2 = sc.nextInt();
​
        //用短路逻辑运算符链接三个判断
        boolean result = number1 == 6 || number2 == 6 || (number2 + number1) % 6 == 0;
​
        //打印
        System.out.println(result);
    }
}
​

三元运算符
一、三元运算符的作用:

可以进行判断,根据判断的结果得到不同的内容。

二、 三元运算符(三元表达式)格式:

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

package cn.wwq.YunSuanFu;
/**
 * 使用三元表达式,获取两个整数的较大值
 * */
public class demo5 {
    public static void main(String[] args) {
        //1.定义两个变量记录两个整数
        int number1 = 19;
        int number2 = 29;
        //2.使用三元表达式,获取两个整数的较大值
        int max = number1 > number2 ? number1 : number2;
        System.out.println(max);
​
    }
}
​
三、计算规则:

1.首先计算关系表达式的值

2.如果值为true表达式1的值就是运算结果

3.如果值为false表达式2的值就是运算结果

四、案例
package cn.wwq.YunSuanFu;
/**
 * 一座寺庙住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。
 * 请用程序实现获取这三个和尚的最高身高。
 * */
public class demo6 {
    public static void main(String[] args) {
        //1、定义三个变量记录三个和尚的身高
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;
        //2、拿着第一个和尚和第二个和尚比较
        //  再拿结果与第三个和尚比较
        int result = height1 > height2 ? height1 : height2;
        int result2 = result > height3 ? result : height3;
        System.out.println(result2);
    }
}
​
五、运算符优先级

()优先于所有。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity 按下Play键后,Scene View里面一切正常,但是Game View中什么都没有 -- Camera Clear Flags的设置

问题如下所示。 最先遇到这个问题是我想用Unity开发一个VR 360-degree Image Viewer。在Scene View中可以看到球体&#xff0c;但是Game View什么都看不到。最后找到的原因是&#xff0c;我使用的shader是Skybox/Panorama&#xff0c; 需要把Main Camera的Clear Flags设置成Do…

灌区信息化解决方案-大型灌区信息化改造

系统方案 灌区信息化解决方案主要对灌区的水情、渠道流量、土壤墒情、气象等信息进行监测&#xff0c;对重点区域进行视频监控&#xff0c;同时对泵站、闸门进行远程控制&#xff0c;实现信息的测量、统计、分析、控制、调度等功能。为灌区管理部门科学决策提供了依据&#xff…

多组学+机器学习+膀胱癌+分型+建模

这是一个基于多组学机器学习的分型建模文章&#xff0c;这里我们大概介绍一下&#xff0c;这篇文章做了啥 一、研究背景 1、尿路上皮癌是高度恶性的肿瘤&#xff0c;预后差&#xff0c;死亡率高 2、没有明显有效的治疗方法&#xff0c;多数患者在免疫治疗中无法受益&#xf…

Java混淆的重要性

在软件开发领域&#xff0c;安全性与代码保护一直是备受关注的问题。特别是在Java这样的跨平台语言中&#xff0c;保护源代码的机密性和完整性显得尤为重要。Java混淆作为一种代码保护技术&#xff0c;其在现代软件开发中的地位日益凸显。本文将详细探讨Java混淆的重要性&#…

【网络安全】网络安全协议和防火墙

目录 1、网络层的安全协议&#xff1a;IPsec 协议族 &#xff08;1&#xff09;IP 安全数据报格式 &#xff08;2&#xff09;互联网密钥交换 IKE (Internet Key Exchange) 协议 2、运输层的安全协议&#xff1a;TLS 协议 3、系统安全&#xff1a;防火墙与入侵检测 1、网络…

addr2line + objdump 定位crash问题

目录 背景 godbolt汇编工具 tombstone ARM平台汇编知识 寄存器介绍 常见汇编指令 函数入参及传递返回值过程 入参顺序 变参函数 虚函数表 典型问题分析过程 Crash BackTrace Addr2line objdump 拓展 为什么SetCameraId函数地址偏移是40(0x28) 参考 背景 最近在…

kerberos:介绍

文章目录 一、介绍二、kerberos框架1、名词解释2、框架 三、优缺点四、其他认证机制1、SSL2、OAuth3、LDAP 一、介绍 Kerberos是一种计算机网络授权协议&#xff0c;主要用于在非安全网络环境中对个人通信进行安全的身份认证。这个协议由麻省理工学院&#xff08;MIT&#xff…

软考-系统分析师-精要1

1、什么是软件需求 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 软件需求是指用户解决问题或达到目标所需的条件或能力&#xff0c;是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力&#xff0c;以及反映这些条件或能力…

Leetcode 118 杨辉三角

目录 一、问题描述二、示例及约束三、代码方法一&#xff1a;数学 四、总结 一、问题描述 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。   在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 二、示例及约束 示例 1&#xff1a…

电子防潮柜出厂前要经过哪些测试?

电子防潮柜在发货前应执行一系列质量控制测试以确保其功能正常、性能稳定且能够满足用户存储物品对湿度控制的需求。以下是沐渥电子防潮柜出厂前的测试流程&#xff1a; 1&#xff09;除湿性能测试&#xff1a;检查并验证防潮柜能否按照设定的湿度目标值准确运行&#xff0c;可…

燃冬之yum、vim和你

了解了很多指令和权限&#xff0c;搞点真枪实弹来瞅瞅 学Linux不是天天就在那掰扯指令玩&#xff0c;也不是就研究那个权限 准备好迎接Linux相关工具的使用了么码农桑~ yum 软件包 什么是软件包呢&#xff1f; 首先来举个生活中常见点的例子&#xff1a;比如我的手机是华为…

盘点数据资产管理十大活动职能 优化企业数据资产管理和应用

在当今的数字化时代&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;在上篇文章中我们对数据资产管理进行了初步的介绍。 上篇文章指路&#x1f449;什么是数据资产管理&#xff1f;详谈数据资产管理的难点与发展现状&#xff01; 有效的数据资产管理不仅能提升企业的…

【JAVA】阿里技术官耗时三个月整理的Java核心知识点

在裁员风波的席卷之下&#xff0c;IT行业弥漫着浓厚的焦虑和不安。面对如此动荡的环境&#xff0c;一个共识日益凸显&#xff1a;提升个人价值至关重要。 这不仅仅是指薪资上的数字增长&#xff0c;更重要的是在职场中、在专业领域、在技术上不断取得突破&#xff0c;并塑造自…

固态继电器:推进可再生能源系统

随着可再生能源系统的发展&#xff0c;太阳能系统日益成为现代能源解决方案的先锋。在这种背景下&#xff0c;固态继电器&#xff08;SSR&#xff09;&#xff0c;特别是光耦固态继电器的利用变得日益突出。本文旨在深入探讨SSR在可再生能源系统中的多方位应用&#xff0c;重点…

ClickHouse 数据类型、表引擎与TTL

文章目录 数据类型注意事项 表引擎1.TinyLog 引擎2.MergeTree 引擎3.ReplacingMergeTree 引擎4.AggregatingMergeTree 引擎5.SummingMergeTree 引擎6.CollapsingMergeTree 引擎7.Distributed 引擎 TTL列级 TTL表级TTL 数据类型 ClickHouse 数据类型Java 数据类型数据范围UInt8…

基于FaceNet的人脸识别

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计10077字&#xff0c;阅读大概需要10分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#…

Python二进制文件转换为文本文件

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在日常编程中&#xff0c;我们经常会遇到需要将二进制文件转换为文本文件的情况。这可能是因…

最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 GPU 版 土堆教程

最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程 Windows 下 PyTorch 入门深度学习环境安装与配置 GPU 版 教程大纲如何使用此教程快速开始版本 Windows下判断有无NVIDIA GPU安装Anaconda作用流程下载安装 Anaconda 创建虚拟环境利用conda或者…

谁是存储器市场下一个“宠儿”?

AI浪潮对存储器提出了更高要求&#xff0c;高容量、高性能存储产品重要性正不断凸显&#xff0c;存储产业技术与产能之争也因此愈演愈烈&#xff1a;NAND Flash领域&#xff0c;闪存堆叠层数持续提升&#xff1b;DRAM领域HBM持续扩产&#xff0c;技术不断迭代&#xff0c;同时3…

Github上不去?进来,我教你

目录 一、复制Github的服务器地址 二、打开C盘下的hosts配置文件 三、编辑hosts 四、刷新DNS 五、本教程资源来源 一、复制以下Github的各服务器地址 # GitHub520 Host Start 140.82.112.26 alive.github.com 140.82.113.6 api.github.com…