针对以下代码的疑问:
short a= 128;
byte d= (byte)a;
System.out.println(d);
其输出结果为d=-128;
解释:
a=128 二进制为10000000
8位byte类型二进制的范围bai为-128到du127,因为首位为符号位,所以正数到127-01111111,就到头了,所以正数最大为127;-128的二进制位128的补码10000000,因为“正数128的二进制为10000000”,这是关键点,有人会想“正数128的二进制为10000000”这不负数吗,其实不然,只是byte类型首位为符号位而引起的,否则正数最大也不会是127。
变量的命名规则:
1.由字母、数字、下划线、$组成
2.数字不能放在第一位
3.区分大小写
4.见名知意
5.支持中文,但是不建议使用
6.驼峰式命名
类:大驼峰(每个单词的首字母大写)
变量、对象、方法:小驼峰(第一个单词的首字母小写,其余单词的首字母大写)
常量:所有英文字母都大写
public是访问修饰符,public,公共的,代表被他修饰的类、方法,变量是公共的其他代码都可以访问
static是静态修饰符,被他修饰的不需要实例化就可以使用
void是返回值类型,void代表没有返回值
String是变量类型,字符串类型
args是数的名字,看见String[]了吧,这说明是一个String类型的数组,而args是这个数组的名称,至于为什么叫args,因为Java语言就是这样设计的。
作用域:
1、
当一个变量被声明在类下面
变量就叫做字段 或者属性、成员变量、Field
field单词中文意思本就有字段的含义。
2、
如果一个变量,是声明在一个方法上的,就叫做参数
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数
3、
声明在方法内的变量,叫做局部变量
其作用域在声明开始的位置,到其所处于的块结束位置
public class HelloWorld {
public void method1() {
int i = 5; //其作用范围是从声明的第4行,到其所处于的块结束12行位置
System.out.println(i);
{ //子块
System.out.println(i); //可以访问i
int j = 6;
System.out.println(j); //可以访问j
}
System.out.println(j); //不能访问j,因为其作用域到第10行就结束了
}
}
其实也是顺序结构处理代码。