存档
包(Package) 创建自己的包时,要求 package语句必须是文件中的第一个“非注释”代码。 如果类名冲突时,可这样写java.util.Vector v = new java.util.Vector(); 可能(但并常见)有一个编译单元根本没有任何公共类。此时,可按自己的意愿任意指定文件名。 访问控制 修饰符 类内部 同一个包 子类 任何地方 private √ default √ √ protected √ √ √ public √ √ √ √ 类的修饰符只有public 和 default,默认时只能被同一个文件或包内访问。
Java运算符优先级参考图表 本文来源 http://blog.csdn.net/xiaoli_feng/archive/2009/09/18/4567184.aspx 优先级 运算符 结合性 1 () [] . 从左到右 2 ! +(正) -(负) ~ ++ – 从右向左 3 * / % 从左向右 4 +(加) -(减) 从左向右 5 << >> >>> 从左向右 6 < <= > >= instanceof 从左向右 7 == != 从左向右 8 &(按位与) 从左向右 9 ^ 从左向右 10 | 从左向右 11 && 从左向右 12 || 从左向右 13 ?: 从右向左 14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左 说明: 1、 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。 2、 [...]
重载与重写之间的差别 区别点 重载方法 重写方法 参数列表 必须修改 一定不能修改 返回类型 可以修改 一定不能修改 异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常 访问 可以修改 一定不能做更严格的限制(可以降低限制) 重载(Overload) 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。 只能重载构造函数 规则 被重载的方法必须改变参数列表; 被重载的方法可以改变返回类型; 被重载的方法可以改变访问修饰符; 被重载的方法可以声明新的或更广的检查异常; 方法能够在同一个类中或者在一个子类中被重载。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [...]
1.在Java中看到象“1.39e-47f”这样的表达式时,它真正的含义是“1.39×10 的-47次方”。 2.注意如果编译器能够正确地识别类型,就不必使用尾随字符。对于下述语句: long n3 = 200; 它并不存在含混不清的地方,所以 200后面的一个 L大可省去。然而,对于下述语句: float f4 = 1e-47f; //10的幂数 编译器通常会将指数作为双精度数(double)处理,所以假如没有这个尾随的 f,就会收到一条出错提示,告诉我们须用一个“造型”将double 转换成 float。 3.通常,表达式中最大的数据类型是决定了表达式最终结果大小的那个类型。若将一个float 值与一个double值相乘,结果就是 double;如将一个 int和一个 long 值相加,则结果为long。 4.将一个 float或double 值造型成整数值后,总是将小数部分“砍掉”,不作任何进位处理。 5.Math.random()的输出值范围是[0,1) 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。 6.小数据类型转换成大数据类型可以自动转换,不会丢失精度。大数据类型转换为小数据类型必须显式的转换,可能丢失精度。
1.只可将AND,OR 或NOT 应用于布尔值。与在C 及C++中不同,不可将一个非布尔值当作布尔值在逻辑表达式中使用。 2.在AND(&&)运算中a()&&b()&&c(),当a为false时,b与c都不再执行,因为整个表达式都是false了,没必要再执行下去,OR(||)也是一样,当有一个为true时就结束。 1 2 3 4 5 6 7 8 9 10 11 public class CalClass { static Boolean test(int num){ System.out.println(num+">2"+(num>2)); return num>2; } public static void main(String[] args){ int i = 1, j =3 , k = 4; System.out.println(test(i)||test(j)||test(k)); System.out.println("end"); } } 3.对于布尔值,按位运算符(如&)具有与逻辑运算符(如&&)相同的效果,只是它们不会中途“短路”。 移位运算符 左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补 0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java 也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。 若对char,byte 或者short 进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个 [...]
1 2 3 4 5 6 7 8 9 10 11 12 13 public class OneClass { static int x;//会赋值默认值0 public static void main(String[] args){ //int x = 2; //不能在同一个方法内定义同一个变量,不然会报错 Duplicate local variable x System.out.println("第一个x:"+x); { int x = 5;//在方法内的变量必须初始化,否则x会是随机值而不是0 //如果不赋值会报错The local variable x may not have been initialized System.out.println("第二个x:"+x); } } }
Java的主要类型 主类型 默认值 大小(位) 最小值 最大值 封装器类型 boolean false 1 – - Boolean char ‘\u0000′(null) 16 Unicode 0 Unicode 2^16-1 Character byte (byte)0 8 -128 127 Byte short (short)0 16 -2^15 +2^15-1 Short int 0 32 -2^31 +2^31-1 Integer long 0L 64 -2^63 -2^63-1 Long float 0.0f 32 IEEE754 IEEE754 Float double 0.0d 64 IEEE754 [...]
最新评论