【Java语言】— 运算符、案例:键盘录入

news2024/10/1 5:38:23

目录

    • 运算符
      • 1.算术运算符
        • 案例:数值拆分
      • 2.“+”做连接符
      • 3.自增自减运算符
        • 自增自减的使用事项
        • 自增自减的案列
      • 4.赋值运算符
        • 基本赋值运算符:“=”
        • 扩展赋值运算符:“+=”、“-=”、“*=”、“/=”
      • 5.关系运算符
      • 6.逻辑运算符
        • 短路逻辑运算符
        • 总结
      • 7.三元运算符
        • 三元运算符介绍
        • 案例:求三个整数的最大值
        • 拓展知识:三元运算符的嵌套
      • 8.运算符优先级
    • 案例:键盘录入技术
      • 需求:
      • 键盘录入功能实现的三个步骤

运算符

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

1.算术运算符

符号作用说明
+/
-/
*/
/在Java中两个整数相除结果还是整数
%取余/

/ 需要注意什么,为什么?

如果两个整数做除法,其结果一定是整数,因为最高类型是整数。

案例:数值拆分

需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台。

 int data = 589;
        
        int ge = data % 10;
        System.out.println(ge);

        int shi = data / 10 % 10;
        System.out.println(shi);

        int bai = data /100;
        System.out.println(bai);

在这里插入图片描述

2.“+”做连接符

  • “+” 符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。

    能算则算,不能算就在一起。

3.自增自减运算符

符号作用说明
++自增变量自身的值加1
- -自减变量自身的值减1

注意:

  • ++和- - 既可以放在变量的后边,也可以放在变量的前边。
  • ++ 、- - 只能操作变量,不能操作字面量。

自增自减的使用事项

++、- -如果不是单独使用(放在表达式中、或者同时有其他操作),放前后或有明显的区别。

  • 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
int a = 10;
int rs = ++a;
  • 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1。
int b = 10;
int rs = b++;

自增自减的案列

		System.out.println("----拓展案列----");
        int k = 3;
        int p = 5;
        // k 3 4 5 4
        // p 5 4 3 4
        // ks 3 + 5 - 4 + 4 - 5 + 4 + 2
        int rs = k++ + ++k - --p + p-- - k-- + ++p + 2;
        System.out.println(k); // 4
        System.out.println(p);// 4
        System.out.println(rs); // 9

结果为:

在这里插入图片描述

4.赋值运算符

基本赋值运算符:“=”

扩展赋值运算符:“+=”、“-=”、“*=”、“/=”

符号作用说明
+=加后赋值a+=b 等价于a=(a的数据类型)(a+b);
-=减后赋值a-=b 等价于a=(a的数据类型)(a-b);
*=乘后赋值a*=b 等价于a=(a的数据类型)(a*b);
/=除后赋值a/=b 等价于a=(a的数据类型)(a/b);
%=取余后赋值a%=b 等价于a=(a的数据类型)(a%b);

注意:扩展的赋值运算符隐含了强制类型转换。

5.关系运算符

对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。

在这里插入图片描述
注意:在做相等判断时,不要把==误写成=。

6.逻辑运算符

可以把多个布尔结果放在一起运算,最终返回一个布尔结果。

在这里插入图片描述

短路逻辑运算符

在这里插入图片描述

注意:逻辑与“&”、逻辑或“|”:无论左边是false还是true,右边都要执行。

 		System.out.println("----&& & || |的区别-----");
        int a = 10;
        int b = 20;
        System.out.println(a > 100 && ++b > 10);//false
        System.out.println("&&后面的不执行,b的值未变:"+ b);//20

        int i = 10;
        int j = 20;
        System.out.println(i > 100 & ++j > 10);//false
        System.out.println("&后面的运行,j的值加1:" + j);//21

        int m = 10;
        int n = 20;
        System.out.println(m > 2 || ++n > 10);//true
        System.out.println("||后面的不执行,n的值加1:" + n);//20

        int x = 10;
        int y = 20;
        System.out.println(x > 2 | ++y > 10);//true
        System.out.println("|后面的运行,y的值加1:" + y);//21

运行结果:

在这里插入图片描述

总结

①逻辑与“&”:有一个为false、结果是false。

②短路与“&&”:一个为false、结果是false。前一个为false,后一个条件不执行。

③逻辑与“|”:有一个为true、结果是true。

④短路与“||”:一个为true、结果是true。前一个为true,后一个条件不执行。

⑤逻辑非“!”:!false=true、!true=false。

⑥逻辑异或“^”:相同是false、不同是true。

注意:实际开发中、常用的逻辑运算符还是:&&、||、!。

7.三元运算符

三元运算符介绍

格式:条件表达式 ?值1 :2;

