常用语法

  • 三元操作符:
  •   boolean-exp ? value1:value2
      if(x > 1)? x++ : x--
  • 控制语句:
  • if(boolean-exp)
      statement
    else
      statement


    while(boolean-exp)
      statement
    
    do
     statement
    while(boolean-exp)
    
    for(initialization;boolean-exp;step)
      statement

  • 标签:
  • 跟在break或continue后
    lbl:
    some code ....
    for(int i=0;i<100;i++){
       some code ...
       break lbl;//跳至lbl处
    }

  • 开关switch

  •   switch(整形数字){
         case value1:break;
         case value2:break;
         default:;
      }

  • 数组定义及初始化

  • int[] a  ;//或int a[];
    a= {1,2,3};//或a = new int[] {1,2,3};

  • 类的访问权限只有public和包访问权限,且同一个编译文件,最多只能有一个public 类,
  • 继承时,带参数的构造函数,子类必须显示调用父类的构造函数,用关键字super实现
  • class Basic{
    	public Basic(int i){
    		System.out.println("Basic Constructor!");
    	}
    }
    
    
    class Child extends Basic{
    	public Child(int i){
    		super(i);
    		System.out.println("Child Constructor!");
    	}
    }


  • 动态绑定



  • 接口(interface)中的的数据成员默认是,static & final,且用public修饰,必须要被初始化;接口中的成员方法修饰为public 或是 包访问权限。
  • 异常处理
  • try{
      //do somethings
    } catch(Exp Type1 et1){
    } catch(Exp Type2 et2){
    } catch(Exp Type3 et3){
    } catch(Exp Type4 et4){
    }

      实现扩展Excpetion可用:
      class MyExp extends Exception{
      }
    
      方法定义中使用,
      public void testException throws Excetption{
         throw new Exception("Exception Test");
      }

  • HashMap与HashTable
  • HashMap说明: 
    基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作, 并允许使用 null 值和 null 键。除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
      HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,通过调用 rehash 方法将容量翻倍。

    通常,默认加载因子 (.75) 在时间和空间成本上寻求一种折衷。加载因子过高虽然减少了空间开销,但同时也增加了查询成本(在大多数 HashMap 类的操作中,包括 get 和 put 操作,都反映了这一点)。在设置初始容量时应该考虑到映射中所需的条目数及其加载因子,以便最大限度地降低 rehash 操作次数。如果初始容量大于最大条目数除以加载因子,则不会发生 rehash 操作。

    注意, 此实现不是同步的。如果多个线程同时访问此映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步。(结构上的修改是指添加或删除一个或多个映射关系的操作;仅改变与实例已经包含的键关联的值不是结构上的修改。)这一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedMap 方法来“包装”该映射。最好在创建时完成这一操作,以防止对映射进行意外的不同步访问,如下所示:

    Map m = Collections.synchronizedMap(new HashMap(...));

    由所有此类的“集合视图方法”所返回的迭代器都是快速失败 的:在迭代器创建之后,如果从结构上对映射进行修改,除非通过迭代器自身的 remove 或 add 方法,其他任何时间任何方式的修改,迭代器都将抛出 ConcurrentModificationException。因此,面对并发的修改,迭代器很快就会完全失败,而不冒在将来不确定的时间任意发生不确定行为的风险。

    HashTable说明:
    此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。

    为了成功地在哈希表中存储和检索对象,用作键的对象必须实现 hashCode 方法和 equals 方法。

    自 Java 2 平台 v1.2 以来,此类已经改进为可以实现 Map,因此它变成了 Java Collections Framework 的一部分。与新集合的实现不同, Hashtable 是同步的。
  • 单元测试,断言语法
  •   assert boolean-Expression;
      assert boolean-Expression:information-Expression;


    你可能感兴趣的:(多线程,数据结构,单元测试)