Java 笔记
2021/6/10 1:21:18
本文主要是介绍Java 笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
01- Java 初探
你好,我是悦创。
其实,学完 Python (其实没学完,知识点太多,库很多),然后入坑 Java (谁叫学校教呢,为了让知识点跟上时代和实际开发才有了这个系列的笔记),好了,废话不多说。直接开始记笔记!
1. 布尔运算符
这里强调一点,根据一个具有实际开发十几年经验的前辈所得来的经验,能用 「且且、或或」 运算符,尽量使用 「且且、或或」 ,具体原因先看如下代码:
/* * project = 'Java_Coder', file_name = '笔记', author = 'AI悦创' * time = '2020/5/8 下午6:15', product_name = IntelliJ IDEA, 公众号:AI悦创 * code is far away from bugs with the god animal protecting * I love animals. They taste delicious. */ public class notes { public static void main(String[] args){ boolean a = true; boolean b = false; System.out.println(a & b); // & 且 (and) System.out.println(a && b); // &$ 且且 (andand) System.out.println(a | b); // | 或 (or) System.out.println(a || b); // | 或或 (oror) // 对比 System.out.println(a || (10 / 0 > 1)); System.out.println(a | (10 / 0 > 1)); } }
上面的代码,我们一部分一部分拿出来讲解:
1.1 第一部分
public class notes { public static void main(String[] args){ boolean a = true; boolean b = false; System.out.println(a & b); // & 且 (and) System.out.println(a && b); // &$ 且且 (andand) } }
「a & b」 (a and b)的运行逻辑是这样的:
- 它会先查看 「a」 值的真假,如果 「a」 是假的,那程序就不会继续判断 b 的真假——返回:「false」;
- 如果 「a」 是真的,则会继续判断 「b」 的真假,如果 「b」 的值为真则返回:「true」,反之为:「false」;
- 在这个部分,&& 的作用不好讲解,所以这里需要你继续往下看。
所以,上面的运行结果如下:
false false
1.2 第二部分
/* * project = 'Java_Coder', file_name = '笔记', author = 'AI悦创' * time = '2020/5/8 下午6:15', product_name = IntelliJ IDEA, 公众号:AI悦创 * code is far away from bugs with the god animal protecting * I love animals. They taste delicious. */ public class notes { public static void main(String[] args){ boolean a = true; boolean b = false; System.out.println(a | b); // | 或 (or) System.out.println(a || b); // | 或或 (oror) } }
「a | b」 (a or b)的运行逻辑是这样的:
- 它会先判断 「a」 是真是假,如果 「a」 是真的则会继续判断 「b」 的真假,「b」 为真返回结果回——「true」,「b」 为假返回的也是——「true」;(这个地方它会返回警告,这里警告信息,在下面第三部分输出演示)
- 如果 「a」 是假的,也会继续判断 「b」 的真假,如果 「b」 为真,则返回——「true」,反之为——「false」;
「a || b」 (a oror b)的运行逻辑是这样的:
- 它会先判断 「a」 的真假,与上面其实类似,但是多了一个一个功能,就是:如果 「a」 为真,程序就不会再判断 「b」 的真假,其实也就是做了进一步优化。(上面的 a|b 虽然对结果没有影响,但还要多运行计算就有点浪费运行资源了)
❝综上:实际开发中多用 ||、&&
❞
1.3 第三部分
这样第三部分的代码就是为了让大家更加清晰的了解到,运行结果会出现一个警告(提示),代码如下:
public class notes { public static void main(String[] args){ boolean a = true; boolean b = false; // 对比 System.out.println(a || (10 / 0 > 1)); System.out.println(a | (10 / 0 > 1)); } }
我们可以把上面的代码,分开运行为了更好观察输出结果:
public class notes { public static void main(String[] args){ boolean a = true; boolean b = false; // 对比 System.out.println(a | (10 / 0 > 1)); } }
运行结果:
Exception in thread "main" java.lang.ArithmeticException: / by zero at BigNumber.main(BigNumber.java:14)
「这里我故意把 b 的值变成错误(也就是假)如果 b 得值设为 false 就不是输出警告,这里修改成错误的原因就是为了证明程序有判断 b 位置值得真假。」
接下来我们再来看看,下面代码:
public class BigNumber { public static void main(String[] args){ boolean a = true; boolean b = false; // 对比 System.out.println(a || (10 / 0 > 1)); } }
运行结果:
true
通过这个例子,你就了解了 「或或、且且」 得具体有点了。
1.4 回顾
这回来看这个 andand 就知道了,如果 a 是 false,就不会继续判断 b 位置得真假。
/* * project = 'code005', file_name = 'BigNumber', author = 'AI悦创' * time = '2020/5/8 10:10', product_name = IntelliJ IDEA, 公众号:AI悦创 * code is far away from bugs with the god animal protecting * I love animals. They taste delicious. */ public class BigNumber { public static void main(String[] args){ boolean a = false; boolean b = false; // 对比 System.out.println(a && (10 / 0 > 1)); } }
运行结果:
false
如果 a 为真则继续判断,代码如下:
public class BigNumber { public static void main(String[] args){ boolean a = true; boolean b = false; // 对比 System.out.println(a && (10 / 0 > 1)); System.out.println("Is runing"); } }
运行结果:
Exception in thread "main" java.lang.ArithmeticException: / by zero at BigNumber.main(BigNumber.java:14)
如果这个输出后面还有程序运行,则不会输出:
public class BigNumber { public static void main(String[] args){ boolean a = true; boolean b = false; // 对比 System.out.println(a && (10 / 0 > 1)); System.out.println("Is runing"); } }
运行结果:
Exception in thread "main" java.lang.ArithmeticException: / by zero at BigNumber.main(BigNumber.java:14)
这篇关于Java 笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略