JAVA基础1(代码剖析)
来源:互联网 发布:淘宝网货架 编辑:程序博客网 时间:2024/05/22 10:28
代码选自善学堂JAVA培训
</pre><pre class="html" name="code">public class TestBinaryNum {public static void main(String[] args){int a = 0b0000_0000_0000_0000_0000_0000_0000_0011;int b = 1_2312_3131;System.out.println(a);System.out.println(b);}}
/** * 测试JDK7中的switch新特性 * @author dell * */public class TestSwitch02 {public static void main(String[] args) {String a = "高琪";switch (a) { //JDK7的新特性,表达式结果可以是字符串!!!case "马士兵":System.out.println("输入的马士兵");break;case "高琪":System.out.println("输入的高琪");break;default:System.out.println("大家好!");break;}}}
/** * 测试内部类的使用 * @author dell * */public class Outer {public static void main(String[] args) {Face f = new Face();Face.Nose n = f.new Nose();n.breath();Face.Ear e = new Face.Ear();e.listen();}}class Face {int type;String shape="瓜子脸";static String color="红润";class Nose {void breath(){System.out.println(shape); System.out.println(Face.this.type);System.out.println("呼吸!");}}static class Ear {void listen(){System.out.println(color); System.out.println("我在听!"); }}}
继承1:
public class Animal {String str;public void voice(){System.out.println("普通动物叫声!");}}class Cat extends Animal {public void voice(){System.out.println("喵喵喵");}public void catchMouse(){System.out.println("抓老鼠");}}public class Test {public static void testAnimalVoice(Animal c){c.voice();if(c instanceof Cat){ //instance((Cat) c).catchMouse();}}public static void main(String[] args) {Animal a = new Cat();Cat a2 = (Cat)a;testAnimalVoice(a);}}
多态:
public class HttpServlet {public void service(){System.out.println("HttpServlet.service()");this.doGet();}public void doGet(){System.out.println("HttpServlet.doGet()");}}public class MyServlet extends HttpServlet {public void doGet(){System.out.println("MyServlet.doGet()");}}public class Test {public static void main(String[] args) {HttpServlet s = new MyServlet();s.service(); //这里service里边调用的是 myservlet里边的doGet方法}}
输出:HttpServlet.service()
MyServlet.doGet()
静态代码初始化块:在类一开加载的时候就执行 只执行一次
public class TestStaticInitBlock extends Parent001 {static int a ;static {System.out.println("静态初始化TestStaticInitBlock!");a = 100;}public static void main(String[] args) {}}public class Parent001 /*extends Object*/ {static int aa;static {System.out.println(" 静态初始化Parent001");aa=200;}}输出: 静态初始化Parent001
静态初始化TestStaticInitBlock!
final
public /*final*/ class Animal { //final修饰类则说明,这个类不能被继承!public /*final*/ void run(){ //final加到方法前面,意味着该方法不能被子类重写!System.out.println("跑跑!");}}class Bird extends Animal {public void run(){super.run();System.out.println("我是一个小小小小鸟,飞呀飞不高");}}public class TestFinal {public static void main(String[] args) {final int MAX_VALUE= 200; //常量。double d = Math.PI;}}
this关键字:
public class Student { String name; int id; public Student(String name,int id){ this(name); //相当于调用下边的构造方法
//通过this调用其他构造方法,必须位于第一句! Constructor call must be the first statement in a constructor this.id = id; } public Student(String name){ this.name = name; } public void setName(String name){ this.name = name; } public void study(){ this.name= "张三"; System.out.println(name+"在學習"); } }
重载
public class TestOverload {public int add(int a, int b){return a+b;}public static void main(String[] args) {MyMath m = new MyMath();int result = m.add(4.2,8);System.out.println(result);}}class MyMath {int a;int b;public MyMath(){}public MyMath(int a){this.a = a;}public MyMath(int b, int a){this.b = b;this.a = a;}public int add(int b, double a){return (int)(a+b);}public int add(double a, int b){return (int)(a+b);}public int add(int a, int b){return a+b;}public int add(int a, int b,int c){return a+b+c;}}
数组:
class Car {String name;public Car(String name){this.name= name;}}/** * 1. 数组是相同数据类型(数据类型可以为任意类型)的有序集合 * 2. 数组也是对象。数组元素相当于对象的成员变量(详情请见内存图) * 3. 数组长度的确定的,不可变的。如果越界,则报:ArrayIndexOutofBoundsException */public class Test02 {public static void main(String[] args) {//声明int[] a;int b[];//创建数组对象a = new int[4];b = new int[5];Car[] cars1 = new Car[4];cars1[0] = new Car("奔驰");Car c2 = new Car("奔驰");//初始化(对数组元素的初始化)//默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样。数字0,布尔false,char\u0000,引用:null//动态初始化:for(int i=0;i<a.length;i++){a[i] = i*12;}//静态初始化int c[] = {23,43,56,78}; //长度:4,索引范围:[0,3]Car[] cars = {new Car("奔驰"),new Car("比亚迪"),new Car("宝马")};System.out.println(c2==cars[0]); //false}}
/** * 模拟实现JDK中提供的ArrayList类 * @author dell * */public class MyArrayList {/** * The value is used for object storage. */ private Object[] value; /** * The size is the number of objects used. */ private int size; public MyArrayList(){ //value = new Object[16]; this(10); } public MyArrayList(int size){ if(size<0){ try {throw new Exception(); //手动抛出一个异常。 讲到异常章节再说,先混个眼熟} catch (Exception e) {e.printStackTrace();} } value = new Object[size]; } public int size(){ return size; } public boolean isEmpty() { return size == 0; } public void add(Object obj){ value[size] = obj; size++; if(size>=value.length){ //装不下了。扩容吧! int newCapacity = value.length*2; Object[] newList = new Object[newCapacity];// System.arraycopy(src, srcPos, dest, destPos, length); for(int i=0;i<value.length;i++){ newList[i] = value[i]; } value = newList; } } public Object get(int index){ rangeCheck(index); return value[index]; } public int indexOf(Object obj){ if(obj==null){ return -1; }else{ for(int i=0;i<value.length;i++){ if(obj==value[i]){ return i; } } return -1; } } public int lastIndexOf(Object obj){ if(obj==null){ return -1; }else{ for(int i=value.length-1;i>=0;i--){ if(obj==value[i]){ return i; } } return -1; } } public Object set(int index, Object object) { rangeCheck(index); Object old = value[index]; value[index] = object; return old; } public void rangeCheck(int index){ if(index<0||index>size-1){ //[0,size-1] try {throw new Exception(); //手动抛出一个异常。 讲到异常章节再说,先混个眼熟} catch (Exception e) {e.printStackTrace();} } } public static void main(String[] args) {MyArrayList list = new MyArrayList(2);list.add("aaa");list.add(new Human("高琪"));list.add("bbbb");list.add("bbbb");list.add("bbbb");list.add("bbbb");ArrayList list2;Human h = (Human) list.get(1);System.out.println(h.getName());System.out.println(list.size());} }class Human {private String name;public Human(String name) {super();this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
字符串常用方法
public class Test02 {public static void main(String[] args) {String str = new String("abcd");String str2 = new String("abcd");System.out.println(str2.equals(str)); //比较内容是否相等。System.out.println(str2==str); //注意这里是falseSystem.out.println(str.charAt(2));String str3 = "def";String str4 = "def";System.out.println(str3.equals(str4));System.out.println(str3==str4); //注意这里是true 因为这种方式和上边的方式不同 这种是字符串常量 只有一份System.out.println(str3.indexOf('y')); String s = str3.substring(0);System.out.println(s);String str5 = str3.replace('e', '*');System.out.println(str5);String str6 = "abcde,rrtt,cccee";String[] strArray = str6.split(",");for(int i=0;i<strArray.length;i++){System.out.println(strArray[i]);}String str7 = " aa bb ";String str77 = str7.trim();System.out.println(str77.length()); System.out.println("Abc".equalsIgnoreCase("abc"));System.out.println("Abcbd".indexOf('b')); System.out.println("Abcbd".lastIndexOf('b')); System.out.println("Abcbd".startsWith("Ab")); System.out.println("Abcbd".endsWith("bd")); System.out.println("Abcbd".toLowerCase()); System.out.println("Abcbd".toUpperCase()); System.out.println("##################");String gh = new String("a");for (int i = 0; i < 1000; i++) {gh = gh + i;}System.out.println(gh); }}
/** * 测试可变字符序列。StringBuilder(线程不安全,效率高),StringBuffer(线程安全,效率低) * String:不可变字符序列 * @author dell * */public class Test01 {public static void main(String[] args) {StringBuilder sb = new StringBuilder(); //字符数组长度初始为16StringBuilder sb1 = new StringBuilder(32); //字符数组长度初始为32StringBuilder sb2 = new StringBuilder("abcd"); //字符数组长度初始为32, value[]={'a','b','c','d',\u0000,\u0000...}sb2.append("efg");sb2.append(true).append(321).append("随便"); //通过return this实现方法链.System.out.println(sb2);System.out.println("##################");StringBuilder gh = new StringBuilder("a");for (int i = 0; i < 1000; i++) {gh.append(i);}System.out.println(gh);}}
Integer d = 1234;Integer d2 = 1234;System.out.println(d==d2); //falseSystem.out.println(d.equals(d2)); //trueSystem.out.println("###################"); Integer d3 = -100; //[-128,127]之间的数,仍然当做基本数据类型来处理。Integer d4 = -100;System.out.println(d3==d4); //trueSystem.out.println(d3.equals(d4)); //true
0 0
- JAVA基础1(代码剖析)
- JAVA基础2(代码剖析)
- JAVA基础3(代码剖析)
- JAVA基础4(代码剖析)
- JAVA基础5(代码剖析)
- JAVA基础6(代码剖析)
- JAVA基础7(代码剖析)
- JAVA基础8(代码剖析)
- java-基础-hashmap剖析
- java-基础-hashset剖析
- java-基础-ArrayList剖析
- java-基础-LinkedList剖析
- java-基础-Arrays剖析
- Java代码组成剖析
- java基础面试题剖析
- 【Java基础】--深入剖析基础语法
- [java]基础实例代码1
- 【Java基础】--Java容器剖析:collection容器
- C++之运算符重载(1)
- ACM 高斯消元(模板)
- qt-c++
- 完全卸载oracle11g详细步骤
- C++之运算符重载(2)
- JAVA基础1(代码剖析)
- 清除目录下的SVN信息
- Xcode批量打包ipa
- AnyBackup mysql_detect
- JBPM4实例教程
- 字符串排序
- [ACM] POJ 3254 Corn Fields(状态压缩)
- LbS新闻客户端
- sqlitebrowser修改ofs介质空间大小(适用于3.5.10、3.5.11)