基础语法和数据类型及运算符

Java注释
注释概念

注释就是用来解释说明代码作用的,帮助程序员理解代码,不会编译。对程序运行没有影响,可以提高代码可读性。

注释作用

解释说明代码作用

使用:

单行注释//

多行注释/**/

文档注释/** */

分隔符:分号;、花括号{}、方括号[]、圆括号()、圆点. 、空格 、一般单词之间一个空格就可以了

关键字

其实就是在设计java语言的时候赋予特殊意义的单词

特点:所有的字母全部小写 : 如下Java中的关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile
标识符

概念:就是为了代码可读性而定义的一些规则符号。简单的认为就是了规范命名的。

类名 变量名 方法名

作用就是为了代码可读性

标识符的组成

1.标识符由大小写字母(A-Z或者a-z)、美元符($)、或者下划线(_)、数字构成(不能以数字开头)。

2.不能以关键字/保留字作标识符

3.标识符严格区分大小写

标识符书写规范

1.一般不建议使用$及下划线_作为起始符号

2.见名知意

3.类名大驼峰,首字母大写,后面每个单词首字母大写

4.方法名小驼峰

5.不要以java中关键字、保留字、jdk中存在的类命名

数据类型
概念

就是用于保存数据的一个类型,一种数据类型,只能保存该类型数据值

作用

只有了解数据类型,才能选择合适的类型存放数据,才能更好的利用计算机硬件资源(内存和硬盘等)。

不同的数据类型存放数据大小是不同的。

数据类型的使用方式就是用来声明一个变量,装数据的。

变量就是一个容器,这个容器有类型 类型决定可以装多大的数据

