java从头学day02[元素]

1)命名规则

(1)包名均小写

(2)类名、接口名每单词首字母大写

(3)变量、函数名首单词小写,其它次单词首字母大写

(4)常量名均大写

2)常量

(1)2、22、0xc3、‘2’、“22”都是常量(分别为整数常量、字符常量、字符串常量)即程序中不会发生变化的量;可以直接用println函数打印出来。

*注意2和‘2’的不同;println打印出来的都是十进制。

(2)八进制由0开头表示,十六进制由0x开头表示。

(3)负数的二进制:相应正数求反并加1。一般,一个数在计算机中由四个字节来表示。此时,最高位表示数据的正负。最高位为1时,代表负数。故,计算机能够表示的最大数为正负2的31次方。

3)变量

当数据会发生变化,需要对数据进行存储时。

(1)数据类型

整型:byte、short、int、long(1、2、4、8字节)

浮点型:float、double(单精度4、双精度8);

整数默认为int型。

java中小数默认为浮点型,定义float时,小数后面要加f。

(2)数据转换

系统会自动将数据向精度高的数据类型转换(保险的秘书,不敢擅自丢失数据)

byte a =3;

a = a+3;

这段代码是错误的,因为java整数默认为int型,即3占了4个字节,byte只有2个字节,加法运算中自动把a提升为int型,最后运算结果为int型,导致丢失精度错误。

正确的写法为:a = (byte)(a+3);强制转换,具体做法为将前三个字节丢弃。

System.out.println('a'+1);输出为98

System.out.println((char)('a'+1));输出为b

(3)数据运算

除法:a=105/100*100;由左至右,并且整型的运算结果仍为整型,故结果为100。

求余(取模运算)1%-5=1;-1%5=-1;-1%-5=-1

自加自减操作:a=1;b=a++;(效果等同于b=a,a=a+1 ,)结果a=2,b=1。看到++操作时,先把++去掉带入变量进行操作,再在变量后加一。

b=++a,则两者皆为2。(先加1,再把变量带入操作)

(4)字符串连接

字符串用+和任何类型数据相连接,最后都得到字符串。

(5)转义字符

\n换行;\r空格;\t tab;\r回车;\b退格;\斜线

可以用 char a ='\n',a中存储回车的ASCII码

4)运算符

(1)赋值运算

=、+=、-=、*=、/=、%=

注:short x=9;

x+=5;是正确的运算,编译能通过;因为赋值运算有自动转换的过程。

(2)比较运算

==、!=、>、<、<=、>=;结果为true或者false

(3)逻辑运算

用于连接布尔类型的表达式

&(与)、|(或)、^(异或)

&&:和&一样,但是&无论左边是真是假,右边都运算;&&当左边为假时,右边不运算。

||:|两边都参与运算,而||当左边为真是,右边不运算。

单双的运算结果没有变化,但是和计算机底层运算有关。

(4)位运算

即用于二进制运算的符号

<<(左移)、>>(右移)

左移会变大,移多少位相当于将数字乘以2的多少次方。

右移会变小,相当于除法

怎么记:右移是大于号x>>2,即右移操作之后,x会变小,所以x“大于”2

另:>>右移后用原数据的最高位补空位

>>>右移后一律用0补空位

&、|、^、~ :与、或、异或、反码

一个数A与另一个数B异或两次,能得到原数,此原理常被用在加密中。

(5)位运算的实际应用

高效的乘法计算:如2*8相当于把2左移3位。

高效的变量互换:m=m+n; n=m-n;m=m-n;

进阶:m=m^n;n=m^n;m=m^n;( 神奇的疑异或)

移位并和15进行与运算,能够逐个取出4位2进制以便于计算16进制数字。

eg:int num=60;

int temp=num>>>4;

int n2 = temp&15;

System.out.println((n2>9)?n2:(char)(n2-10+'A'));

*取高位的八进制数,判断是否需要转换为字母

(6)if判断语句

    避免重复代码,提高可阅读性 

(由于工作原因,持续了一个月才完成,惭愧惭愧,引以为戒!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值