day04_运算符

今日内容

零、 复习昨日
一、运算符
二、键盘录入
三、练习

零、 复习昨日

学习方法: 画面记忆, 过电影回忆

注意变量写法:

  • 数据类型 变量名 = 值;
  • 常用类型 int,double

类型转换

  • 小向大 默认
  • 大向小 强制

一、作业

写题技巧

  • 程序题,没有"标准答案", 只要结果符合预期

  • 程序是调试出来的,不可能一次写对,边写边试

  • 一定要去试着写,不能光看,根据错误的结果修正代码

  • 要读代码,按照执行顺序读

  • “法无禁止皆可行” - “无所不用其极” - 大胆使用所学技术去试,新加内容变量等都可以,只要结果对

二、运算符

前提是得知道数据,变量,数据类型等知识

运算符

  • 算术运算
  • 赋值运算
  • 关系运算
  • 逻辑运算
  • 三目运算

2.1 算术运算

算术运算就是数学运算: + - *(乘) /(除) %(取余) ++(自增) --(自减)

package com.qf.operation;/*** --- 天道酬勤 ---** @author QiuShiju* @desc 算术运算*/
public class Demo1 {public static void main(String[] args) {/*** 算术运算符号* + - * /* % ++ --*//*** + 加法* 1) 数字相加,*    如果两边数字类型不一致,相加结果数据类型跟大范围的一致* 2) 做字符串连接*/System.out.println(1 + 1 );// 常量相加int sum1 = 2 + 2;// 常量相加赋值给变量System.out.println(sum1 );int a = 3; // 声明两个变量int b = 3;int sum2 = a + b; // 变量相加System.out.println(sum2 );// 两边数字类型不一致,相加结果数据类型跟大范围的一致System.out.println(1 + 1.1 );// 2.1int a2 = 2;double b2 =2.2;double sum3 = a2 + b2;System.out.println(sum3 );// 4.2// 加号可以做字符串连接System.out.println("sum3 = " + sum3 );// 前两个是数字相加结果是2// 第三个1是字符串,就会拼接成"21"// 只要遇到字符串,往后加法都是拼接System.out.println(1 + 1 + "1" + 1 + 1 + 1 );// 21111// ============================================/*** - 减法* 只能做数字相减*/System.out.println(1 - 1);int a3 = 2;int b3 = 1;System.out.println(a3 - b3 );// ============================================/***  *乘法* 只能数字相乘*/System.out.println(2 * 6 );int a4 = 2;double b4 = 2.2;System.out.println(a4 * b4 );// ============================================/***  / 除法*  1)只能两数相除*  2)除法如果两边都是整除,结果只能是整数,舍弃小数取值*  3)数学常识,0不能做除数(分母)*/System.out.println(10 / 2 );// 5System.out.println(10 / 2.0 );// 5.0System.out.println(10 / 3 );// 3System.out.println(10 / 4 );// 2// System.out.println(10 / 0 ); // 有bug,即异常// ============================================/*** 取余 %* 除不尽的余数* -----* 场景: 判断奇偶性*/System.out.println(10 % 2 );// 0System.out.println(10 % 3 );// 1/*** 153,分别获得百位的1,十位5,个位3*/int num = 153;int ge = num % 10;int shi = num / 10 % 10;int bai = num / 100;System.out.println("个位:" +  ge);System.out.println("十位:" +  shi);System.out.println("百位:" +  bai );// ============================================/*** ++ 自增1* -- 自减1*/int i = 1;i++;System.out.println(i );/*** 谁在前先用谁* ------------* ++在后,先使用后自增* ++在前,先自增后使用*/int x = 1;int r = x++;System.out.println("r = " + r );// 1System.out.println("x = " + x );// 2int y = 1;int r2 = ++y;System.out.println("r2 = " + r2 );// 2System.out.println("y = " + y );// 2// ==================================int q = 10;int w = 10;int e = 10;q = w++;// q10 w11e = --q;// q9 e9w = ++q;// q10 w10q = e--;// q9 e8System.out.println("q = "+q);System.out.println("w = "+w);System.out.println("e = "+e);}
}

2.2 赋值运算

赋值运算: 将一个值赋值给另外一个变量

