鱼C论坛

 找回密码
 立即注册
查看: 2556|回复: 0

[学习笔记] Java暑期学习Day28

[复制链接]
发表于 2017-8-1 23:53:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
282828,继续学习之前的异常处理,明天再记录相关的语法

                               
登录/注册后可看大图



异常处理
1.try{}语句块中放的是要检测的java代码,可能有会抛出异常,也可能会正常执行。


2.catch(异常类型){}块是当java运行时系统接收到try块中所抛出异常对象时,会寻找能处理这一异常catch块来进行处理(可以有多个catch块)。
             (即没有异常就不执行)


3.final{}不管系统有没有抛出异常都会去执行,一般用来释放资源。
了在之前执行了System.exit(0)



  1.Object

  1. class lat extends Object {

  2.         String name;
  3.         int age;

  4.         // 覆盖了Object里面toString 方法

  5.         public String toString() {

  6.                 return this.name + "," + this.age;

  7.         }

  8. }

  9. class User {
  10.         String name;
  11.         int age;

  12.         public String toString() {

  13.                 return this.name + "," + this.age;

  14.         }

  15. }

  16. // Object 类
  17. public class ObjectDemo {
  18.         /*
  19.          * Object类是JAVA的根类,要么是一个类的父类,要么是一个类的间接父类
  20.          *
  21.          * class ABC{}等价于 class ABC extends object{}
  22.          *
  23.          *
  24.          * == 比较内存地址
  25.          *
  26.          * equals 类覆盖方法
  27.          */

  28.         public static void main(String[] args) {

  29.                 String aa = new String();
  30.                 System.out.println(aa.hashCode());

  31.                 String bb = new String();
  32.                 System.out.println(bb.hashCode());
  33.                 System.out.println(aa == bb);// false
  34.                 System.out.println(aa.equals(bb));// true (类覆盖方法)

  35.                 Object a = new Object();
  36.                 System.out.println(a.hashCode());
  37.                 Object b = new Object();
  38.                 System.out.println(b.hashCode());
  39.                 System.out.println(a == b);
  40.                 System.out.println(a.equals(b));
  41.                 // 用组类不要去创建子类对象

  42.                 User uu = new User();
  43.                 uu.toString();

  44.                 lat ll = new lat();
  45.                 ll.toString();

  46.         }

  47. }
复制代码
结果是——

0
0
false
true
366712642
1829164700
false
false

2.装箱与拆箱

  1. //基本类型包装类型:装箱和拆箱操作

  2. public class IntegerDemo2 {

  3.         public static void main(String[] args) {
  4.                 // 装箱操作:把一个基本类型的值,转换为对应的包装类对象

  5.                 // 方式一
  6.                 Integer num1 = new Integer(17);
  7.                 // 方式二
  8.                 Integer num2 = Integer.valueOf(17);

  9.                 // 拆箱

  10.                 int num3 = num1.intValue();
  11.                 System.out.println(num1);
  12.                 System.out.println(num2);
  13.                 System.out.println(num3);

  14.                 // 自动装箱:直接赋值给对应的包装类对象(语法糖)

  15.                 Integer num4 = 13;

  16.                 // 自动拆箱:直接把一个包装类对象赋给基本类型变量(语法糖)

  17.                 int num5 = num4;

  18.         }

  19. }
复制代码
结果是——
17
17
17

3.设计模式之享元模式

  1. public class IntegerDemo {
  2.         /*
  3.          *
  4.          * 享元模式 共享一个元素 带有缓存设计
  5.          *
  6.          * int integer
  7.          *
  8.          *
  9.          * 拆箱以后再做比较
  10.          */
  11.         public static void main(String[] args) {

  12.                 Integer i1 = new Integer(123);
  13.                 Integer i2 = new Integer(123);
  14.                 System.out.println(i1 == 12);
  15.                 System.out.println(i1.equals(i2));

  16.                 int i3 = 123;
  17.                 int i4 = 123;
  18.                 System.out.println(i3 == i4);

  19.                 Integer i5 = Integer.valueOf(123);
  20.                 Integer i6 = Integer.valueOf(123);
  21.                 System.out.println(i5 == i6);

  22.                 Integer i7 = 123;
  23.                 Integer i8 = 123;
  24.                 System.out.println(i7 == i8);

  25.                 Integer i11 = new Integer(250);
  26.                 Integer i12 = new Integer(250);
  27.                 System.out.println(i11 == i12);

  28.                 Integer i31 = Integer.valueOf(250);
  29.                 Integer i41 = Integer.valueOf(250);
  30.                 System.out.println(i31 == i41);
  31.                 Integer i51 = 250;
  32.                 Integer i61 = 250;
  33.                 System.out.println(i51 == i61);

  34.         }

  35. }
复制代码
结果是——
false
true
true
true
true
false
false
false







评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表