JavaSE教程-03Java中分支语句与四种进制转换-思维导图
思维导图看不清楚时:
1)可以将图片另存为图片,保存在本地来查看
2)右击在新标签中打开放大查看
if语句
a) if语句
基本语法结构:
if(关系表达式) {
基本语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
b) If else
语法结构:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
c) 多重if
语法结构:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
与if…else类似,判断为true,执行对应语句;否则走下面的代码
d) 嵌套if
指在if中再嵌套if的条件语句
Switch结构语句
细说语法
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,用来结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
思考
case的值可以相同吗?不可以
default可以省略吗?可以
break可以省略吗?不能,省略会发生break穿透
default的位置一定要在最后吗?不一定,不过一般默认放在后面
关于switch表达式的类型要求
JDK5以前表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
if vs switch
switch 适用于等值判断,其他情况采用if
四种进制
二进制
由0,1组成。以0b开头
例如0b0001
八进制
由0,1,…7组成。以0开头
例如00001
十进制
由0,1,…9组成。整数默认是十进制的
十六进制
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
例如0x0111
位运算符
1.<< 左移 将操作数的二进制数整体左移指定位数,左移之后的空使用“0”来补充
2.>> 右移 将操作数的二进制数整体右移指定位数,右移之后的空使用“符号位”来补充
如果是正数,使用“0”补充
如果是负数,使用“1”补充
3.>>> 无符号右移,将操作数的二进制码整体右移指定位数,
右移之后的空位使用“0”来补充
4.& 任何二进制位和0进行&运算,结果是0;和1进行&运算,结果是它本身
5.| 任何二进制位和0进行|运算,结果是原值,和1进行|运算,结果是1
6.^ 任何相同二进制位进行^运算,结果是0;不相同的二进制位运算结果是1
扩展:负数的二进制位运算
无论正负数位运算执行步骤
所有数据的位运算都是使用补码进行的,即进行位运算时,需要先得到补码
1.必须要先通过原码–反码–补码,生成补码
2.进行位运算
3.在通过补码–反码–原码,最后得到结果
原码:二进制表示法,即最高位为符号位
“0”表示正数,
“1”表示负数
反码:负数的反码就是对其原码逐个取反(即1变为0,0变为1),但符号位不变。
补码:负数的补码是在其反码的末位加1
正数:原码,反码,补码都相同,因此正数可以直接运算
正数10
原码00001010
反码00001010
补码00001010
负数:原码,反码,补码都不相同
负数-10
原码:10001010
反码:11110101 (符号位不变,其他位取反)
补码:11110110
由补码来求原码
补码-1得到反码
反码逐个取反,得到原码
-10>>2,结果是-3
JavaSE教程-03Java中分支语句与四种进制转换-思维导图的更多相关文章
- JavaSE教程-03Java中分支语句与四种进制转换
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3, ...
- JavaSE教程-03Java中分支语句与四种进制转换-练习
练习1: 老师如果带100或以上则请客吃饭 import java.util.Scanner; public class Test2{ public static void main(String[] ...
- JavaSE教程-04Java中循环语句for,while,do···while-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看
- javaSE_05Java中方法(函数)与重载、递归-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看
- JavaSE教程-04Java中循环语句for,while,do···while
** Java的循环语句 ** 引入: 生活中有循环,程序的世界也有循环. 思考:生活中有哪些循环的事情? 总结:什么是循环? 重复做类似的事情,而且有终止条件,如果没有终止条件会是怎样? 类似这样的 ...
- JavaSE教程-04Java中循环语句for,while,do···while-练习2
1.编写一个剪子石头布对战小程序 该法是穷举法:将所有情况列出来 import java.util.*; public class Game{ public static void main(Stri ...
- JavaSE教程-04Java中循环语句for,while,do···while-练习
0.实现打印50遍的"我爱你" 1.请在控制台输出数据1-10 2.请在控制台输出数据10-1 3.求出1-10之间数据之和 4.求出1-100之间能够被3整除的所有数的和 前四题 ...
- 怎么绘制C语言选择和循环语句的思维导图
C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...
- MindManager教程:高中数学函数思维导图怎么画
说起函数,大家应该都不陌生吧,函数不论是在初中还是在高中都是需要重点学习的知识点,不仅仅是重点,更是作为难点曾出现在高考最后一道大题中.那今天我们就来做一个函数思维导图,来简单地了解一下关于函数的一些 ...
随机推荐
- Jquery对raido的一些操作方法
raido 单选组radio: $("input[type=radio][checked]").val(); 获 取一组radio被选中项的值 var item = $('i ...
- jmeter读取执行case插入DB生成报表和备份记录
前言:由于通过jmeter写的接口自动化木有数据导入和统计分析功能,因此做了2次开发,目的是读取每条case获取接口名称和用例名称,通过获取的case执行结果进行计算,得到详细接口的用例通过率存入DB ...
- vue学习笔记-one
学习vue基础以来,看各种教程,练习,随手写写,有错误请大家指导, 目前vue已经升级到2.0的版本,学习也最好是2.0的版本开始. 先看vue的几个特点:1,简单,2,轻量,3,模块友好 4, 组件 ...
- servlet:从入门到实战学习(1)---全·环境配置
最近公司忙加班学习,学校忙助教工作,博客鸽了好久,后端学习工作过程中学了好多东西,趁着工作之余得空补补博客,算是整理下学习的东西. javaweb的后端研发需要学习的是tomcat+servlet+j ...
- 《C++之那些年踩过的坑(附录一)》
C++之那些年踩过的坑(附录一) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自 ...
- C++ 头文件系列(system_error)
1.为什么system_error "....report error conditions originating from the operating system or low-lev ...
- 跟着刚哥梳理java知识点——反射和代理(十七)
反射机制是什么?反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有的属性和方法:对于任意一个对象,都能够调用他的一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语 ...
- Vue 普通对象数据更新与 file 对象数据更新
最近在做一个多图片上传的组件,需求是做到多文件依次上传,并显示上传进度条. 逻辑部分实现了以后,在更新进度条视图的时候出现一点问题:动态计算生产的进度 progress 属性不会自动更新. 原来的代码 ...
- 迁移 SQL Server 到 Azure SQL 实战
最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去.主要是因为租用的主机到期,而运营商停止了主机租赁业务,看来向云端的迁移是大势所趋啊!经过一番折腾最终 ...
- API 管理工具
API 管理工具 你还苦于无法有效的管理大量的API吗?今天给大家介绍一款API的管理工具.这款工具可以免费使用,虽然中途可能会提示你购买,但并不影响我们的使用. 下载地址: Windows:http ...