  • =
  • -= , += , *= , /=
  • int a = 1; // 将值1赋值给a变量
  • int b = a;// 将变量a的值赋值给b变量
package com.qf.operation;/*** ---      天道酬勤    ---* --- 代码敲烂 月薪过万 ---** @author QiuShiju* @desc*/
public class Demo2 {public static void main(String[] args) {/*** 赋值运算* 右边赋值给左边*/int a = 1; // 1赋值给aSystem.out.println("a = " + a);int b = a;// 将a变量的值赋值给bSystem.out.println("b = " + b);/*** += , -= , *= , /=* 相当于是拆开,先运算再赋值c = c + 2* 有好处*  1) 简单*  2) 会默认进行类型转换*/int c = 1;c += 2;// 相当于是c = c + 2System.out.println("c = " + c);short s = 1;s += 1; // 默认类型转换s = (short)(s + 1);// 拆开写,就需要自己转换}
}

2.3 关系运算

关系运算,就是两个数字直接比大小

> 大于
< 小于
>= 大于等于
<= 小于等于
== 相等
!= 不等

关系运算的结果是布尔值,只有true,false

package com.qf.operation;/*** ---      天道酬勤    ---* --- 代码敲烂 月薪过万 ---** @author QiuShiju* @desc 关系运算*/
public class Demo3 {public static void main(String[] args) {/*** > 大于* < 小于* >= 大于等于* <= 小于等于* == 相等* != 不等* 关系运算的结果是布尔值,只有true,false*/System.out.println(1 > 0 );// trueSystem.out.println(1 < 0 );// falseint a = 1;int b = 2;System.out.println(a > b );// falseSystem.out.println(a < b );// trueint c = 2;int d = 2;boolean r = c == d;System.out.println(r );// trueboolean r2 = c != d;System.out.println(r2 );// false}
}

2.4 逻辑运算

逻辑运算

  • 与 & , 2个必须满足
  • 或 | , 二选一满足
  • 非 ! , 取反
  • 短路与 &&
  • 短路或 ||

基础&(与) |(或) !(非) 演示

package com.qf.operation;/*** ---      天道酬勤    ---* --- 代码敲烂 月薪过万 ---** @author QiuShiju* @desc 逻辑运算*/
public class Demo4 {public static void main(String[] args) {/*** 逻辑运算是与关系运算一起使用的:*  逻辑运算的符号两边是关系运算* 逻辑运算的结果是true和false*-----------------------------------* & 与,和* 语法:*       a>b  & c>d* 布尔表达式1 & 布尔表达式2* 作用:*  两边布尔表达式一错,整体就是错,两边都对整体才是对*  一错就错全对才对*/System.out.println(1 > 0 & 1 > 0 );// T & T = TSystem.out.println(1 > 0 & 1 < 0 );// T & F = FSystem.out.println(1 < 0 & 1 > 0 );// F & T = FSystem.out.println(1 < 0 & 1 < 0 );// F & F = FSystem.out.println("------------------" );/***  | 或*语法*  布尔表达式1 | 布尔表达式2*作用*  一对就对,全错才错*/System.out.println(1 > 0 | 1 > 0 );// T | T = TSystem.out.println(1 > 0 | 1 < 0 );// T | F = TSystem.out.println(1 < 0 | 1 > 0 );// F | T = TSystem.out.println(1 < 0 | 1 < 0 );// F | F = FSystem.out.println("------------------" );/*** !非* 语法:*   !布尔表达式* 作用:*   将表达式结果取反*/System.out.println(!true ); // falseSystem.out.println(!(1 > 0) );// falseSystem.out.println(!(1 > 0 & 1 < 0) );// true}
}

短路与、短路或 演示 [重点]

