JAVAweek6
本周学习
Java语言基础:运算符【有所区别】
算术运算符
+(3+2) - * / %(取余,模运算) +(连接符)(3+‘‘2’’)
++ --
class VarDemo
{
//算术运算符
public static void main(String[] args)
{
int x=6370;
x=x/1000*1000;
System.out.println(x);
}
}

【必须是整数型】
连接符
class VarDemo
{
public static void main(String[] args)
{
int a=4,b=5;
System.out.println("a="+a+",b="+b);
}
}

比较运算符
只要是运算符,运算完毕一定有结果。比较运算符结果为true/false
逻辑运算符
用于连接两个布尔(boolean)类型的表达式
^:异或:和或有点不一样
true^true=false//除此之外都一模一样
两边结果相同是false
两边结果不同是true
一个数异或同一个数两次,结果还是这个数。
【面试题】
&&:
和&运算的结果是一样的。但是运算过程有点区别。
&:无论左边的运算结果是什么,右边都参与运算(6&3=2:110&011=010=2)
&&:当左边为false时,右边不参与运算
||:
和|运算的结果是一样的。但是运算过程有点区别。
|:无论左边的运算结果是什么,右边都参与运算
||:当左边为true时,右边不参与运算
位运算符
<<左移 >>右移 >>>无符号右移
3<<2//3往左移两位(32位,高位去掉2位,末尾补2个0):正数补0,负数补1
0000 0000 0000 0000 0000 0000 0000 00011=3
00 0000 0000 0000 0000 0000 0000 0001100=12:3*2(2)
(左移几位相当于乘以2的几次方)
(右移几位相当于除以2的几次幂)
>>右移>>>无符号右移 区别
>>>:无符号右移:数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。
练习:
计算最有效率:位运算
对于两个变量的值进行互换:①利用第三方变量(开发时使用,阅读性强)
②求和【a=a+b;b=a-b;a=a-b;】//这种方式不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数值会变化
③利用运算符^(面试使用)
a=a^b;//a=3+5;a=8;
b=a^b;//3+5-5=3;b=3;
a=a^b;//3+5-3=5;a=5;
Java语言基础:三元运算符
格式
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果为表达式一
如果条件为false,运算后的结果为表达式二
//获取两个整数中较大的整数
int a,b;
int max=a>b?a:b;
//获取三个整数中较大的整数
int q,p,o;
int temp=o>p?o:p;
int max2=temp>q?temp:q;
判断结构 if 语句
三种格式
1、
if(条件表达式)
{
执行语句:
}
2、
if(条件表达式)
{
执行语句:
}
else//否则
{
执行语句:
}
3、
if(条件表达式)
{
执行语句:
}
else if(条件表达式)
{
执行语句:
}
三元运算符就是if else 语句简写形式
局部代码块//作用域
if(false);//加了;意义不一样了
{//局部代码块
执行语句:
}
选择结构
switch语句
格式:
switch(表达式)
{
case 1:
执行语句:
break:
.
.
.
default:
执行语句:
break;
}
if和switch的应用
if:
1、对具体的值进行判断
2、对区间判断
3、对运算结果时boolean类型的表达式进行判断
switch:
1、对具体的值进行判断
2、值的个数通常是固定的
对于几个固定的值,建议使用switch语句,因为switch语句会将具体的答案都加载进内存
循环结构
while语句
while(条件表达式)
{
执行语句:
}
for循环
for(初始化表达式; 循环条件表达式;循环后的操作表达式)【运算顺序】
1 2 5 8 4 7
{
执行语句:(循环体)
3 6 9
}
for和while的特点:
1、for和while可以互换
2、格式上的不同,在使用上有一点小区别。
如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。
for(int y=1;u<5;y++)
{
System.out.println("y="+y);
}
System.out.println("y="+y);【运行错误,y已经被释放】【for和while的小差别】
}
循环结构的使用场景
当对某些代码执行很多次时,使用循环结构完成。
当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。
注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
循环通常情况下,需要定义条件,需要控制次数。
制表符
\n:回车
\t:制表符
\b:退格
\r:按下回车键
Windows系统中回车符其实是由两个符号组成的 \r \n
linux中回车符是 \n
其他流程控制语句
break(跳出),continue(继续)
break:应用范围:选择结构和循环结构
continue语句:应用于循环结构
注:
1、这两个语句离开应用范围,存在是没有意义的
2、这个两个语句单独存在下面都不可以有语句,因为执行不到
3、continue语句是解释本次循环继续下次循环
4、标号的出现,可以让这两个语句作用于指定范围
随机推荐
- uniapp开发H5,分享链接到微信好友,显示标题和缩略图
本文档介绍了如何在UniApp开发中实现将链接分享到微信好友,并确保在分享时显示标题和缩略图的方法. 背景 第一次用uniapp开发H5页面,发现分享给微信好友的链接,不显示标题和缩略图 步骤一:安装 ...
- dBeaver操作iotdb并实现导入和导出
1.windows下操作iotdb,现在官网下载相关的iotdb包 官网地址:https://archive.apache.org/dist/iotdb/ 一般建议下载 -all的 2.打开db ...
- 推荐几款三维模型OBJ格式轻量化处理工具软件
推荐几款三维模型OBJ格式轻量化处理工具软件 以下是几款常用的三维模型OBJ格式轻量化处理软件的介绍: 1.MeshLab: MeshLab是一款免费且强大的开源三维模型处理软件,支持多种文件格式,包 ...
- 【pandas小技巧】--DataFrame的显示样式
上一篇介绍了DataFrame的显示参数,主要是对DataFrame中值进行调整. 本篇介绍DataFrame的显示样式的调整,显示样式主要是对表格本身的调整,比如颜色,通过颜色可以突出显示重要的值, ...
- 《SQL与数据库基础》02. SQL-DDL
目录 DDL 库管理 表管理 本文以 MySQL 为例 DDL 库管理 查看有哪些数据库: SHOW DATABASES; 使用某个数据库: USE 数据库名; 查看当前使用的数据库: SELECT ...
- C++算法之旅、05 基础篇 | 第二章 数据结构
常用代码模板2--数据结构 - AcWing 笔试用数组模拟而不是结构体 使用结构体指针,new Node() 非常慢,创建10万个节点就超时了,做笔试题不会用这种方式(优化是提前初始化好数组,但这样 ...
- elasticsearch wildcard 慢查询原因分析(深入到源码!!!)
大家好,我是蓝胖子,前段时间线上elasticsearch集群遇到多次wildcard产生的性能问题, elasticsearch wildcard 一直是容易引发elasticsearch 容易宕机 ...
- 记一次 .NET 某餐饮小程序 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序内存异常高,用 vs诊断工具 加载时间又太久,让我帮忙看一下到底咋回事,截图如下: 确实,如果dump文件超过 10G 之后,市面上那些可视化工 ...
- Go语言系列——21-Go协程、22-信道(channel)、23-缓冲信道和工作池、24-Select、25-Mutex、26-结构体取代类、27-组合取代继承、多态、 29-Defer、错误处理
文章目录 21-Go协程 Go 协程是什么? Go 协程相比于线程的优势 如何启动一个 Go 协程? 启动多个 Go 协程 22-信道(channel) 什么是信道? 信道的声明 通过信道进行发送和接 ...
- Python基础——字符编码、文件处理
文章目录 字符编码 一 引入 二 知识储备 2.1 三大核心硬件 2.2 文本编辑器读取文件内容的流程 2.3 python解释器执行文件的流程 2.4 总结 三.字符编码介绍 3.1 什么是字符编码 ...