数据类型分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7YkD5up-1640344978046)(file:///C:\Users\Lenovo\AppData\Local\Temp\ksohtml\wps9FAB.tmp.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O1EMQQRE-1640344978048)(file:///C:\Users\Lenovo\AppData\Local\Temp\ksohtml\wpsE8DA.tmp.jpg)]

浮点数注意事项:

1.直接赋值给float类型,需要加上F或f,因为默认类型都为double。

2.精度损失,如double d = 1.0 表示的是无限接近于1.0的一个小数,而不是真正的1.0。如果需要精确的表示一个小数,可以使用后面学到的BigDecimal。

3.单精度双精度区别:

- 对于单精度浮点数,运行速度相比double更快,占内存更小,

- 但是当数值非常大或者非常小的时候会变得不精确。

- 双精度比单精度表示的位数大 精确的位数多,简单地说, float表示的小数点位数少。

最近几天建议用double类型,而实际开发用BigDecimal类型表示小数。

转义字符

\r 表示回车符;

\n 表示换行符;

\t 表示相当于Table键制表符,;

\b表示退格键,相当于Back Space键;

\’表示单引号;

\” 表示双引号;

\ 表示一个斜杠\。

布尔类型

只有true、false

引用类型

除了基本类型以外,几乎所有的其他类型都是引用类型。

类 class、接口 interface、枚举 enum、抽象类 abstract class、数组 数据类型[]、String类是java中自带的引用数据类型,表示字符串数据

常量

概念:一个固定不变的值

整数常量,所有整数,如 1、2、3、100、200 等

小数常量,所有小数,如 1.2、2.7、3.14 等

字符常量,用单引号括起来的符号如,’A’、’a’、‘好’等

布尔常量,只有 true 和 false,分别表示对与错

字符串常量,使用双引号括起来的内容如:“Will”、“itsource”等

变量

概念:就是一个盒子(容器),用来装数据的。同一时间只能装一个数据。

变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用, 该区域的数据可以在同一类型范围内不断变化。

变量声明:数据类型 变量名

变量赋值:变量名 = 值;

声明变量同时赋值:变量名 = 值;

数据类型转换

作用:

1.节约内存空间

byte short int long

2.将一些类型转换为项目所需要的类型

自动类型转换

|      |                                                              || ---- | ------------------------------------------------------------ ||      | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w9Mhaesd-1640344978390)(file:///C:\Users\Lenovo\AppData\Local\Temp\ksohtml\wps67EE.tmp.jpg)] |

注意事项:

1.在Java中,boolean类型与所有其他7种类型都不能进行转换。

2.其他 7种数据类型,它们之间都可以进行转换,但是可能会存在精度损失或者其他一些变化。

byte -> short -> int -> long-> float-> double

char -> int -> long-> float-> double

byte与char 不能自动转换

char与short不能自动转换

由于小数(浮点数)的存储方式、结构和整数不一样,所以,float哪怕是4个字节、long是8个字节,表示范围也大于long类型。

强制类型转换

大转小

小数据类型 变量名 =(小数据类型)大类型值/大类型变量名

注意事项:

1.高转低会导致精度丢失,有数据的溢出风险。溢出的时候,会以二进制进位。

2.实际开发中:应该要知道被强制转换的数据,是在一个已知的范围。

3.当int类型的具体的值,向byte、short、char类型转换的时候,值只要在其表示范围内,都会隐式转换。

运算符
算数运算

+:加号,在String字符串作连接符表示连接

-:减号

*:乘号

/:除号

%:取模(取余)求余数

自增自减

自增(++) 自减(–)

注意事项:

1.自增自减只能用于变量,不能用于常量

2.自增自减运算的优先级比其他算术运算符高

3.一般用在循环语句中

如果变量名在前面(a++),那么整个表达式(a++)的值就是原来值不变。a是为自增之后的值

如果变量名在后面(++a),那么整个表达式(++a)的值就是原来的值加1。a是为自增之后的值

赋值运算

赋值运算(Assignment Operation):是优先级最低的一种运算,等 = 后边的所有运算完毕后,才执行赋值运算。

+=、-=、*=、/=、%=、=、^=、&=、|=

赋值运算有强制转换的功能,可以避免类型提升,会有溢出风险

比较运算

比较运算结果为boolean类型

>

<

>=

<=

==

比较基本类型为比较值是否相等,引用类型为地址值是否相等

!=

instanceof:只能比较引用类型,一般配合条件语句使用

表示判断一个变量或者值是否属于某一个引用数据类型

三目运算

语法:x ? y : z;

表示如果x为true,执行y,x为false执行z。

x为boolean表达式或类型值

比较运算

比较运算结果为boolean类型

>

<

>=

<=

==

比较基本类型为比较值是否相等,引用类型为地址值是否相等

!=:

instanceof:只能比较引用类型,一般配合条件语句使用

表示判断一个变量或者值是否属于某一个引用数据类型

三目运算

语法:x ? y : z;

表示如果x为true,执行y,x为false执行z。

x为boolean表达式或类型值

位运算

概念:程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。

~n:按位取反,二进制按位取反0->1,1->0

&:按位与,有0则0;

0011

&

0001

0001

| :按位或:有1则1;

0011

|

0101

0111

^:按位异或,相同为0,不同则1;

0011

^

0101

0110

m<<n:按位左移,不管m是正数还是负数,右边补0 相当于*2^n次方,有溢出风险

m>>n:按位右移,如果m为整数,左边补0,负数就补1,相当于/2^n次方

m>>>:无符号右位移,不管m是正数还是负数,左边补0,这样的话,负数移动后就变成了正数,失去了数学意义

逻辑运算

&:逻辑单与,表示并且,有假即假,没有短路功能,有位运算功能,两边都为true ,结果为true。

|:逻辑单或,表示或者,有真即真,没有短路功能,有位运算功能,只要有一边为true,结果为true。

&&:逻辑双与,表示并且,有假即假,有短路功能,没有位运算功能,两边都为true ,结果为true。

||:逻辑双或,表示或者,有真即真,有短路功能,没有位运算功能,只要有一边为true,结果为true。

^:逻辑异或,同假异真,两边不一样,结果为true ,否则为false。

!:逻辑非,表示取反,非真即假,非假即真

优先级:!>&&(&)>||(|)

&&当左边为false时,右边的就短路了(即当左边式子为假时,右边不管是什么整个式子为假)

||当左边为true时,右边的就短路了(同上)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值