1 标识符和注释##
好欣慰我基本都记得。。这里记一下命名规范。
1.包名
多个单词组成时所有字母小写(例:package com.itcast)
2.类名和接口
多个单词组成时所有单词的首字母大写(例:HelloWorld)
3.变量名和函数名
多个单词组成时第一个单词首字母小写,其他单词首字母大写(例:lastAccessTime、getTime)。
4.常量名
多个单词组成时,字母全部大写,多个单词之间使用_分隔(例:INTEGER_CACHE)
注释分类:
1.单行注释(line comment)用//表示,编译器看到//会忽略该行//后的所文本
2.多行注释(block comment)用//表示,编译器看到/时会搜索接下来的/,忽略掉//之间的文本。
3.文档注释用/* /表示,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
注意:多行注释中可以嵌套单行注释,多行注释不能嵌套多行注释。错误!!!
文档注释 (编写软件说明书)
1.需要使用sum给我们提供的javadoc工具生成一个html的说明文档。
2.只能抽取public的属性或者方法内容。(类必须public)
格式:
Javadoc –d 指定存储文档的路径 -version –author(可选) 目标文件
常量和变量
Java中常量的分类:
整数常量 : 所有整数
小数常量 : 所有小数
布尔常量 : 只有true和false
字符常量 :使用’’引起来的单个字符
字符串常量 :使用“”引起来的字符序列,
注意:Integer.tobinaryString()方法可以将int数据转换为01字符串
null常量 : 只有一个值null
- 整型 这个一定要记得。。。太丢人了总是不记得
byte 代表一个字节的大小 8bit 2(8) -128~127 256
short 代表两个字节的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四个字节的大小 32bit 2(32) -2(31)~2(31)-1
long 代表八个字节的大小 64bit 2(64) -2(63)~2(63)-1
如果一个数值没有采取特殊的处理,那么该整数默认的类型是int。
可以使用数值后面添加L或小写L改变默认的整数类型。 - 浮点型
float 代表四个字节的大小 32bit
double 代表八个字节的大小 64bit
java程序中所有的小数默认的类型是double类型,所以需要使用特殊的符号改变默认的小数类型。 - 字符型
char 代表两个字节的大小 16bit 2(16)
原理:将字符映射为码表中对应的十进制数据加以存储。 - 布尔型
boolean 占一个字节。只有true与false两个值。
注意两个问题:
以前总是不知道为啥要加f不加d。。。
一个整数默认就是int,如果要
long w =3432423432432, 则后面要加一个L 不然报错
long w = 3432543543543543**L**
小数默认是double ,如果要用float,则后面要加f
float f =3.14**f**
第二:
byte b=126;
问:既然数据默认的有数据类型,那么126 默认是int类型的,为什么存储到byte类型时不会报错呢。
126 是常量java在编译时期会检查该常量(每个常量)是否超出byte类型的范围。如果没有可以赋值。
byte b=128;能否正常的编译和运行。
该语句会出现编译错误,128超出了byte变量的存储范围,所以出现编译错误。
b =b1+b2 不可以,因为b1 和b2 是变量,表达式求值时,变量值会自动提升为int型,表达式结果也就成了int型,这是要赋值给byte型的b,必须进行强制类型转换了。
总结:
所有数值运算符都可以用在char型数据上,如果另一个操作数是一个数字或者字符,那么char会自动提升为int型,如果另一个操作数是字符串,那么字符就会和字符串相连。
运算符
1、算术运算符
: 正数、 相加、 字符串连接 三个功能
注意: 做字符串连接功能时,每次选取+左右两边的元素进行连接,一次次连接
eg: 1+2+3+”hello”+3+3
结果 = 3+3+”hello”+3+3
= 6+”hello”+3+3
= “6hello”+3+3
= “6hello3”+3
= “6hello33”% 取余符号 : 结果的正负取决于被除数的正负
++自增符号: 有一个不清楚的点 :
2、 比较运算符:
= <= == != > < Instanceof
注意的细节:
使用比较运算符的时候,要求两种数据类型必须一致。
byte、short、c har 会自动提升至int。
attention:
==用于两个基本数据类型 是比较所存储的值是否相同
用于两个引用数据类型 是比较所记录的内存地址是否一致
3、 逻辑运算符
& 与
| 或
! 非
^ 异或
&& 短路与
|| 短路或
之前总是不了解&&与&的区别 总觉得&是位运算才用的。其实不然:
单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
4、 位运算符
& 与
| 或
~ 取反
^ 异或 一个数异或同一个数两次,结果还是那个数. 用处一个简单的加密思想.
经典面试题:
5、 移位运算符
<< 左移
>> 右移
>>> 无符号右移
>> 是除以2的移动位数次幂
<< 是乘以2的移动位数次幂
面试题: