学习java第14天

Posted sirnie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习java第14天相关的知识,希望对你有一定的参考价值。

1.装箱

基本类型直接赋值一个引用类型  Integer I = 10;

拆箱  int i = I;

实际为  Integer I = Integer.valueOf(10);   int i = I.intValue();

2.枚举(enum)

简单情况下,与其他语言的enum相似

enum Light {Red,Yellow,Green};

Light light = Light.Green;

*自定义枚举

enum Direction 

     EAST("东",1), SOUTH("南",2),
  WEST("西",3), NORTH("北",4);
  private Direction(String desc, int num){
   this.desc=desc; this.num=num;
  }
  private String desc;
  private int num;
  public String getDesc(){ return desc; }
  public int getNum(){ return num; }
}
class EnumDemo2
{
    public static void main(String[] args)  
    { 
  Direction dir = Direction.NORTH;
  for( Direction d : Direction.values())
   System.out.println(
    d.getDesc() + "," +d.getNum()+ "," + d.ordinal());
    } 

3.注解

在各种语法要素上加上附加信息,供编译器或者其他程序使用

@Override  表示覆盖父类的方法

@Deprecated   表示过时的方法

@SuppressWarnings   表示不让编译器产生警告

4.没用指针的java语言

*引用于指针(引用实质上就是指针)

是受控的,安全的

C语言中有指针,其在java中也有体现

A:用来传地址 --> 对象

引用类型,引用本身就相当于地址,可修改对象属性,调用对象方法

B:指针运算 --> 数组

例如C中的 *(p+1),则可以用 args[5]

C:函数指针 --> 接口,lambda表达式等等。

* ==

基本类型:

数值在转换后进行比较;浮点数以为有误差,最好不直接用==;boolean无法与int相比较

枚举类型:

因为内部进行了实例化,可直接判断

引用对象:

可以直接看两个引用是否一样,若判断内容是否一样,要看equals写法

String对象:

一定不要用 == ,要用equals,但是字符串常量和会进行内部化,相同字符串常量是相等的

class TestStringEquals{
 public static void main(String[] args) {
  String hello = "Hello", lo = "lo";
  System.out.println( hello == "Hello");                                     //正确
  System.out.println( Other.hello == hello );                              //正确
  System.out.println( hello == ("Hel"+"lo") );                             //正确
  System.out.println( hello == ("Hel"+lo) );                               //错误
  
  System.out.println( hello == new String("Hello"));                  //错误
  System.out.println( hello == ("Hel"+lo).intern());                     //正确
 }
}
class Other { static String hello = "Hello"; }
 
明天学习内容:
异常处理,自定义异常
 

 

以上是关于学习java第14天的主要内容,如果未能解决你的问题,请参考以下文章

java学习第24天

java学习第25天

学习java第27天

第80题JAVA高级技术-多线程14(闭锁和栅栏)

学习java第38天

java学习第23天(GUI)