JavaSE教程-03Java中分支语句与四种进制转换
一、分支语句
计算机源于生活,程序模拟现实生活,从而服务生活
行为模式
1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性)
2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性)
3,上完了一个班,又上一个班(重复性)
计算机源于生活(程序模拟现实生活的)
程序的执行流程
,顺序性
,选择性
,循环性
1.If结构语句
a) if语句
基本语法结构:
if(关系表达式) {
基本语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
案例:老师请吃饭
b) If else
语法结构:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
案例:
老师继续请吃饭
练习:
(本处密码采用int类型来存储,正常密码我们将采用String类型来存储)
设计一个密码校验程序,要求用户通过键盘录入密码,如果密码为123456,则打印“密码输入正确”,否则打印“密码错误,请重新输入密码”
(目前不考虑让用户重复录入的情况)
c) 多重if
语法结构:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
else if (关系表达式3) {
语句体3;
}
…
else {
语句体n+1;
}
执行流程:
案例:
按自己的荷包来考虑请什么,分多种情况考虑
练习:
通过键盘录入学生成绩
如果在91-100之间,则打印“A”,
否则如果在81-90之间,则打印“B”,
否则如果在71-80之间,则打印“C”
否则如果在61-70之间,则打印“D”
否则打印“E”
d) 嵌套if
2.Switch结构语句
语法格式等值的判断
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
细说语法:
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,用来结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
案例:
做一个纠结者终结器,解决从周一到周日,一周的吃饭决定难问题,根据用户录入的数字,分别对1-7输出不同的选择项
面试题:
case的值可以相同吗?不可以
default可以省略吗?能
break可以省略吗?不能,会出现穿透
default的位置一定要在最后吗?不一定
面试题:
String类型可以是switch的表达式吗?
关于switch表达式的类型要求:
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
练习:做一个菜单界面
3.if vs switch
switch 在等值判断的时候可以使用,其他情况采用if
二、四种进制转换
什么是常量
固定不变的数据
Java中常量分类
字符串,整数,小数,字符,布尔
自定义常量(面向对象部分讲)
进制(笔试题考点)
Java针对整数常量有4种表示形式:
二进制
八进制
十进制
十六进制
什么是进制
就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,
就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
不同进制的数据组成
二进制
由0,1组成。以0b开头
0b0001
八进制
由0,1,…7组成。以0开头
00001
十进制
由0,1,…9组成。整数默认是十进制的
100
十六进制
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
0x0111
技能点1:将其他进制转换为10进制
练习1:0b100,0100, 0x100 这些结果分别是多少?
4,64,256
练习2:0b111,0123, 0x1ef 这些结果分别是多少?
技能点2:将10进制转换为其他进制
练习1
将10转换为2进制
练习2:
10转换为8进制,16进制
16 分别转换为2,8,16各类进制,并用程序验证结果的正确性
JavaSE教程-03Java中分支语句与四种进制转换的更多相关文章
- JavaSE教程-03Java中分支语句与四种进制转换-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 if语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断 ...
- JavaSE教程-03Java中分支语句与四种进制转换-练习
练习1: 老师如果带100或以上则请客吃饭 import java.util.Scanner; public class Test2{ public static void main(String[] ...
- 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-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看
- JavaSE教程-04Java中循环语句for,while,do···while-练习
0.实现打印50遍的"我爱你" 1.请在控制台输出数据1-10 2.请在控制台输出数据10-1 3.求出1-10之间数据之和 4.求出1-100之间能够被3整除的所有数的和 前四题 ...
- javaSE中JDK提供的四种线程池
对javaSE中JDK提供的四种线程池稍作整理 一.Executor package java.util.concurrent; /** * @since 1.5 * @author Doug ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- SpringBoot系列教程web篇Servlet 注册的四种姿势
原文: 191122-SpringBoot系列教程web篇Servlet 注册的四种姿势 前面介绍了 java web 三要素中 filter 的使用指南与常见的易错事项,接下来我们来看一下 Serv ...
随机推荐
- java多线程基本概述(二十)——中断
线程中断我们已经直到可以使用 interrupt() 方法,但是你必须要持有 Thread 对象,但是新的并发库中似乎在避免直接对 Thread 对象的直接操作,尽量使用 Executor 来执行所有 ...
- PHP弱类型语法的实现
PHP弱类型语法的实现 前言 借鉴了 TIPI, 对 php 源码进行学习 欢迎大家给予意见, 互相沟通学习 弱类型语法实现方式 (弱变量容器 zval) 所有变量用同一结构表示, 既表示变量值, 也 ...
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...
- 蓝桥杯-骰子游戏-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- Java数据类型(基本数据类型)学习
Java数据类型(基本数据类型)学习 与其他语言一样,Java编程同样存在,比如int a,float b等.在学习变量之前我就必须先了解Java的数据类型啦. Java的数据类型包括基本数据类型和引 ...
- Java static 关键字详解
引言 在<Java编程思想>中有这样一段话:static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类 ...
- ABP文档 - 对象与对象之间的映射
文档目录 本节内容: 简介 IObjectMapper 接口 集成 AutoMapper 安装 创建映射 自动映射的特性 自定义映射 扩展方法 MapTo 单元测试 预定义的映射 Localizabl ...
- 解决ajax跨域的方法原理详解之Cors方法
1.神马是跨域(Cross Domain) 对于端口和协议的不同,只能通过后台来解决. 一句话:同一个ip.同一个网络协议.同一个端口,三者都满足就是同一个域,否则就是 跨域问题了.而为什么开 ...
- oracle job执行失败
创建job任务:declare test_job number;begin dbms_job.submit(test_job, 'prc_job_test;', sysdate, 'sysdate+1 ...
- Centos6.5安装memcached
1.检查libevent 首先检查系统中是否安装了libevent(Memcache用到了libevent这个库用于Socket的处理). # rpm -q libevent libevent-1.4 ...