zoukankan      html  css  js  c++  java
  • 2018-2019 20189203 移动平台开发实践第三周作业

    第5、6、8、9章学习

    第5章 核心类

    • 封装类
      1.封装类:
      java语言认为一切皆对象。
      8个基本数据类型野应该具备对应的对象。
      通过封装类可以把8个基本类型的值封装对象进行使用。
      从JDK1.5开始,java允许把基本类型的值直接赋值给对应的封装类对象。
      2.封装类的实例:
      int a=10;
      Integer o=new Integer(10);
      8中数据类型的封装类只有int 和char的封装类会改变,Integer 和Character
      3.封装类的作用:
      a.将字符串的值转换为基本类型。int a=new Integer(“100”);
      b.基本类型的值转换成字符串。int a=10; String c=a+“ ”;或者 String b =Integer.toString(100);

    • 装箱和拆箱
      1.装箱和拆箱 →本质是基本类型和其封装类之间能自动进行转换
      定义:装箱指的是把基本数据类型值转换成封装对象,即把栈中的数据封装成对象存放到堆中的过程。拆箱是装箱的反过程。装箱操作是数据由栈道堆,拆箱是数据由堆到栈。

    Object
    1.object对象类定义在java.lang包中,是所以类的顶级父类,在java体系中,所有类都直接或者间接的继承了object类,所以,任何java对象都可以调用object类中的方法,而且任何类型的对象都可以赋给object类型的变量。
    2.equals()方法:判断指定的对象和传入的对象是否相等。
    toString()方法:返回当前对象的字符串表示。
    “和equals()两者比较,前者比较的地址是否相对,即是否同一个对象,后者比较的是值是否相等
    toString()方法要输出对象的详细信息时,需要对toString()方法进行重写,否则会输出代表对象信息的表示字符串。 toString()方法没有参数,可直接返回值需要的信息内容。如,return this.name;
    两个引用类型的对象的比较是否相等有两种方式:
    a.“
    ”运算符表示的是两个对象的地址是否相同,即引用的是同一个对象。
    b.equals()方法通常用于比较两个对象的内容是否相同。

    public class test{
    public static void main (String args){

    int a=2;
    int b=2;
    System.out.println("ab:"+(ab)); //→输出结果是:true
    System.out.println("a.quals(b):"+(a.quals(b))); // →输出结果是:true

    Integer c=new Integer(2);
    Integer d=new Integer(2);
    System.out.println("cd:"+(cd)); // →输出结果是:false
    System.out.println("a.quals(b):"+(a.quals(b))); // →输出结果是:true
    }
    }

    • 字符串类
      1.String类(字符串常量)→subString是截取字符串的方法。length是字符串长度的方法。int compare(String s)是比较两个字符串的大小,相等返回0,不相等返回不相等字符编码值的差。
      2.StringBuffer类(字符串可以改变,线程安全)→append(String str)在字符串末尾追加一个字符串。char charAt(int index)返回指定下标的字符。intcapacity()表示返回字符串缓冲区容量。
      3.StringBuilder类(字符串可以改变,线程不安全,因此性能比 StringBuffer 好)
      要点:StringBuffer是线程同步的,StringBuilder是异步;对不经常变化的字符串使用String即可。经常变化、正在拼装的字符串不用String。若是全局变量,可能多线程引用,使用StringBuffer;若是局部变量,单线程使用,推荐StringBuilder。 (了解同步和异步就能理解他们的线程区别)

    • Scanner类
      Scanner类是用于接收用户的键盘输入,和对字符串的格式化处理。
      写法:Scanner s=new Scanner(System.in); String s1=s.next();

    • Math和Date类
      1.用作数学运算的类是Math。 Math.random();获取一个随机数
      2.用作日期处理的类是Date。示 例:Date dateNow=new Dtae();得到当前的日期

    第6章 数组

    Java 中定义数组的语法有两种:
    type arrayName[];
    type[] arrayName;
    type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。例如:

    1. int demoArray[];
    2. int[] demoArray;
      这两种形式没有区别,使用效果完全一样,读者可根据自己的编程习惯选择。

    与C、C++不同,Java在定义数组时并不为数组元素分配内存,因此[ ]中无需指定数组元素的个数,即数组长度。而且对于如上定义的一个数组是不能访问它的任何元素的,我们必须要为它分配内存空间,这时要用到运算符new,其格式如下:
    arrayName=new type[arraySize];
    其中,arraySize 为数组的长度,type 为数组的类型。如:

    1. demoArray=new int[3];
      为一个整型数组分配3个int 型整数所占据的内存空间。

    通常,你可以在定义的同时分配空间,语法为:
    type arrayName[] = new type[arraySize];

    • 数组的初始化
      你可以在声明数组的同时进行初始化(静态初始化),也可以在声明以后进行初始化(动态初始化)。
      数组引用
      可以通过下标来引用数组:
      arrayName[index];
      与C、C++不同,Java对数组元素要进行越界检查以保证安全性。

    每个数组都有一个length属性来指明它的长度,例如 intArray.length 指明数组 intArray 的长度。

    • 数组的遍历
      实际开发中,经常需要遍历数组以获取数组中的每一个元素。最容易想到的方法是for循环,例如:
    1. int arrayDemo[] = {1, 2, 4, 7, 9, 192, 100};
    2. for(int i=0,len=arrayDemo.length; i<len; i++){
    3. System.out.println(arrayDemo[i] + ", ");
    4. }
      输出结果:
      1, 2, 4, 7, 9, 192, 100,

    不过,Java提供了”增强版“的for循环,专门用来遍历数组,语法为:

    1. for( arrayType varName: arrayName ){
    2. // Some Code
    3. }
      arrayType 为数组类型(也是数组元素的类型);varName 是用来保存当前元素的变量,每次循环它的值都会改变;arrayName 为数组名称。

    每循环一次,就会获取数组中下一个元素的值,保存到 varName 变量,直到数组结束。即,第一次循环 varName 的值为第0个元素,第二次循环为第1个元素......例如:

    1. int arrayDemo[] = {1, 2, 4, 7, 9, 192, 100};
    2. for(int x: arrayDemo){
    3. System.out.println(x + ", ");
    4. }
      输出结果与上面相同。

    这种增强版的for循环也被称为”foreach循环“,它是普通for循环语句的特殊简化版。所有的foreach循环都可以被改写成for循环。

    但是,如果你希望使用数组的索引,那么增强版的 for 循环无法做到。

    • 二维数组
      二维数组的声明、初始化和引用与一维数组相似:
    1. int intArray[ ][ ] = { {1,2}, {2,3}, {4,5} };
    2. int a[ ][ ] = new int[2][3];
    3. a[0][0] = 12;
    4. a[0][1] = 34;
    5. // ......
    6. a[1][2] = 93;
      Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。例如:
    7. int intArray[ ][ ] = { {1,2}, {2,3}, {3,4,5} };
    8. int a[ ][ ] = new int[2][ ];
    9. a[0] = new int[3];
    10. a[1] = new int[5];

    第8章 错误处理

    • 捕获异常
      使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
      try/catch代码块中的代码称为保护代码,使用 try/catch 的语法如下:
      try
      {
      // 程序代码
      }catch(ExceptionName e1)
      {
      //Catch 块
      }
      Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
      如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
      throws/throw 关键字:
      如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。
      也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
      finally关键字
      finally 关键字用来创建在 try 代码块后面执行的代码块。
      无论是否发生异常,finally 代码块中的代码总会被执行。
      在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
      finally 代码块出现在 catch 代码块最后,语法如下:
      try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }finally{ // 程序代码 }

    第9章 操作数字

    将基本类型转换为一个包装类对象,这叫做装箱;而从一个包装类对象转换为基本类型,叫做拆箱。
    数字解析的目的是将一个字符串转换为一个数字基本类型。如果解析失败,例如,由于字符串不是一个数字或者一个超出了指定范围的数字,程序会抛出一个异常。
    数字格式化使得数字更有可读性。

  • 相关阅读:
    斐波那契数列
    旋转数组的最小数字
    用两个栈实现队列
    重建二叉树
    从尾到头打印链表
    2020/01/11,人活着是为了一口气
    2020/01/11,放肆和克制,敏感层次
    2020/01/11,记忆单元
    2020/01/11,经济基础决定高层建筑和个性
    git
  • 原文地址:https://www.cnblogs.com/23du/p/10545939.html
Copyright © 2011-2022 走看看