- 标识符命名规则:
1)包
最好是域名倒过来,要求所有的字母小写
2)类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(驼峰标识)
3)方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写
4)常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词 - Java中不同进制的数据表现形式
1)二进制的数据表现形式
由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
2)八进制的数据表现形式
由0,1,…7组成。以0开头
3)十进制的数据表现形式
由0,1,…9组成。整数默认是十进制的
4)十六进制的数据表现形式
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
5)案例演示
- 0b100 2进制
- 0100 8进制
- 100 10进制
- 0x100 16进制
- 原码,反码和补码:
原码是一个整数按照绝对值大小转换成的二进制数,第一位数表示正负.
补码是负数在计算机中的二进制表示方法,涉及负数都用补码.
补码是由反码得到的,而反码又由原码求得.反码只是为了求补码. 数据类型(为了合理配内存空间)
类型 取值范围 占字节数 备注 byte -2^7~2^7-1 1 short -2^15-2^15-1 2 int -2^31~2^31-1 4 整数默认类型 long -2^63~2^63-1约2E9 8 标识符为L/l float 约-3.4E38~3.4E38 4(IEEE754) 标识符为F/f double 约-1.8E308~1.8E308 8(IEEE754) 小数默认类型 char -0~2^16-1 2 1)boolen 理论上占1个bit,但java未对它指定大小
2)对long类型赋值时,需要加标识符L,对float赋值时,需加标识符F或f.
3)byte类型在进行运算时,会自动提升为int类型
4)注意 b++ 和 b=b+1的区别。++只是操作符,不会改变原数据类型,而后者会使得数据类型提升为int。a++ 与 ++a 的区别: 放在操作数的前面,先自增或者自减,然后再参与运算。放在操作数的后面,先参与运算,再自增或者自减。同理,a+=1,与a=a+1的区别.
-
- &逻辑与:有false则false。
- |逻辑或:有true则true。
- ^逻辑异或:相同为false,不同为true。
- !逻辑非:非false则true,非true则false。
- 特点:偶数个不改变本身。
- &&和&的区别?
- &&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行 - 最终结果一样。&&–可以提高效率,推荐使用
- &&具有短路效果。左边是false,右边不执行。
- 位运算符的基本用法
- &,|,^,~ 的用法
- &:有0则0
- |:有1则1
- ^:相同则0,不同则1
- ~:按位取反
- ^的特点:一个数据对另一个数据位异或两次,该数本身不变。5^10^10=5;10^5^10=5;
- 例如:要交换变量x和y,可以用:y=x^y –> x=y^x–>y=x^y
“>>,>>>,<<”的用法:
- <<:左移 左边最高位丢弃,右边补齐0
- >>:(有符号)右移 最高位是0,左边补齐0;最高为是1,左边补齐1
- >>>:无符号右移 无论最高位是0还是1,左边补齐0
三元运算符
- (关系表达式) ? 表达式1 : 表达式2;
- 案例演示: 获取两个数中的最大值:(x>y) ? x : y
- 注意:三元运算符是一个运算符,必须要返回结果,而不能写输出语句
- int a = 1; 是两句话,等同于: int a , a = 1,先声明后赋值.
switch语句
switch(表达式) { //表达式可接受的类型:byte,short,char,int case 值1: //现也可接受枚举类型,string字符串 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; break; }
- 执行流程
- 先计算表达式的值
- 然后和case后面的匹配,如果有就执行对 应的语句,否则执行default控制的语句
- case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
- 最后一个break可以省略,其他最好不要省略,否则可能出现case穿透.
- 适用于固定值表达式,对有范围的表达式用if语句
- 执行流程
循环结构for语句:
for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; }
while循环语句
初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; //决定了跳出循环的时机 }
do while 循环语句
初始化语句; do { 循环体语句; 控制条件语句; }while(判断条件语句);
注意点:
- do…while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
- for语句执行后变量会被释放,不能再被调用,而while循环的变量是定义在循环外的,还能被调用.
- 两种最简单的死循环格式
- while(true){…}
- for(;;){…}
控制跳转语句标号
标号:标记某个循环对其控制
标号组成规则:其实就是合法的标识符,return:跳出方法 break:跳出整个循环 continue:跳出当前循环
java方法的格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { 方法体语句; return 返回值; }
方法重载:
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
- A:参数个数不同
- B:参数类型不同
- C:参数的顺序不同(算重载,但是在开发中不用)