java学习注意点

1  关键字:有特殊含义的单词且都为小写    

           class  public static void  (main  String System 不是)

2  标识符:数字,字母,下划线,$,组成(不能以数字开头)

3  保持包名,类或接口,方法或变量,常量, 书写规范

4  单行注释可以嵌套,多行注释不可嵌套。

5  常量     字面值常量(字符串,整数,小数,字符常量,布尔常量,空常量)     自定义常量

6  进制   

  二进制 0b开头   八进制 0开头  十六进制  0x开头

7 数据类型

         基本类型,引用类型

         (1)基本数据类型

                    整数:   byte  1       short 2          int  4      long  8

                   浮点型: float  4  double  8

                   字符型 :char  2

                   布尔型    boolean  1

       整数默认为int      浮点数默认为double

        byte a=100;   short b=100; int c=100;long d=100;  long e=10000000000L     (都可以)

         int c=10000000000(编译错,越界)         long d=10000000000(编译错,默认整数)

         float a=12.34 (编译错,默认double)

         byte,short,char运算先转化为int

        例如: byte e=12,f=12,d;
                   d=e+f;(编译错)

                   d=12+12;(正确)

       例如 :byte b=(byte)130      结果为-126;

       例如:byte b=12;   b+=1;(正确,自加运算隐含强转)

 8    变量使用前必须初始化

9  逻辑运算        

              &,|,!,^

              && , ||  ,  !     (双位采取截断式)

10  位运算

          <<  ,>> ,<<<(无符号),>>>, &, |, ^, ~

       ^两次值不变    a^b^a;

      交换a,b           a=a^b;  b=a^b;a=a^b;

  11  switch    可以为byte,short,int ,char   jdk5添加枚举   jdk7添加String

  12  内存分配

      栈   :存储局部变量

      堆 :  new的东西

      方法区:存放class文件

      本地方法区:与系统相关

      寄存器:cpu使用

   13 数组    int[][] arry=new int[3][];   可以不定义二维长度     array[0]=new int[2];

   14 成员变量和局部变量区别 :内存位置,初始化

   15 java.lang 不需要导入

  16  静态代码块(只执行一次),构造代码块(构造方法前执行),局部代码块区别

  17  被final修饰的成员方法不能重写,类不能继承

  18   多态   Fu fu=new Zi();

  19  多态中:

                            成员变量:编译看左边,运行看左边。

                            成员方法:编译看左边,运行看右边。

                            静态方法:编译看左边,运行看左边。

  20 抽象方法不能有方法体

     抽象类不一定有抽象方法,抽象方法所在一定是抽象类

     可以有构造方法,但不能实例化(主要为了父类初始化)

      子类要么是抽象类,要么重写父类的所有抽象方法

       abstract与 private,final,static冲突

21   四种权限修饰符

22  内部类:成员内部类,局部内部类

     成员内部类

     Outer.Inner oi=new Outer().new Inner();

23  匿名内部类--匿名子类

24   集成开发环境IDE

25   标记接口  Cloneable

26    Scanner(InputStream source)

     public static final InputStream in;
27    String内容不可变, StringBuffer  线程安全,同步的可变字符序列
      StringBuilder  线程不安全,不同步的可变字符序列


28    BigInteger大数运算
      BigInteger(String val)
      BigInteger add(BigInteger val) 等
      BigDecimal(String val)
      public BigDecimal setScale(int newScale,   RoundingMode roundingMode)

29    Calendar:
      abstract  void add(int field, int amount)
      int get(int field)
      void set(int year, int month, int date)
      void set(int year, int month, int date, int hourOfDay, int minute, int second)
 
30     集合只能存储引用类型  jdk5以后自动装箱

       jdk5以后 可用泛型

31     泛型类,泛型方法,泛型接口

32     泛型通配符
33     jdk5之后又增强for,底层是迭代器,会出现迭代时修改异常
       jdk5静态导入,可以直接导入方法
       jdk5后可变参数   int sum(int... array); 如果有多个参数,可变参数一定在后面。


34     HashSet底层是HashMap,主要依赖HashCode和equals

35     TreeSet:基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,
      或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
      自然排序实现Comparable接口,重写compareTo函数
      比较器排序重写Comparator方法

36    jdk异常处理新特性
      并列异常,一起处理
      编译时异常必须处理,运行时异常可以不处理
      编译时异常抛出,调用者必须处理,运行时异常抛出不用处理。
      继承时,子类只能抛出父类异常,会异常的子集,父类没有抛出异常,子类不可抛出异常。

37    boolean renameTo(File dest) 路径相同为改名,路径不同为剪切。
      File[] listFiles(FileFilter filter)  

      public interface FileFilter

38   编码和解码

39    ByteArrayInputStream:   包含一个内部缓冲区,该缓冲区包含从流中读取的字节
      ByteArrayOutputStream :  数据被写入一个 byte 数组,toByteArray() 和 toString () 获取数据。
      DataOutputStream  将基本 Java 数据类型写入输出流中

      DataInputStream   读取基本 Java 数据类型

40    ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化,必须实现          Serializable接口,需要有序列化id值,否则读写过程中不可以修改代码。利用transient修饰成员变量则        不实现序列化。

41    线程的两种实现方式,继承extends Thread,实现Runnable接口

42    线程同步,同步代码块任意所,同步方法this锁,静态方法class锁。

43    jdk5出现Lock锁

44    单例模式:懒汉式,饿汉式。优缺点

      应用:RunTime

45    GUI,CLI

46    java.awt需要调用本地系统方法实现功能,属于重量级控件

      javax.swing完全由java实现,易移植。属于轻量级控件

47    接口---适配器-----实现类

      适配器实现接口,空实现,类继承适配器。

      可用匿名内部类重写需要的方法。

48   GUI布局:流式布局,网格布局,边界布局,卡片布局等

49   反射常用Class c=Class.forName("pack_a.Student");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值