 		// 当第一个表达式能决定整体结果时,后面表达式短路不执行/*** & 一错就错,全对才对* && 短路与,当前面表达式结果是错的时候,后面不再执行*/System.out.println(1 < 0 && 1/0==1 );/*** | 一对就对,全错才错* || 前面表达式结果是对,那么后面不执行*/System.out.println(1 > 0 || 1/0 == 0);

2.5 三目运算

数据类型 变量 = 布尔表达式 ? true时执行 : false时执行;

  • 执行顺序
    • 先执行表达式
    • 再根据对错执行
      • 如果表达式是对(true),就执行冒号前面
      • 如果表达式是错(false),就执行冒号后面
package com.qf.operation;/*** ---      天道酬勤    ---* --- 代码敲烂 月薪过万 ---** @author QiuShiju* @desc*/
public class Demo5 {public static void main(String[] args) {/*** 数据类型 变量 = 布尔表达式 ? true时执行 : false时执行;** - 执行顺序*   - 先执行表达式*   - 再根据对错执行*     - 如果表达式是对(true),就执行冒号前面*     - 如果表达式是错(false),就执行冒号后面*/int r1 = 1 > 0 ? 1 : 0;System.out.println(r1 );String s1 = 1 > 0 ? "1大" : "0大";System.out.println(s1 );// 比较两数大小,输出最大的int a = 2;int b = 2;String r2 = a > b ? "a大a="+a : "b大b="+b;System.out.println(r2 );}
}

三、键盘录入

因为以前练习时的数据都是固定的写死的,无交互性

使用键盘录入就可以实现从外界将数据输入到程序


实现键盘录入,需要使用Java自带的Scanner功能,使用步骤