执行流程:
首先计算表达式的值,如果值未true,返回值1,如果为false,返回值2

场景:
在这里插入图片描述

		// 目标:学会使用三元运算符,并使用其流程
        double socre = 98;
        String rs = socre >= 60 ? "考试通过" : "挂科";
        System.out.println(rs);

        double socre1 = 18;
        String rs1 = socre1 >= 60 ? "考试通过" : "挂科";
        System.out.println(rs1);

        //案例:从两个整数中找出较大值
        int a = 10000;
        int b = 2000;
        int max = a > b ? a : b;
        System.out.println(max);

结果:
在这里插入图片描述

案例:求三个整数的最大值

需求:定义三个整数,找出最大值并打印在控制台。
分析:
①用三元运算符获取前两个整数的最大值,并用临时变量保存起来。

  • num1 > num2 ?num1 : num2;

②用三元运算符,让临时变量和第三个整数比较,并记录结果。

  • temp > num3 ? temp : num3;

③输出结果。

		int i = 10;
        int j = 30;
        int k = 50;
        //1.找出2个整数的最大值
        int temp = i > j ? i : j;
        //2.拿临时变量与第三个值继续比较
        int rsMax = temp > k ? temp : k;
        System.out.println(rsMax);//50

拓展知识:三元运算符的嵌套

 		System.out.println("-------拓展知识------");
 		int i = 10;
        int j = 30;
        int k = 50;
        // 三元运算符的嵌套使用
        int rsMax1 = i > j ? i > k ? i : k : j > k ? j : k;
        //辅助理解:int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
        System.out.println(rsMax1);

运行结果如下:

在这里插入图片描述

8.运算符优先级

运算符的先执行后执行要看优先级

在这里插入图片描述

案例:键盘录入技术

需求:

  • 请完成Java程序与用户交互,比如录入用户的名称、年龄? API。
    在这里插入图片描述
  • Java写好的程序(功能代码),直接调用。
  • Oracle也为Java写好的程序提供了相应的API文档(技术使用说明书)。

下载API文档:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

键盘录入功能实现的三个步骤

①导包:告诉程序去JDK的哪个包找扫描器技术。

②写一行代码代表得到键盘扫描对象。

③等待接收用户输入数据。

注意:

  • System、String在JDK中的Java.long包下。

  • lang包不需要我们导包,是默认的包。

案例代码:

package xuexi.scanner;
// 1.导包(不需要自己写,通过工具进行导入更加方便)

import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        // 目标:学会使用键盘录入技术
        // 2.得到一个键盘扫描器对象
        Scanner sc = new Scanner(System.in);

        //3.调用sc对象的功能等待接收用户输入的数据
        //这个代码会等待用户输入数据,直到用户输入完成数据并按了回车键就会把数据拿到
        System.out.println("请您输入您的年龄:");
        int age = sc.nextInt();
        System.out.println("您的年龄是:" + age);

        System.out.println("请您输入您的名称:");
        String name = sc.next();
        System.out.println("欢迎:" + name);
    }
}

效果展示:

在这里插入图片描述

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

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

相关文章

DAS和NAS

对于有大量数据存储需求的人群可能都听过NAS或者DAS,由两者演化出来的产品也各有不同,但是两者的真正的区别是什么、各有哪些优势和劣势、分别适用哪些人群一直以来也是困扰大家的问题。 DAS全称为直接附加存储(Direct Attached Storage,DAS…

安全用电守护卫士,同为(TOWE)带漏电保护功能桌面PDU插座

随着人民生活水平的提高,人们日常对电的需求量越来越高,尤其是在隆冬季节,很多居民冬季采用电炉、电热毯和空调等取暖,用电负荷较大,一旦出现漏电、过载、短路等问题,很容易引发火灾。据了解,大…

【机器学习】特征工程:时间特征构造以及时间序列特征构造(含源代码理解)

目录:特征工程—时间特征构造以及时间序列特征构造一、前言二、特征构造介绍三、时间特征构造3.1 连续值时间特征3.2 离散值时间特征3.2.1 时间特征拆解3.2.2 时间特征判断3.2.3 结合时间维度的聚合特征四、时间序列特征构造4.1 时间序列聚合特征4.2 时间序列历史特…

PoolFormer实战:使用PoolFormer实现图像分类任务(一)

摘要 论文:https://arxiv.org/abs/2111.11418 论文翻译:https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/128281326 官方源码:https://github.com/sail-sg/poolformer 模型代码解析:https://blog.csdn.net/hhhhhhhh…

超店有数给新手Tik Tok选品的三个建议

给新手Tik Tok选品的三个建议 1)避开饱和的红海类目 比如食品类、美妆个护类的产品,因为竞争过于激烈,一般都是有经验的大卖家操作运营,因为他们会有稳定的供应链、以及足够的成本去支撑,短期盈利比较难,也就是为什么…

