zoukankan      html  css  js  c++  java
  • java重要知识总结一

    1. 配置PATH的作用?

      因为在jdkbin文件夹中有很多我们在开发中要使用的工具,如java.exe,javac.exe,jar.ex,那么我们在使用时,想要在电脑的任意位置下使用这些java开发工具,那么我们就需有把这些工具所在的路径配置到系统的环境变量中,当我们使用时,系统可以帮且我们找到这些命令。

    1. java的基本数据类型分为四型八种,分别指那些?我们选择数据类型的时候按照那种原则选用?

    基本数据类型:

         整型 int byte, long,short ,  -128 ~ 127

    浮点型:float double

    字符型:char

    布尔值型:boolean 

    节省内存空间的原则

    1. 定义一个函数接收一个分数,然后判断并输出录入的分数对应的等级。100-90 A级, 89-80 B级,79-70 C级 以此类推,一直到E级。

    4. 定义一个程序。计算1-100奇数的总和,要求使用上continue关键字

          public class Demo4 {

    /**

     * @param args

     */

    public static void main(String[] args) {

    // TODO Auto-generated method stub

          /*

           * 定义一个程序。计算1-100奇数的总和,要求使用上continue关键字。

           */

    //continue;   // 跳出本次循环 ,循环没有结束的 ,直接进入下一次循环

    //break : 直接结束循环。

    int sum = 0;

    for(int i = 1 ; i<=100 ;i++){

    if(i %2 == 0)

      continue;

     sum+=i;

    }

    System.out.println(sum);

     }

    }

    5. 定义一个函数接收一个数组对象,找出数组中的最大、最小值相加,把总和返回给调用者。

       public class Demo5 {

    public static void main(String[] args) {

    /*

     * 定义一个函数接收一个数组对象,找出数组中的最大、最小值相加,把总和返回给调用者。

     */

    int[] arr = {3,5,2,6,9};

    int sum = getSum(arr);

    System.out.println(sum);

    }

    public static int getSum(int[] arr){

    int min = arr[0];

    int max = arr[0];

    for(int i = 0;i < arr.length ;i++){

    //找最大值

    if(max < arr[i]){

    max = arr[i];

    }

    //找最小值

    if(min > arr[i]){

    min = arr[i];

    }

    }

    return max + min;

    }

    }

    6. 自定义一个数组,使用冒泡排序思想对数组的元素进行排序。

         

    7.简单的描述面向对象的三大特征。

     1..继承:

    继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

    2.封装:

    封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

    3. 多态性:

    多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

    8. .抽象类和接口的区别

       明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基

    本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而

    可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象

    静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代

    之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

      接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的

    接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量

    。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即

    将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

    由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类

    型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

    9.定义一个单例

        第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类

    初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

    public class Singleton {

      private Singleton(){}

      //在自己内部定义自己一个实例,是不是很奇怪?

      //注意这是private 只供内部调用

      private static Singleton instance = new Singleton();

      //这里提供了一个供外部访问本class的静态方法,可以直接访问  

      public static Singleton getInstance() {

        return instance;   

       }

    }

      第二种形式:

    public class Singleton {

      private static Singleton instance = null;

      public static synchronized Singleton getInstance() {

      //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     

      //使用时生成实例,提高了效率!

      if (instance==null)

        instance=new Singleton();

    return instance;   }

    }

    10.Error与Exception有什么区别?

      Error表示系统级的错误和程序不必处理的异常,

      Exception表示需要捕捉或者需要程序进行处理的异常。 

    11. java中一个类被声明为final类型,表示了什么意思?

      表示该类不能被继承,是顶级类,最终类

    12.java中常量的定义方式

      Public static final 变量名 = 值

    13. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

       short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为

    s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

    14.abstract class和interface有什么区别?

       明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基

    本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而

    可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象

    静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代

    之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

      接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的

    接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量

    。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即

    将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

    由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类

    型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

    15.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后

       会执行,在return前执行。

    16. 编程题: 用最有效率的方法算出2乘以8等於几?

         2<<3   

    17 .重写和重载的区别在于

       方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类

    之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其

    父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子

    类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们

    或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以

    改变返回值的类型。

    18.用代码实现一个内部类的访问

    class Outer

    {

            

            //内部类

            class Inner

            {

                public void print(){

                

                  System.out.println("这个是局部内部类的方法");

                }

            }

        

    }

    class Demo7

    {

        public static void main(String[] args) {

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

           inner.print();

          

        }

    }

        

    19.构造方法和普通方法的区别

       构造方法是没有返回值的,方法名一定是类名,不能被对象调用,只会在创建对象时执行一次。

    20.编成题:金额转换,阿拉伯数字的金额转换成中国传统的形式如:

    (¥1011)->(一千零一拾一元整)输出。

    附件题目

    1.目前有数组” int[] arr =  {11,2, 4, 2, 10, 11}定义一个函数清除该数组的重复元素,返回的数组不准浪费长度。

    public class Demo21 {

    /**

     * @param

     *  1.目前有数组” int[] arr =  {11,2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回的数组不准浪费长度。

     */

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    int[] arr =  {11,2, 4, 2, 10, 11};

    //1.计算重复的个数

    int count = 0 ;//记录重复的个数

    for(int i= 0; i < arr.length -1;i++){

    for(int j = i+ 1 ; j<arr.length;j++){

    if(arr[i] == arr[j]){

    count++;

    break; // 防止重复计数

    }

    }

    }

    //System.out.println(count);

    //2.创建一个新的数组,将旧的值赋值给新数组。

    int[] newArr = new int[arr.length - count];

    int index = 0;

    for(int i = 0;i < arr.length ;i++){

    //定义一个变量来判断是否是重复的值

    boolean flge = false;

    //将新数组中的元素和旧数组中的元素做对比,如果俩个值相等部赋值 ,不等才赋值。

    //11,2, 4, 2, 10, 11

    for(int j = 0 ; j < newArr.length ; j++){

    if(newArr[j] == arr[i]){

    //不赋值

    flge = true;

    break;

    }

    }

    if(flge == false){

     //不重复才赋值

    //赋值

    newArr[index++] = arr[i];

    }

    }

    for(int a:newArr){ // 增强for循环

    System.out.println(a);

    }

    }

    }

  • 相关阅读:
    selenuim
    selenium
    selenium
    selenium
    【OSG】 报错:丢失osg100-osgDB.dll
    无法启动此程序,因为计算机中丢失 zlibd.dll【OSG】
    无法打开mfc120.lib
    jquery中的$("#id")与document.getElementById("id")的区别
    arcgis api for javascript 各个版本的SDK下载
    ajax与servlet交互(通过JSON),JAVA的arraylist传到前端的方法
  • 原文地址:https://www.cnblogs.com/binzhihua-666/p/6101262.html
Copyright © 2011-2022 走看看