Java基础系列–02_运算符和程序的语句

运算符:
(1)算术运算符:
+,-,*,/,%,++,–(加、减、乘、除、取余、自增,自减)
++和–的注意事项:
a:他们的作用是自增或者自减
b:使用
1.单独使用
放在操作数据的前面和后面效果一样。
a++或者++a效果一样。
2.参与操作使用
放在操作数的前面:先自增或者自减,再参与操作

放在操作数的后面:先参与操作,再自增或者自减

(2)赋值运算符
A:=,+=,-=,*=,/=,%=(等于,加等于,减等于,乘等于,除等于,取摸等于)
B:=叫做赋值运算符,也是最基本的赋值运算符
举例:int x = 10; 把10赋值给int类型的变量x。
C:扩展的赋值运算符的特点
隐含了自动强制转换。
举例代码:

(3)比较运算符
A:==,!=,>,>=,

举例:(1 !=1 && a > b)左边是false,右边不执行。
||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
&:有false则false
|:有true则true
^:相同则false,不同则true。(异或)
(5)位运算符
^的特殊用法
一个数据针对另一个数据位异或两次,该数不变
举例:
1.实现两个变量的交换:
A:采用第三方变量
B:用位异或运算符

2.最有效率的方式计算出256乘以8和256除以16的结果
256<
<

优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减,非 ++、–、!

4 乘,除,取余 *、/、%
5 加、减 +、-
6 移位运算 <
7 大小关系 >、>=、

3:流程控制语句
(1)顺序结构 从上往下,依次执行
(2)选择结构 按照不同的选择,执行不同的代码
(3)循环结构 做一些重复的代码

4:if语句
(1)三种格式
A:格式1
if(比较表达式) {
语句体;
}
执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体
如果是false,就不执行语句体

B:格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体1
如果是false,就执行语句体2

C:格式3
if(比较表达式1) {
语句体1;
}else if(比较表达式2){
语句体2;
}
… //这里表示可以嵌套多个else if语句
else {
语句体n+1;
}
执行流程:
判断比较表达式1的值,看是true还是false
如果是true,就执行语句体1
如果是false,就继续判断比较表达式2的值,看是true还是false
如果是true,就执行语句体2
如果是false,就继续判断比较表达式3的值,看是true还是false

如果都不满足,就执行语句体n+1
(2)注意事项
A:比较表达式无论简单还是复杂,结果是boolean类型
B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
建议:一般不要省略。
C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号(成对出现)。
D:else后面如果没有if,是不会出现比较表达式的。
E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
(3)三元运算符和if语句第二种格式的关系
所有的三元运算符能够实现的,if语句的第二种格式都能实现。

5.switch语句
(1)格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;

default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句。
表达式:可以是byte,short,int,char(都可以强转为int)
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
(2)应注意的问题
switch语句的表达式可以是byte,不可以是long,JDK7之后可以是String。
(3)执行流程:
A:首先计算表达式的值
B:和每一个case进行匹配,如果有就执行对应的语句体,执行到break就结束。
C:如果没有匹配,就执行default的语句体n+1。
(4)注意事项:
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B:default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
执行到switch语句之前,case就可以把值确定。
C:break可以省略,但是如果break省略了,程序就不会跳出switch,会按照原来的顺序继续执行,直到跳出。这个现象叫做case穿透。
D:default的位置不一定要在最后,但是它一定是在最后执行。
E:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
(5)if语句和switch语句各自的场景
A:if
针对boolean类型的判断
针对一个范围的判断
针对几个常量的判断
B:switch
针对几个常量的判断

6.循环语句
(1)有三种:for,while,do…while,foreach(增强for)
(2)for循环语句
A:格式
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
A.执行流程:
a:执行初始化语句
b:执行判断条件语句
如果这里是true,就继续
如果这里是false,循环就结束
c:执行循环体语句
d:执行控制条件语句
e:回到b
B.注意事项
a:判断条件语句无论简单还是复杂,结果是boolean类型
b:循环体语句如果是一条,可以省略大括号,但是不建议
c:有分号就没有左大括号,有左大括号就没有分号

(3)while循环
A:基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式:
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
通过查看这个格式,说明while循环可以和for循环等价转换。
B:for和while的区别
a:使用上的区别
for语句的控制条件变量,在循环结束后不能在使用(作用域)。
而while的可以继续使用。
b:理解上的区别
for适合于一个范围的判断
while适合次数不明确的
(4)do…while循环
A:基本格式
do {
循环体语句;
}while(判断条件语句);
扩展格式:
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
通过查看格式,说明三种循环的格式可以相互替换的。

B:三种循环的区别
a:do…while循环至少执行一次循环体
b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
(5)foreach循环(其实叫做:增强for)
格式:for (int[] arr : array) {
//遍历数组
}

