day02-运算符和流程控制语句

Day 02

Java基础语法

1 .运算符

运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式
例如:int a = 10; int b = 20; int c = a + b; +就叫做运算符 a + b就叫表达式

1.1.算数运算符

符号作用说明
+数学-
-数学+
*数学*
/取的是商
%取余取的是余数
练习:需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台举例:int number = 123;在控制台输出结果:个位是:3十位是:2百位是:1
需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台
分析:
① 个位的计算:数值 % 10123 除以 10(商12,余数为3)
② 十位的计算:数值 / 10 % 10123 除以 10 (商12,余数为3,整数相除只能得到整数)12 除以 10 (商1,余数为2)
③ 百位的计算:数值 / 10 / 10 % 10123 / 10 / 10 % 10(123 / 10 得到12,12  / 10 得到1,1 % 10 得到 1)
1.1.1+操作的三种情况

1.数值相加=>隐式数据类型转化

隐式转换把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量

强制转换把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

格式:数据类型 变量名 = (目标数据类型)(数值或者变量)

2.字符串相加

拿字符在计算机底层对应的数值来进行计算的

当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算

“zhongguo”+ 666

当连续进行“+”操作时,从左到右逐个执行

1 + 9999 + “岁zhongguo”

3.字符相加【得到新的ASCII码值】

拿字符在计算机底层对应的数值来进行计算的

‘A’ 65 A-Z是连续的

‘a’ 97 a-z是连续的

‘0’ 48 0-9是连续的

延伸:

符号作用说明
++加1操作加加在前先加加再计算,加加在后先计算再加加
减1操作减减在前先减减再计算,减减在后先计算再减减
关于++/--在前在后的说明,当++/--在前面的时候会先执行++或者--的操作然后再调用int的值;当++/--在后面的时候会先调用int的值然后再进行++或者--的操作

在这里插入图片描述

1.2.赋值运算符

符号作用说明
=赋值a=10,将10赋值给变量a
+=加后赋值a+=b,将a+b的结果赋值给a
-=减后赋值a-=b,将a-b的结果赋值给a
*=乘后赋值a*=b,将a*b的结果赋值给a
/=除后赋值a/=b,将a/b的结果赋值给a
%=取余后赋值a%=b,将a%b的结果赋值给a
赋值运算符隐含了强制类型转换
赋值运算符用于更加快速的书写代码【循环中】

1.3.关系运算符

符号作用说明
==等于a==b,判断a和b的值是否相等,成立为true,不成立为false
!=不等于a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>大于a>b,判断a是否大于b,成立为true,不成立为false
>=大于等于a>=b,判断a是否大于等于b,成立为true,不成立为false
<小于a<b,判断a是否小于b,成立为true,不成立为false
<=小于等于a<=b,判断a是否小于等于b,成立为true,不成立为false
关系运算符的结果都是boolean类型,要么是true,要么是false
千万不要把“==”写成了“=”
一般用在判断里面

1.4.逻辑运算符

符号作用说明
&a&b ,同真则真,一假则假
&&逻辑与a&&b ,同真则真,一假则假【第一个值为假则不会往后再去判断】
|a|b ,一真则真,全假则假
||逻辑或a||b,一真则真,全假则假【第一个值如果是真则不会往后再去判断】
取反

1.3.三元运算符

符号作用说明
表达式?a:b三元运算符如果表达式成立则返回值a,如果不成立则返回值b

运算规则:

首先计算关系表达式的值

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

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

2.流程控制语句

a.顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行

在这里插入图片描述

b.选择结构

在这里插入图片描述

if语句

在这里插入图片描述

语法:if(判断条件){执行语句;}if(判断条件){执行语句;}else{执行语句;}if(判断条件){执行语句;}else if(判断条件){执行语句;}else{执行语句;}...
练习:1.给定一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数2.张三想买一台7988元的新手机,他的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新优惠,把他旧手机交给店家,新手机就能     够打8折优惠。为了更省钱,要不要以旧换新?请通过程序告诉张三3.给出你的年龄,通过程序判断你是否属于青年人?【0-17未成年 18-65青年人 66-79中年 80-99老年人 100以上长寿老人】

switch语句

语法:switch 变量:case 值:语句;break;case 值:语句;break;...default:语句;break;

c.循环结构

for循环

语法:for(循环变量初始化;循环条件判断;循环变量修改){执行语句;}
案例:1.在控制台输出1-5的数据2.思考实现在控制台输出5-1的数据3.求1-5之间的数据之和4.求1-100之间的偶数和5.在控制台输出100-999中所有的水仙花数6.打印直角三角形7.打印等腰直角三角形

while循环

语法:while(循环条件判断){循环语句;循环条件变化;}
练习:用while求1-100之间的偶数和,并把求和结果在控制台输出

do while循环

