8 Java 条件逻辑语句
生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,在上学的时候,如果期末考试成绩在全校能拿到前100名,则奖励一个 iPhone 11 。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 条件语句实现。
条件逻辑理解:
程序的运行是有条件的,满足条件就执行,不满足就不执行
在Java中分为二大类,分别为 if else 判断 和 switch 语句块.
1、if else
1、if 单条件判断语句
语法:
if( 条件判断语句 ){
当条件判断语句为true,就执行该代码块,为false就不执行
}
2、if 双条件判断语句
语法:
if(条件判断语句){
功能语句1,当条件满足时执行该代码块
}else{
功能语句2,当条件不满足时执行该代码块
}
3、if 多条件判断语句
语法:
if(条件判断语句1){
功能语句1,当条件1满足时执行该代码块
}else if(条件判断2){
功能语句2,当条件2满足时执行该代码块
}else if(条件判断3){
功能语句3,当条件3满足时执行该代码块
}else{
当所有条件都不满足时执行该代码块
}
4、if 多条件嵌套语句
语法:
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
.... // 可以无限往下去判断, 但是不推荐,代码太low了
}
}
注意:
if后面的{}可以省略,如果没有{},它只会执行下面的一行代码(一般不适用),else{}、else if(){}不能单独使用,只要匹配了条件,执行完对应的代码块之后,整个选择结构就结束了,后面再满足条件的代码块将不再执行!!!
实例:
package cn.fage.seven; /**
* @author lin
* @version 1.0
* @date 2020-06-24 9:30
* @Description TODO
*/
public class TestIf { private static TestIf testIf; private String name = "热巴";
private int age = 22; public static void main(String[] args) {
testIf.test1();
testIf.test2();
testIf.test3();
testIf.test4();
} private void test1() {
if ("热巴".equals(name)) {
System.out.println("姓名为 " + name);
}
} private void test2() {
if (age == 18) {
System.out.println("年龄为 " + 18);
} else {
System.out.println("年龄不为 " + 18);
}
} private void test3() {
if (age < 15) {
System.out.println("年龄小于 15 岁 在上 义务教育 ");
} else if (age < 18) {
System.out.println("年龄小于 18 在上 高中 ");
} else {
System.out.println("年龄大于18岁 成人 ");
}
} private void test4() {
if ("热巴".equals(name)) {
System.out.println("姓名为 " + name);
if (age == 18) {
System.out.println("年龄为 " + 18);
} else {
System.out.println("姓名为 " + name + "年龄不为 " + 18 + ", 而是 " + age);
}
}
} }
结果:
姓名为 热巴
年龄不为 18
年龄大于18岁 成人
姓名为 热巴
姓名为 热巴年龄不为 18, 而是 22
2、switc语句块
注意:jdk7之后可支持字符串String
语法:
变量
switch(变量){
case 值1:
功能语句1;
break;
case 值2:
功能语句2;
break;
case 值3:
功能语句3;
break;
default:
功能语句default;
break;
}
注意:当条件匹配上后,执行匹配的功能语句,否则执行default语句,如果没有break则会依次往下执行,只到switch执行完。实例:
package cn.fage.seven; /**
* @author lin
* @version 1.0
* @date 2020-06-24 9:41
* @Description TODO
*/
public class TestSwitch {
private static TestSwitch testSwitch = new TestSwitch(); int[] a = {-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; public static void main(String[] args) {
testSwitch.test1();
} private void test1() {
for (int i : a) {
test2(i);
} } private void test2(int i) {
int i1 = i % 2;
switch (i1) {
case 1:
System.out.println(i + " 是奇数");
break;
case 0:
System.out.println(i + " 是偶数");
break;
default:
System.out.println(i + " 是负数");
break;
}
}
}
结果:
-1 是负数
0 是偶数
1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数
6 是偶数
7 是奇数
8 是偶数
9 是奇数
理解:
一般用在比较固定的情况:如 VIP 、段位、星期、月份等
注意:①从匹配上的代码开始执行,直到找到最近的break,跳出整个switch语句
②变量:可以有的类型 byte short char int enum(枚举,java5开始支持的)
条件语句的选择:switch一般用来变量固定的情况。如 VIP 、段位、星期、月份等
其它的情况一般用if 或 if else。。。,
switch能做到的 if语句都能做到

8 Java 条件逻辑语句的更多相关文章
- Java finally语句到底是在return之前还是之后执行(JVM字节码分析及内部体系结构)?
之前看了一篇关于"Java finally语句到底是在return之前还是之后执行?"这样的博客,看到兴致处,突然博客里的一个测试用例让我产生了疑惑. 测试用例如下: public ...
- 【Demo 0002】Java基础-语句
本章学习要点: 1. 掌握Java关健语句使用方法; 2. 理解与语句相关的关键字用法; 一.Java 关键语句 Java语句以及关联关键字与C完全相 ...
- 7#Java基本语句语法
Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...
- 【转】Java finally语句到底是在return之前还是之后执行?
网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下final ...
- 关于Java中语句符号及格式的理解
关于Java中语句符号及格式的理解 这篇文章是撰写的第一篇文章,在此作一下博主是一名在读的工科研究生,种种原因,研二开始决定转行从事程序员工作.开始的自学之路并不算非常顺畅,也走了一点弯路,但一直都坚 ...
- Java-Runoob:Java 条件语句
ylbtech-Java-Runoob:Java 条件语句 1.返回顶部 1. Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法 ...
- Java 循环语句及流程控制语句
java循环语句while与do-while 一 while循环 while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句. 区别在于,while语句会反复地进行 ...
- 1903021121—刘明伟—Java第四周作业—java分支语句学习
项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第四周作业 要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果). 扩展阅 ...
- java break语句的三种用法
1.用于switch语句当中,用于终止语句 2.用于跳出循环,此为不带标签的break语句,相当与goto的作用 e.g while(i<j&&h<k){ if(h< ...
随机推荐
- python 并发专题(五):离散事件仿真(事件循环生成器)
出租车队运营仿真 创建几辆出租车,每辆车会拉几个乘客,然后回家.出租车首先驶离车库,四处徘徊,寻找乘客:拉到乘客后,行程开始:乘客下车后,继续四处徘徊. 程序解释 程序的输出示例: 创建 3 辆出租车 ...
- 爬虫05 /js加密/js逆向、常用抓包工具、移动端数据爬取
爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 目录 爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 1. js加密.js逆向:案例1 2. js加密.js逆向:案例2 3 ...
- 数据可视化之分析篇(九)PowerBI数据分析实践第三弹 | 趋势分析法
https://zhuanlan.zhihu.com/p/133484654 以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 我会围绕这五种不同的方法论,逐步阐述他们 ...
- tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor 'x_1' with dtype float and shape [?,227,227,3]
记一次超级蠢超级折磨我的bug. 报错内容: tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a ...
- Java File类基础解析 1
Java File类基础解析 1 File类的构造方法 public File(String pathname) :通过给定的路径名字符转换为抽象路径名来创建新的File实例 String path ...
- IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line...
生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...
- ajax原生js封装
不带注释的 function ajax(json) { json.type = json.type ? json.type : 'get'; json.async = json.async == fa ...
- Python 为什么用 # 号作注释符?
关于编程语言中的注释,其重要性基本上已为大家所共识. 然而关于注释的规范,这个话题就像我们之前聊过的缩进.终止符和命名方式一样,众口难调. 注释符通常可分为两种,即行注释与块注释(inline/blo ...
- spring boot 整合 ehcache
1. 该说的话 每个人都应当学会独立地去思考.去寻找答案,而不是一味地伸手向他人索取所谓的标准答案. 首先,别成为"拿来主义"者,其次远离"拿来主义"的人. 2 ...
- NGINX 上的限流
NGINX 上的限流(译) zlup YP小站 今天 前言 本文是对Rate Limiting with NGINX and NGINX Plus的主要内容(去掉了关于NGINX Plus相关内容) ...