注意:Java中没有foreach循环,foreach循环其他的语言中的名称,但是Java中的增强for的本质是跟foreach循环一样的,这个循环一般是用来实现遍历操作。
(6)循环使用的注意事项(死循环)
A:一定要注意修改控制条件,否则容易出现死循环。
B:最简单的死循环格式
a:while( true ) { … }
b:for( ; ; ) { … }

7.控制跳转语句
(1)break:中断的意思
A:用在循环和switch语句中,离开此应用场景无意义。
B:作用
a:跳出单层循环
b:跳出多层循环,需要标签语句的配合
(2)continue:继续
A:用在循环中,离开此应用场景无意义。
B:作用
a:跳出单层循环的一次,可以继续下一次

(3)return:返回
A:用于结束方法的,并返回某个值。
B:一旦遇到return,程序就不会在继续往后执行。

Original: https://www.cnblogs.com/zhenjungan/p/10565870.html
Author: zhenjungan
Title: Java基础系列–02_运算符和程序的语句

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581904/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mysql安装及访问配置

    例:https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz 使用原…

    Linux 2023年6月6日
    0113
  • (转)redis系列之——一致性hash算法

    数据分片(sharding)分布式数据存储时,经常要考虑数据分片,避免将大量的数据放在单表或单库中,造成查询等操作的耗时过长。比如,存储订单数据时使用三个mysql库(编号0,1,…

    Linux 2023年5月28日
    0137
  • Linux vim退出命令

    :w – 保存文件,不退出 vim:w file -将修改另外保存到 file 中,不退出 vim:w! -强制保存,不退出 vim:wq -保存文件,退出 vim:w…

    Linux 2023年6月13日
    094
  • 利用 C# 给 Windows 资源管理器注册右键菜单(Windows Shell)(一):入门

    前言 关于 SharpShell SharpShell makes it easy to create Windows Shell Extensions using the .NE…

    Linux 2023年5月28日
    092
  • shell编程学习

    在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。 ! 告诉系…

    Linux 2023年5月28日
    0105
  • 计算机网络学习任务

    自学分析题 请分析,一个5KHz的无噪声信道能够达到的最大数据传输率是多少? 为什么? 假设你使用的宽带是100Mbps,你要把一个0.5GB的文件发送出去, 理论上要花多长时间?…

    Linux 2023年6月6日
    0141
  • java处理http请求之Apache httpClient入门教程

    说明 本文示例代码基于 4.5.13 版本 转载请注明出处:https://www.cnblogs.com/qnlcy/p/15378446.html 一、项目介绍 Apache …

    Linux 2023年6月6日
    088
  • 制作pip离线源

    一、下载指定的包到相应的文件夹 (1)、创建存放安装包的目录:(联网环境) bash;gutter:true; pip list #查看安装的包 mkdir packs pip i…

    Linux 2023年6月8日
    0121
  • cpp创建对象的多种形式

    1 使用非默认构造函数来创建对象的几种形式 Person person = Person("binny1", 26); 这种方式创建对象,C++标准允许编译器使…

    Linux 2023年6月13日
    0183
  • USB转双串口产品设计-RS485串口

    基于USB转2路串口芯片CH342,可以为各类主机扩展出2个独立的串口。CH342芯片支持使用操作系统内置的CDC串口驱动,也支持使用厂商提供的VCP串口驱动程序,可支持Windo…

    Linux 2023年6月7日
    0112
  • 阿里云函数-小米运动

    简介 是否支持多账号:是消息推送平台: server酱 Qmsg酱 PUSHPLUS 原代码(2022.07.12更新)- 不稳定 由于官方接口偶偶失效(每两三月可能失效1-2天(…

    Linux 2023年6月7日
    0105
  • windows server实现AD域对接

    安装两台windows server虚拟机 选择自定义 默认兼容 选择2012镜像 输入密钥 名字位置自己选择 默认 选择4个处理器 内存4G够用 选择仅主机网络 默认 创建磁盘 …

    Linux 2023年6月8日
    0101
  • redis持久化存储

    redis持久化存储 redis多被用于缓存和消息中间件,当被用作缓存时,数据的读写都是在内存中进行的,而内存一旦在主机断电或者主机重启时里面的数据将被清空,为保证数据不被丢失,r…

    Linux 2023年6月7日
    0114
  • Git报错 error: cannot spawn more: No such file or directory

    问题原因 error: cannot spawn more: No such file or directory 这个错误意思是不存在more指令,我是windows平台,自然这个…

    Linux 2023年6月6日
    0104
  • Django_渲染详解

    Django_render 模板语法 模板引擎是一种可以让开发者把服务端数据填充到html网页中完成渲染效果的技术。它实现了把前端代码和服务端代码分离的作用,让项目中的业务逻辑代码…

    Linux 2023年6月7日
    0138
  • lvs

    1.lvs简介 2.结构体系 3.lvs工作模式及原理 4.配置lvs 4.1 部署lvs-nat模式的httpd负载集群—http协议 4.2 部署lvs-dr模式的…

    Linux 2023年6月13日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球