java_基础_杂

1、从键盘上输入一个数并赋值给变量方法

//代码1
//需引入util包
import java.util.Scanner;
public class Text
{
    public static void main(String []args)
    {
        Scanner myscanner=new Scanner(System.in);
        int a=myscanner.nextInt();
    }
}

2、父类与子类构造方法的继承问题

子类一定会继承父类的构造方法
当父类构造函数带有参数时

//代码2
public class shiyan {

    public static void main(String [] args)
    {
        B b=new B();
    }

}
class A {
    public A()
    {
        System.out.println("===");
    }
}
class B extends A {
}

此时运行程序会输出“===”;
当父类的构造方法有参数时

//代码3
public class shiyan {
    public static void main(String [] args)
    {
        B b=new B(15);
    }
}
class A {
    public A(int c)
    {
        System.out.println(c);
    }
}
class B extends A {
    public B(int c) {
        super(c);
    }
}

此时运行会输出15,所以子类一定会调用父类的构造方法,若父类的构造方法没有参数,则不必再子类中再写一遍;若有参数,则要用super来调用父类的构造函数,例如代码3;
注:子类可以在构造方法中添加自己的代码,父类及其他子类不会调用。

//代码5
public class shiyan {
    public static void main(String [] args)
    {
        B b=new B(15);
        A a=new A(13);
    }
}
class A {
    public A(int c)
    {
        System.out.println(c);
    }
}
class B extends A {
    public B(int c) {
        super(c);
        System.out.println("**");
    }
}

输出结果为:
15
**
13

3、数组

1)定义一个一维数组

数据类型 数组名[] = new 数据类型[大小]

2)查看数组的大小

数组名.length   //为一个int型数据

3)建立一个对象数组,创建方法同上,但数组成员全部都指向了一个空指针,没有指向一块内存,需要重新new一个

类名 数组名[]=new 类名[大小]for(int i=0;i<数组名.length;i++)
{ 数组名[i]=new 类名(); }

4)定义一个二维数组

类型 数组名[][]=new 类型[size][size]

4、java主要的集合类

1)、List结构的集合类
ArrayList类
LinkedList类
Vector类
Stack类
2)、Map结构的集合类
Hashmap类
Hashtable类
3)、Set结构的类
Hashset类
TreeSet类
4)、Queue结构的类
Queue接口

5、同步性与异步性

同步性是指当有多个线程(进程)访问某个数据时,会将该数据“锁”起来,仅仅供该线程(进程)访问,当其他进程要访问时,会将他们加入到一个队列中,按照次序访问。但这会使系统一次一次的检查队列是否有数据,会影响执行效率。

6、各类java集合类的区别

先说List, Set和Map接口。其中,List和Set是继承自Collection接口,而Map则不是。List可以说是一个动态数组,与Array不同的就是长度可以改变,允许有重复值。而Set与List有相似之处,最大的不同就是Set里面不允许有重复值。他们都可以存放Object对象,也就是说,如果想存放基本数据类型的值的话,必须使用它们的包装类。Map没有继承Collection接口,它里面存放的是键/值对,不允许有重复的键,但是允许有重复的值。
然后是几个常用的集合类,这些类都各自实现了上面三个接口的方法,例如,ArrayList和LinkedList实现了List接口;HashSet,LinkedHashSet和TreeSet实现了Set接口;而HashMap,LinkedHashMap和TreeMap实现了Map接口。
ArrayList是比较常用的一个类了。当成一个长度可以改变的数组来用。这是一个按照元素下标来排序的。而LinkedList与ArrayList相似,也是按照下标排序。不同的是元素彼此之间有联系。检索速度比ArrayList慢,但是说到添加或删除元素的话表现要比ArrayList好。
HashSet是一个not ordered和not sorted的集合类,利用对象的hash code。注意,再使用iterator遍历HashSet中的元素时经常会得到没有固定顺序的结果。LinkedHashSet则是一个ordered的HashSet,排序是按照元素的插入顺序,也可以是按照最后访问的顺序,其余则与HashSet相似。而TreeSet则是一个sorted的集合类,按照元素的自然顺序排序,例如插入的String对象就按照字母升序排列。可以通过对象类实现Comparator接口来改变这个自然顺序。
HashMap是一个not ordered和not sorted的集合类,以键/值对存放对象。LinkedHashMap则是ordered的HashMap,按照元素插入顺序排序。添加和删除元素方面比HashMap要慢,但是遍历则比它快。TreeMap则是另一个sorted的集合类,允许你写自己的comparison rule来改变自然顺序。

7、GUI编程

1)将多行文本框(JTextArea)放入滑动窗格组件(JScrollPane)中可以在文本框旁边放置一个滚动条
2)Jpanel组件与JButton组件都可以放入图片

你可能感兴趣的:(java)