随笔分类 -  Java

java包装类
摘要:package frank;/**包装类练习*/public class App{ public static void main(String[] args) { Boolean b = new Boolean("True1");//非true/True的值都是false b = Boolean.parseBoolean("True");//包装类的静态方法 b = false;//1.5后增加的自动装箱和拆箱。 System.out.println(b); Integer intObj = new Integer("1");//包 阅读全文

posted @ 2013-08-05 10:10 wp456 阅读(134) 评论(0) 推荐(0)

java初始化快和静态初始化块
摘要:java静态初始化块可以理解为类初始化块它是属于类,不属于实例,当类第一次加载类的时候就会执行,所以它永远比实例化代码块优先执行,后面类实例化时不会执行,跟静态字段一样。它们的执行顺序跟定义的顺序一样,静态字段和静态代码块无优先执行,谁在定义在前面谁就最先执行,顶级父类的静态代码块最先执行,然后依次朝下走。java初始化块也可以理解为实例初始化块,它是属于实例,当实例化一次就会执行一次,它总是在构造方法前执行,它和实例化字段一样,谁先定义谁就最先执行。顶级父类的实例化代码块最先执行,然后依次朝下。package frank;public class App extends Parent{ pu 阅读全文

posted @ 2013-08-02 17:41 wp456 阅读(353) 评论(0) 推荐(0)

java类型转换2
摘要:子类是特殊的父类,所以子类转父类的时候总可以是隐士的。对于整型,小类型的总是隐士的转换成大类型,当大类型转小类型,有可能会发生精度丢失。对于引用类型,父类型转换成子类型需注意运行时类型一定要是所转换的类型(子类是特殊的父类)。instanceof运算符是判断变量是否是指定的引用类型,如果变量跟指定的类型不是他的子类又不跟他是一个类型的话就会出现编译时错误。 阅读全文

posted @ 2013-08-02 16:31 wp456 阅读(149) 评论(0) 推荐(0)

java多态
摘要:java多态,java引用类型分为编译时类型和运行时类型。父类型的变量对应子类型的引用,编译的时候类型是父类型,运行的时候类型就是子类型。所以在编译的时候只能访问到父类对象里面有的成员,不能访问到子类里面的成员,如果父类中的方法在子类中重写了,那么在运行的时候调用的就是子类中的方法,字段不存在多态,父类型调用的就是父类型的,子类型调用就是子类型的。package frank;public class App extends Parent{ public String asc = "3"; public static void main(String[] args) { Pa 阅读全文

posted @ 2013-08-02 15:59 wp456 阅读(206) 评论(0) 推荐(0)

java继承
摘要:java中继承用extends关键字,java中默认所有类都直接或者间接的继承Object类,子类重写父类方法规则:两同两小一大。两同:方法名相同,参数列表相同。两小:返回值类型应小于或者等于父类方法返回值类型,定义的异常处理类也应该是小于或者等于父类中异常处理类。一大:访问权限等于或者大于父类方法的访问权限。如果在子类的重写的方法中要访问父类的方法,可以是使用super关键字,即:super.方法名()。如果要在子类的构造函数中访问父类的构造函数也可以使用super();。在静态方法中不能使用super关键字,方法重载也会发生在子类和父类之间。如果子类定义了一个字段跟父类的一样,那么子类就把 阅读全文

posted @ 2013-07-26 17:29 wp456 阅读(231) 评论(0) 推荐(0)

java创建包和导入包和静态导入法
摘要:一个源文件只能有一个包名,包名在源文件代码的第一行定义,即:package test;包名最好全部小写。一般以公司域名或者公司名来定义,在开发项目时首先要计划好相关的包层次结构。如果要导入包,那么就应该放在包名后面类或接口定义的前面,即:import test;java默认为所有的类都导入了java.lang包下面的所有类,这样子我们就可以使用java.lang下面的类了,例如System类里面的一些方法。java 1.5后支持静态导入包,即导入指定类里面的静态方法,静态字段或者所有静态成员,即:import static frank.lee.App.*;。improt跟import stat 阅读全文

posted @ 2013-07-26 09:57 wp456 阅读(532) 评论(0) 推荐(0)

java方法重载
摘要:在同一个类中,方法名相同,参数列表不同,方法重载跟返回值无关。package frank;public class App{ public static void main(String[] args) { Person p = new Person(); System.out.println(p.fn(10)); System.out.println(p.fn(10,20));//优先选择 fn(int a,int b) 方法。 }}class Person{ public int fn(int a) { return a; } public int fn(int a,int b) ... 阅读全文

posted @ 2013-07-22 12:02 wp456 阅读(155) 评论(0) 推荐(0)

java参数传递和可变参数
摘要:java中方法所有传递都是值传递,都传递栈中的实际值,他们以复制副本的形式传送,都不会影响原来的对象,引用类型传递的是引用地址。可变参数只能是参数列表的最后一个。一个参数列表中只能有一个可变参数。他是以...表示可变参数的,在调用方法遇到了可变参数,可以传多个值,也可以传递一个数组。package frank;public class App{ public static void main(String[] args) { Person p = new Person(); p.printMessage(1,"1","2","3"); 阅读全文

posted @ 2013-07-22 10:48 wp456 阅读(305) 评论(0) 推荐(0)

java静态关键字static
摘要:由static修饰的方法、字段都是属于类的,类对象可以用实例名访问也可以用类名访问。类方法中不能访问非类对象。static不能修饰类,但是可以修饰匿名内部类,不像C#中一样。 阅读全文

posted @ 2013-07-21 21:55 wp456 阅读(146) 评论(0) 推荐(0)

java控制台五子棋
摘要:package frank;import java.io.*;public class App{ //棋盘 private String[][] board; //棋盘大小 private static int BOARD_SIZE = 15; //初始化棋盘 public void initBoard() { board = new String[BOARD_SIZE][BOARD_SIZE]; for(int i = 0; i < BOARD_SIZE; i++) { for(int j = 0; j< BOARD_SIZE; j++) { board[i][j]= " 阅读全文

posted @ 2013-07-20 09:22 wp456 阅读(354) 评论(0) 推荐(0)

java数组
摘要:一维数组:int[] a = {2,3,4};int[] a = new int[]{2,3,4};int[] a ;a = new int[3];a = new int[]{2,3,4};int[] a = new int[3];多维数组:int[][] a = new int[2][];a[0]=new int[3];int[][][] a =new int[2][][];a =new int[2][];.....整数类型的数组默认值为0;浮点类型的默认值为:0.0;boolean类型的数组默认值为:falsechar类型的数组默认值为:'\u0000'引用类型的数组默认值 阅读全文

posted @ 2013-07-19 14:47 wp456 阅读(145) 评论(0) 推荐(0)

java流程控制
摘要:package frank;public class App{ public static void main(String[] args) { String s = "一"; switch(s) { case "一": { System.out.println("今天星期一"); break; } default: { System.out.println("火星人!"); } } Boolean b = true; while(b) { System.out.println("while语句!&quo 阅读全文

posted @ 2013-07-13 11:42 wp456 阅读(165) 评论(0) 推荐(0)

java中把两个变量进行值交换,通过异或两次运算就能实现值互换。
摘要:package frank;public class App{ public static void main(String[] args) { int a = 2;//00000000000000000000000000000010 int b = 3;//00000000000000000000000000000011 a = a ^ b;//00000000000000000000000000000001 b = a ^ b;//00000000000000000000000000000010 a = a ^ b;//000000000000000000000000000000... 阅读全文

posted @ 2013-07-13 09:35 wp456 阅读(1440) 评论(0) 推荐(0)

java命名规则
摘要:变量、类、方法命名规则。必须以字母、下划线、$开头。以字母、数字、_、$结尾。 阅读全文

posted @ 2013-07-12 16:51 wp456 阅读(108) 评论(0) 推荐(0)

Java运算符一
摘要:package frank;public class App{ public static void main(String[] args) { System.out.println(2&5);//按位与 两个都为1的情况下才会取1,否则取0 /* 00000000000000000000000000000010 00000000000000000000000000000101 00000000000000000000000000000000 结果为 0 */ System.out.println(2|5);//按位或 只要有一个为1,那么就取1,否则为0 /* 00... 阅读全文

posted @ 2013-07-12 11:59 wp456 阅读(295) 评论(0) 推荐(0)

java String类
摘要:String是一个特殊的类,它一但赋值后无法改变,它维护的是一个常量池。我们创建了两个String类型的变量 a和b,a="1";b=a,那么对a的值进行修改,那么b的值也不会被改变。因为是只读的。一旦给String类型的变量重新赋值,其实就是新创建一个对象。package frank;public class App{ public static void main(String[] args) { /* String s = new String("a"); String s2 = s; s=s.concat(""); Syste 阅读全文

posted @ 2013-07-11 13:53 wp456 阅读(232) 评论(0) 推荐(0)

java类型转换
摘要:java自动类型可以由小自动转换成较大的类型。byte -> short -> int -> longchar -> int八个原生类型也提供了相应的包装类比如:int 包装类是 Integer、byte 包装类是 Byt如果把大类型转换成较小的类型的话,那么在计算机二进制中就会把多余的截取掉,从而会使结果有可能不正确。java中也会自动类型提升,如果在多个数计算的时候,最终结果是参与计算中最大类型。 阅读全文

posted @ 2013-07-11 11:21 wp456 阅读(133) 评论(0) 推荐(0)

java原生类型大小
摘要:package frank;public class App{ public static void main(String[] args) { //Java基本类型的大小 /* 1个字节 = 8 bit byte = 1 个字节 char = 2个字节 short = 2个字节 int = 4个字节 long = 8个字节 float = 4个字节 double = 8个自己 boolean = 1个bit位 */ }} 阅读全文

posted @ 2013-07-10 22:39 wp456 阅读(191) 评论(0) 推荐(0)

java 7 新增数值类型写法
摘要:package frank;public class App{ public static void main(String[] args) { //java 7新增的写法 int binVal = 0B1000_0000_0000_0000_0000_0000_0000_0011; double pi = 3.14_15_92; int a = 8_5_1; float b = 3_2.5_4F; System.out.println(binVal); System.out.println(pi); }} 阅读全文

posted @ 2013-07-10 22:22 wp456 阅读(202) 评论(0) 推荐(0)

无穷大和非数
摘要:package frank;public class App{ public static void main(String[] args) { /* 除数不能为0, int a = 2; int b = 0; System.out.println(a/b);//编译通过,但是运行报错,by zero */ /* float a = 1.00F; float b = 0;//会自动变成浮点数的0.0 float c = a/b;//正无穷大 如果是一个负数除以0那就是负无穷大 float d = Float.NEGATIVE_INFINITY; System.out.pr... 阅读全文

posted @ 2013-07-10 22:13 wp456 阅读(450) 评论(0) 推荐(0)

导航