  • 创建Scanner对象
  • 导入Scanner包
  • 调用方法完成输入
  • 接收输入的数据

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

package com.qf.scanner;// 2导包
import java.util.Scanner;
public class Demo6 {public static void main(String[] args) {// 1创建Scanner对象[固定步骤]Scanner scanner = new Scanner(System.in);// 3调用方法完成输入// next()和nextLine() 输入字符串// nextInt() 输入整型// nextDouble() 输入小数System.out.println("请输入整数:" );int a = scanner.nextInt();// a就是接收到的输入的值System.out.println("输入的是: "+a );System.out.println("请输入字符串:" );String str = scanner.next( );System.out.println("输入的是: "+str );System.out.println("请输入小数:" );double d = scanner.nextDouble( );System.out.println("输入的是: "+d );}
}

四、练习 [重点]

编写一个程序,从用户输入的两个数字中获得较大的数字并显示出来。
编写一个程序,从用户输入的三个数字中找到最小的数字并显示出来。
编写一个程序,计算用户输入的3个数字的平均值并显示出来。
编写一个程序,接收用户输入的半径,并计算圆的面积和周长。
编写一个程序,从用户输入的摄氏温度中将其转换为华氏温度,并显示结果。
编写一个程序,计算一个数的平方和立方,并将结果显示出来。

附录

sum 和

duplicate 丢普雷k特

number,简写num 数字

result 结果

scan 扫描

scanner 扫描器

next 下一个

import 导入

length 长度

area 面积

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过复用TTY结构体实现提权利用

前言 UAF是用户态中常见的漏洞&#xff0c;在内核中同样存在UAF漏洞&#xff0c;都是由于对释放后的空间处理不当&#xff0c;导致被释放后的堆块仍然可以使用所造成的漏洞。 LK01-3 结合题目来看UAF漏洞 项目地址&#xff1a;https://github.com/h0pe-ay/Kernel-Pwn/tree/…

软考证书可以评职称吗?怎么评?

软考是可以帮助评职称的&#xff0c;取得软考证书&#xff0c;就具备评职称的相应资格。 通过软考获得证书的人员&#xff0c;表明其已具备从事相应专业岗位工作的水平和能力&#xff0c;用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务&#xff08;技术员…

基于springboot地方废物回收机构管理系统springboot11

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

Amazon Lightsail——兼具亚马逊云科技的强大功能与 VPS 的简易性

对于开发者而言&#xff0c;当你想构建系统架构时&#xff0c;你的面前就出现了两种选择&#xff0c;选择一&#xff1a;花时间去亲手挑选每个亚马逊云科技组件&#xff08;云服务器、存储、IP 地址等&#xff09;&#xff0c;然后自己组装起来&#xff1b;选择二是只需要一个预…

软考复习 -- 计算机网络

1 网络互连设备 物理层&#xff1a;中继器和集线器&#xff08;多路中继器&#xff09;数据链路层&#xff1a;网桥和交换机&#xff08;多端口网桥&#xff09;网络层&#xff1a;路由器应用层&#xff1a;网关 2 广播域和冲突域 3 协议簇 4 网际层协议 4 TCP和UDP 4.1 TC…

浙江大学2024年研招简章总纲领公布:MBAMPAMEM报考划重点版

2024年研究生招生录取工作终于走到关键的一步&#xff0c;9月24-27日考研网上预报名时间段开启前&#xff0c;浙大公布2024年研究生招生简章总纲领&#xff0c;立足浙江的杭州达立易考教育带领大家一睹为快&#xff0c;特别为MBA/MPA/MEM等管理类硕士考生划重点&#xff01; 一…

2023数A题——WLAN网络信道接入机制建模

A题——WLAN网络信道接入机制建模 思路&#xff1a;该题主要考察的WLAN下退避机制建模仿真。 资料获取 问题1&#xff1a; 假设AP发送包的载荷长度为1500Bytes&#xff08;1Bytes 8bits&#xff09;&#xff0c;PHY头时长为13.6μs&#xff0c;MAC头为30Bytes&#xff0c;MA…

Linux,计算机网络,数据库

Linux&#xff0c;计算机网络&#xff0c;数据库&#xff0c;操作系统 一、Linux1、linux查看进程2、linux基本命令3、top命令、查看磁盘 二、计算机网络1、HTTP的报文段请求 Repuest响应 Response 2、HTTP用的什么连接3、TCP的三次握手与四次挥手三次握手四次挥手 4、在浏览器…

C#中的方法

引言 在C#编程语言中&#xff0c;方法是一种封装了一系列可执行代码的重要构建块。通过方法&#xff0c;我们可以将代码逻辑进行模块化和复用&#xff0c;提高代码的可读性和可维护性。本文将深入探讨C#中的方法的定义、参数传递、返回值、重载、递归等方面的知识&#xff0c;…

怎样使用 NFTScan Solana API 快速创建 NFT 应用程序?

之前&#xff0c;Solana 凭借其超高的性能和低廉的费用&#xff0c;已然成为 NFT 项目最青睐的公链之一&#xff0c;众多知名 NFT 项目如 DeGods、Okay Bears、Degenerate Ape Academy 等都选择在 Solana 上发行。意味着 Solana 链上每天都会产生海量的 NFT 交易数据&#xff0…

轻量服务器是不是vps ?和vps有什么区别

​  轻量型服务器是介于云服务器和共享型服务器之间的一种解决方案。它提供较为独立的资源分配&#xff0c;但规模较小&#xff0c;适用于中小型网站和应用程序。轻量型服务器的硬件资源来源于大型的公有云集群的虚拟化技术。轻量型服务器的性能和带宽可能会稍逊于云服务器。…

查看吾托帮88.47的docker里的tomcat日志

步骤如下 &#xff08;1&#xff09;ssh &#xff08;2&#xff09;ssh root192.168.88.47 等待输入密码&#xff1a;fytest &#xff08;3&#xff09;pwd #注释&#xff1a;输出/root &#xff08;4&#xff09;docker exec -it wetoband_deploy /bin/bash #注释&#xff1…