变量
1.对局部变量,要先赋值,后使用。
2.一个局部变量,作用域,是定义它的
代码块!
public class Test{
public static void main(String[] args){
{
int a = 4;
}
System.out.println(a);
}
}
a的作用域在main里面的两个括号之间。所以,此程序编译不通过。cannot resolve symbol
3.对于两个局部变量,在同一作用域内不允许两个同名变量出现。
public class Test{
public static void main(String[] args){
int a = 6;
{
int a = 4;
}
System.out.println(a);
}
}
在小代码块,重了。Duplicate local variable a。
------------------------------
命名规范
1.语义
2.包,所有字母小写
3.类,所有单词首字母大写
4.变量、方法,首字母小写,其余单词首字母大写
5.常量,所有字母大写
byte b=1;
b=b+1;报错,因为b+1运算后,系统转为int,无法隐式转换
b+=1;不报错。请查看JVM,字节码差异。
>> 右移 除2,左补符号位
<< 左移 乘2,右补0
>>> 右移,左永远补0
虽然比乘除运算符快,但是有问题。
12>>32
回变为12。
12&9 按位与
12|9 或
12^9 异或
(a>b)&(c>d)
非短路方式,都判断,并不会因为a>b为假而不进行后面表达式的判断。
(a>b)&&(c>d)
短路方式,a>b为假,后面不执行,直接返回false。
int i = 3;
int count = (i++)+(i++)+(i++);
count = 3 + 4 + 5
i=4 i=5 i=6
int i =3;
i = i++;
那么流程如下
i++这个表达式的值是3。然后执行i自加1,变为4(因为++操作比赋值优先级高),最后i 再次被赋值为3。
不记运算符优先级,最好用括号老解决,很明白,否则像这样的b+++a表达式,实际上(b++)+a。
posted on 2005-11-24 23:26
北国狼人的BloG 阅读(380)
评论(0) 编辑 收藏 所属分类:
达内学习总结