语法:do{循环语句;循环条件变化;}while(循环条件判断)
练习:用do..while求1-100之间的偶数和,并把求和结果在控制台输出

三种循环语句的区别

三种循环语句的区别for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)for和while的区别条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不可以继续使用了条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,还可以继续使用死循环格式for(;;){}while(true) {}do{}while(true);

d.跳出控制语句

continue:结束本次循环  后面的循环还会继续
break:终止循环

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

用hMailServer+roundcubemail+宝塔安装配置一个自己的邮箱服务

用hMailServerroundcubemail安装配置一个自己的邮箱服务 1、准备工具与资料&#xff1a; 云服务器一台 基础配置就行 2核4G。域名一个 以下用lizipro.cn示例。hMailServer安装包roundcubemail安装包异常处理插件补丁&#xff1a; libmysql.zip 2、hMailServer服务安装&#…

MyBatis-plus(一):快速入门

目录 一、MyBatis-plus 快速入门 1、原理 2、实体类命名规则 3、常见注解 4、主键 id 策略 5、使用 TableField 的常见场景 6、常用配置 二、核心功能 1、条件构造器 2、自定义 SQL 3、IService 接口 一、MyBatis-plus 快速入门 1、原理 MyBatisPlus 通过扫描实体…

多个文件 import 的相同模块里的对象

多个文件 import 的相同模块里的对象&#xff0c;是否永远都是同一个对象&#xff1f; 在store的index.js中 import vue from ‘vue’ import Vuex from ‘vuex’ 并配置有关对象 然后再app.vue中配置vm 在不同的文件中 import一个vue对象&#xff0c;在任何情况下&#…

pycharm 将项目连同库一起打包及虚拟环境的使用

目录 一、创建虚拟环境 1、用 anaconda 创建 2、Pycharm 直接创建 二、虚拟环境安装第三方库 1、创建项目后&#xff0c;启动终端(Alt F12)&#xff0c;或者点击下方标记处。 2、使用 pip 或者 conda 来进行三方库的安装或卸载 3、将项目中的库放入文档&#xff0c;便于…

HCIP的学习(14)

过滤策略—filter-policy ​ 思科中&#xff1a;分发列表 ​ 过滤策略是只能够针对于路由信息进行筛选&#xff08;过滤&#xff09;的工具&#xff0c;而无法针对于LSA进行过滤。 在R4的出方向上配置过滤策略&#xff0c;使得R1不能学习到23.0.0.0/24路由信息1、抓取流量 […

《Linux运维总结:ARM64架构CPU基于docker-compose一离线部署rabbitmq 3.10.25容器版镜像模式集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

Windows系统下通过nginx配置多项目

文章目录 前言大概思路实际操作记录&#xff1a;查看nginx 错误日志问下AI注意点&#xff1a; 当访问域名根路径时&#xff0c;重定向到/pc解决&#xff1a; 总结 前言 在windows电脑启动一个nginx 测试配置多前端项目&#xff0c;一个pc端&#xff08;vue3tsvite &#xff0c…

金三银四面试题(二十六):责任链模式知多少?

什么是责任链模式 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;旨在通过将请求的处理分布在一系列对象上&#xff0c;从而使得多个对象可以尝试处理同一个请求。这些对象被链接成一条链&#xff0c;每个对象都可以对请…

8种区块链开发者必须知道的顶级编程语言!

我来问你一个问题&#xff1a;请说出一种技术&#xff0c;它以去中心化、不可篡改和透明性等核心特征席卷了全球。 这个问题的答案是&#xff0c;当然是区块链&#xff0c;它在近些年进入大家的视野并颠覆了工商业&#xff0c;没有任何其他技术能够做到这一点。 预计从2020年…

1065 单身狗

solution “单身狗”&#xff1a;没有搭子或者搭子没来的参与者输出id时按增序输出 #include<iostream> #include<map> #include<algorithm> using namespace std; const int maxn 1e6, maxn1 1e4 10; int flag[maxn] {0}, all[maxn1]; int main(){int…

weblogic 反序列化 CVE-2018-2628

这个漏洞因为java版本问题一直下载不了ysoserial反序列化工具&#xff0c;没办法生成payload。这里记录一下漏洞原理。 一、漏洞简介 Weblogic Server中的RMI 通信使用T3协议在Weblogic Server和其它Java程序&#xff08;客户端或者其它Weblogic Server实例&#xff09;之间传…

JVM之运行时数据区

Java虚拟机在运行时管理的内存区域被称为运行时数据区。 程序计数器&#xff1a; 也叫pc寄存器&#xff0c;每个线程会通过程序计数器记录当前要执行的字节码指令的地址。程序计数器在运行时是不会发生内存溢出的&#xff0c;因为每个线程只存储一个固定长度的内存地址。 JAVA虚…