Java的基本语法
Java的基本语法
·String是字符串类型关键字,属于引用数据类型,不能通过强制类型转换的方式转换为基本数据类型:
但是可以通过方法的方式进行转换:
·进制
1,对于整数,有四种表示方式:
二进制->0、1,满2进1,以0b或0B开头表示
十进制->0-9,满10进1
八进制->0-7,满8进1,以数字0开头表示
十六进制->0-9及A-F,满16进1,以0x或0X开头表示,其中A-F不区分大小写
所有的数字在计算机的底层都是以二进制的形式存在的,计算机以补码的形式保存所有的整数,正整数的原码与其补码相同,负整数的补码是在其原码的反码基础上末位加1。
原码:直接将一个数值转换为二进制数的形式叫做这个数的原码。
反码:对原码按位取反,最高位符号位不变。
在这里我们就来解释一下为什么byte类型的取值范围是-128~127:
因为byte类型所占的内存空间大小为一个字节,也就是可以使用8位二进制数来表示byte类型的容量,对一个8位二进制数来说,最大的正数可以表示为0111 1111,又由于正数的原码和其补码相同,故最大的正数的二进制形式也可以表示为0111 1111,转换为十进制就是127,最小的负数的二进制形式为1111 1111,补码形式为1000 0001,在其补码的基础上还可以再减去1,才满足最小,故最终的二进制形式为1000 0000,该二进制的十进制表示形式为-128,故byte类型的取值范围是-128~127。
2,进制转换
十进制转换为十进制:
除10取余,升序排列
十进制转换为二进制:
除2取余,升序排列
二进制转换为十进制:
·运算符
1,算术运算符
⑴%(取模运算符)
取模运算就是取余数运算
如果对负数取模,模数的负号是可以忽略不计的:
但是被模数的负号不可以忽略不计:
⑵/(除法运算符)
整数之间的除法运算只保留整数部分,舍弃小数部分:
要想保留小数部分,将其中一个操作数声明为浮点型即可:
⑶+(加法运算符)
加法运算符拥有字符串相加的功能:
加法运算符还可以将非字符串转换为字符串:
⑷++(自增运算符)
++在前:
++在后:
⑸--(自减运算符)
--在前:
--在后:
⑹=(赋值运算符)
⑺+=(扩展赋值运算符)
2,比较运算符
⑴->==(等于):
3,逻辑运算符
⑴!(非)
⑵||(短路或)
短路或表示如果或运算符之前的表达式的结果为真,则或运算符后面的表达式不参与运算:
⑶|(或)
无论或运算符前面的表达式的结果如何,或运算符后面的表达式都会参与运算:
⑷&&(短路与)
如果与运算符前面的表达式的结果为假,那么与运算符后面的表达式就不会参与运算:
⑸&(与)
无论与运算符前面的表达式的结果如何,与运算符后面的表达式都会参与运算:
上图中抛出了一个数学异常,证明与运算符后面的表达式参与了运算
⑹^(异或)
异或运算符两边的表达式取值相同时取值为false,不同时取值为true
逻辑运算符用于连接布尔型表达式:
在Java中不可以写成3<x<6,应该写成x>3 && x<6
4,位运算符
⑴<<(左移位)
被移除的高位补丢弃,空缺位补0
2左移3位,表示的是将2的二进制原码左移3位
即:0000 0010-->0001 0000
2左移3位的值相当于是2乘以2^3
⑵>>(右移位)
如果被移位的二进制原码的最高位是0,右移后,空缺位补0:
16右移3位相当于16除以2^3
⑶&(按位与)
按位与表示运算符的两边的操作数的二进制原码按位相与计算结果:
5,三元运算符
转载于:https://blog.51cto.com/zhubo/1875571