企业电子招投标采购系统源码之登录页面

信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stre…

(八)大白话MySQL通过配置多个Buffer Pool来优化数据库的并发性能

文章目录1、多线程在访问Buffer Pool的时候需要加锁吗?2、多线程并发访问会加锁,数据库的性能还能好吗?3、MySQL的生产优化经验:多个Buffer Pool优化并发能力100、创作不易,更多章节,请扫码关注&#xff0c…

学而不固,择善固之-杰克教诲

学而不固,择善固之 我也是第一次知道这个词,是受“杰克”大佬教诲。2022-12-30 解释一 学习有时候不是为了马上用起来,有时候只是让我们不再固执,通过学习知道原来世界上还有这么一说,对很多事情保有好奇心。 不持成见地学习&…

spring中为什么要三级缓存?二级不行吗

这是我看过视频中最能解释的文字表达了 先说bean的创建过程:实例化->依赖注入->初始化 实例化之后会提前暴露到缓存,用于解决循环依赖问题。 以下的解释保证你能看懂: 为什么需要一级缓存ioc容器 总得有个地方放那些单例吧 为什么需…

【决策树】简单介绍+个人理解(一)

∙\bullet∙ 分类模型中除了贝叶斯决策规则,SVM,最近邻分类器,还有决策树 ∙\bullet∙ 决策树就是选一个属性,根据属性的不同取值,将样本划分为不同的类,不断重复下去,直到终止。在叶子节点处&a…

支持图文公式混排的题库软件,Word试卷直接入库

试卷电子化的难题是入库难,只有试卷入库,才能做到后续的监督,复习,错题本等功能。 目前题库软件众多,但大多数题库软件仅支持纯文本题库,而很多试卷都是包括公式,图形,排版复杂。 …

中国外文局文化传播中心借力vLive虚拟直播,打造国际汉文化云讲堂

文明因多样而交流,因交流而互鉴,因互鉴而发展。 近日,中国外文局文化传播中心组织的“中华文化国际传播云讲堂”活动成功举办,本次云讲堂以“世界汉学家看中国文化”为主题,邀请世界汉学家共同探讨汉文化,…

【Git】一文带你入门Git分布式版本控制系统(创建合并分支、解决冲突)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

Kyligence 客户浦发银行、招商银行荣获金融业科技赋能业务创新突出贡献奖

近日,由《金融电子化》杂志社主办的“2022中国金融科技年会暨第十三届金融科技应用创新奖颁奖典礼”成功举办。Kyligence 服务客户上海浦东发展银行股份公司(以下简称浦发银行)项目「客户旅程万花筒」、招商银行股份有限公司(以下…

户外运动如何安全享受音乐、专业户外运动耳机推荐

想采摘成熟的柿子、苹果、冰糕或栗子吗?出去运动吧在这个不冷不热的金秋季节里,大自然的一切都在等着我们出户外去探险,要说今年的哪一个户外运动最引人注目,露营和登山总是不相上下,但是运动怎么能少了音乐的陪伴呢&a…

智慧楼宇数字孪生应用方案

智慧楼宇也称智能建筑、智能楼宇,是将建筑、物联网感知和控制及结构、系统、管理和服务等各方面的先进科技相互交融结合,是现代化新型建筑发展的必经阶段。通过数字孪生技术,可将楼宇设备之间、系统之间融合数据互通,为组成智慧楼…

PyTorch学习笔记 7.TextCNN文本分类

PyTorch学习笔记 7.TextCNN文本分类一、模型结构二、文本分词与编码1. 分词与编码器2. 数据加载器二、模型定义1. 卷积层2. 池化层3. 全连接层三、训练过程四、测试过程五、预测过程一、模型结构 2014年,Yoon Kim针对CNN的输入层做了一些变形,提出了文本…

Redis事件循环

Redis事件循环文件事件时间事件事件调度和执行客户端部分关于客户端输出缓冲区限制ServerCron周期函数服务器启动流程小结Redis服务器是一个事件驱动程序, 主要处理两类事件: 文件事件 (File Event) : 对套接字操作的抽象,服务器与客户端的通信过程会产生相应的文件…

Java 中的继承和多态

面向对象的三大特性:封装、继承、多态。在这三个特性中,如果没有封装和继承,也不会有多态。 那么多态实现的途径和必要条件是什么呢?以及多态中的重写和重载在JVM中的表现是怎么样?在Java中是如何展现继承的特性呢&am…

常用密码算法介绍

算法种类 根据技术特征,现代密码学可分为三类: 对称算法 说明:加密密钥和解密密钥相同,对明文、密文长度没有限制 子算法: 流密码算法:每次加密或解密一位或一字节的明文或密文 分组密码算法&#xff…