Hello,大家好。周末已经结束了,不知道大家这两天过得怎么样?有为转入IT行业而努力学习吗?如果你不赶时间,完全可以跟着我的文章慢慢地学习,不管做什么事都没有捷径可言,日积月累更容易成功。
说回我们上次布置的作业,大家应该都能读懂那份代码。除了一个地方,那就是这个符号:&&
&&
在生活中,比如你打算要和朋友出去玩,他问你什么时候,怎么回答?
A:周末;
B:星期六或者星期天;
C:周末有事,别的时候吧!
我们如果以星期六和星期天来翻译一下这三种情况,那就是:和、或、非。
也就是星期六和星期天、星期六或星期天、非星期六和星期天!
在Java里面,我们习惯将“和”称为“与”,即与、或、非。
但是Java是外国人发明的,外国人肯定不会说与或非,那么我们怎么在编程语言里面用这三个条件呢?
很简单,与对应的就是&&,或对应的就是||,非对应的就是!。
与或非
只要按住Shift键,再按这几个键位,就可以打出来了!记得一定要切成英文模式!
比如定义一个变量x:
如果要求x > 0 并且 x < 2,那就是x > 0 && x < 2;
如果要求x > 0 或者 x < 2,那就是x > 0 || x < 2;
如果要求x > 0,一种是正着写,x > 0;另外一种就是反着写!(x ≤ 0),意思就是对x小于等于0取反,就变成了x > 0。
为什么要加个括号呢,如果你直接写成!x ≤ 0,那就变成了先对x进行取反,再用它来和0进行比较!
这三个符号,在Java中我们就称之为逻辑运算符!被逻辑运算符操作过后的结果,只有两种,真或者假!
比如一个数大于零 && 一个数小于零,可能成立吗?永远不可能,所以这个运算结束之后,就会返回一个假。
真和假在Java里面叫做布尔值,对应的是true和false。
true
false
还记得我们在上篇文章中提到过数据类型这一概念吗?我们自己能想出几种数据类型呢?
比如年龄,这是一种整型对不对,总不会有人今年17.9岁吧!
刚刚我们才提到的,真或者假,这叫做布尔类型。
我今天考了59.5分,这在数学里面叫做小数,在计算机里面我们称它为浮点数!
还有吗?如果没有了,那么我问你,英文的abc,中文的你好,在计算机里面怎么存放?
没错,这里还有一种类型,叫做字符类型!
到这里为止,世界上所有的东西我们都可以把它存放在计算机内了!但是还不够,不够什么?
不够细!
要知道,计算机的内存是有限的,在古代,人们为了能够让计算机尽可能地多做点事,那可谓是绞尽脑汁,想方设法减少内存的开销。
虽然随着我们科技的发展,内存已经能够变得非常的大并且还便宜,比如现在随便一个U盘都是几十上百G起步还只要十几二十块。想当年,我买了一个1G的u盘,可是都花了将近一百块!
然而尽管如此,内存还是存在一个屏障!目前人类能够碰到的任何东西都有一个限制,比如地球很大,但是它也是有极限的,它就那么点大!
计算机一样,你就想做个1 + 1,结果要占用它全部的内存,这合理吗?
所以针对于整数,我们做了一定的划分:
byte:只能存放-128到127之间的数字
short:只能存放-32768到32767之间的数字
int:只能存放-2147483648到2147483647之间的数字,大概就是负的21亿到正的21亿
long:相当大,大约是922京,京是什么概念?京是一万个兆,兆是一万个亿,你基本可以理解为可以存放任意数字!
针对浮点数,也有两个划分,具体也只是精度的不同,比如double类型的数字可以比float类型的数字更长,小数点更多:
float:单精度
double:双精度
一般情况下,对于现在计算机来说,它们的内存已经不那么吃紧,所以我们最常用的也只剩下int、long、double。并且浮点数这种类型是相当不实用的,存在精度问题,理应被淘汰,在后面我们会讲另外一个东西,叫做是Decimal。
大家在日常编码过程中应当禁止使用float或者double。
剩下的字符类型和布尔类型就没有什么细分,分别是char和boolean。其中字符型的值,必须以英文的单引号包括,布尔类型的值只能是true或false!
下面我们直接在代码里面声明
基本数据类型
这8种类型,在Java里面就叫做八大基本数据类型。细心的朋友会注意到,我在float的后面加了个f,这是什么意思呢?
这是指定数字的类型,我们不是讲过整数有4种类型,小数有两种类型吗。那么我们直接声明一个1.0,计算机怎么知道它是单精度float还是双精度double呢?
计算机真的很笨,许多东西都需要我们给它指名道姓。在Java里面,如果你声明一个整数,它默认就是int类型,如果是一个小数,则默认是double类型!
如果想要自己指定它的类型,就要在数字后面显式地跟上类型标记,Java支持以下三种标记:
double f = 1.0D; float e = 1.0F;long d = 4L;
也就是D、F、L,当然也可以用小写d、f、l。但是小写的L和1很难区分,所以如果你真的要用,就建议使用大写!
至于char类型,在引号内我们只支持一个字符,也就是说,如果你写成char g = 'abcd',这就会直接报错!需要注意的是,一个中文也是一个字符,比如char g = '你',是没有问题的。
那么我们就是想要存abcd呢?Java为你提供了另外一个类型,叫做字符串类型String。
String类型的值,要用英文的双引号来包括,比如String g = "abcd"。
结语
最近一段时间加班比较频繁,更完文章都快4点了,希望大家多多支持一下,如果有问题,也欢迎提出来。
话说程序员这行虽说工资比其他行业高,但是真的算下来其实还是蛮苦的。不过前几天人社部和最高法院联合发布了十件超时加班劳动人事争议典型案例,明确996和007的工作制度是违法的。
这个事件一发酵,想必各个公司都会或多或少地收敛一下。至少来说加班有调休和有工资要二选一,这样的话,对大部分求职者来说也算是一种福音。
其实这也算是运气,有的人可能一入行就进到一个完全不加班,每天准点打卡的公司。有的人可能不管跳多少次槽,都碰不到这种福利,比如说我!