首页 > 代码库 > JavaSE基础知识

JavaSE基础知识

一:语法基础

java的特点:简单性,面向对象,分布式,安全性,可移植性,高性能,支持多线程

关键字:

  数据类型:boolean,byte(1), short(2),char(2),float(4), int(4),double(8), long(8)

  类与接口的声明:class,extends,implements,interface

  流程控制:if.else,switch,do,while,case,break,continue,return,default,for

  异常处理:try,catch,finally,throw,throws,

  修饰符:static(无论创建多少对象,程序中仅有一个)abstract,final,private,public,protected,transient,volatile

  其他:new,instanceof,this,super,void,assert,enum

运算符:

        a++是后自增;++a是先自增;

标识符:

        Java合法标识符与c有一点区别,Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成,而且还要求首位不能是数字

 

二:类与对象

构造方法:在具有继承关系的类中,一定是先调用父类的构造方法,再调用子类的构造方法

普通方法

   静态方法:

   抽象方法:

         方法的重写:

重载:

this引用:不能在main()中使用

super关键字:调用父类的构造方法,不能在main()中使用

抽象类和接口:

            1:含有抽象方法的类必须声明为抽象类   2抽象类中不是所有的方法都是抽象方法   3 抽象类的子类必须实现父类所有的抽象方法才能实例化   4 抽象类不能实例化

            1:实现接口必须实现接口的所有方法

            区别:如果一个抽下该类中所有方法都是抽象的,而且抽象类中的数据成员都是final的常量,那么这个抽象类就是一个接口,

                    接口中的所有方法都是抽象的,而抽象类可以定义带有方法体的普通方法;接口中的方法默认是public abstract的,而成员变量默认是public static常量。

 1 //接口,全部都是抽象方法
 2 public interface A(){
 3     int i=1;//等价于public static fianl int i = 1;
 4     public void strat();//等价于public abstract void strat();
 5     public void stop();//等价于public abstract void stop();
 6 }
 7 //抽象类,并不是所有方法都是抽象方法
 8 public abstract B(){
 9      public void strat(){
10              system.out.println("这是抽象类的一个方法");
11      }
12      abstract void run();
13 }

 

 

三:JAVA常用类

Object类:

  equals()方法:判断两个引用是否指向同一个对象,而“==”用来比较两个对象是否相等,这两个对象可以是基本类型,也可以是引用类型  返回true或false

  hashCode()方法:返回对象的散列码值

  toString()方法:

包装类:

正则表达式:

四:JAVA语言新特性

枚举:enum

注解:(一个好的程序员一定要会自己写注解)

lamdba表达式:

五:容器与泛型

容器(此部分与数据结构关系密切,不做过多解释)

List list = new ArrayList();//???反过来可以吗?

技术分享

泛型:

六:异常处理

 

七:IO流

借用这张图片,更好理解

技术分享

      1:如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
      2:输入输出对控制台而言,每一个流(字节FileInputStream,FileOutputStream,字符FileReader,FileWriter)对应一个文件
      3:操作时一般常用链接流多次对2中的流进行包装
            字节流包装缓冲流:BufferInputStream,BufferOutputStream
            字符流包装缓冲流:BufferReader,BufferWriter
      4:转换流:
        通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联 在实际开发中出现的汉字问题实际上都是在字符 流和字节流之间转化不统一而造成的.

八:多线程

创建线程有两种方式:

  继承Thread类:用户的线程类只须继承Thread类并重写其run()方法即可,通过调用用户线程类的start()方法即可启动用户线程

 1 class MyThread extends Thread{
 2   public void run(){
 3       
 4   }
 5 }
 6 
 7 public class TestThread{
 8   public static void main(String[] args){
 9       MyThread thread = new MyThread();//创建用户线程对象
10       thread.start();//启动用户线程
11       thread.run();//主线程调用用户线程对象的run()方法
12   }
13 }

 

  实现Runnable接口:当使用Thread(Runnable thread)方式创建线程对象时,须为该方法传递一个实现了Runnable接口的对象,这样创建的线程将调用实现Runnable接口的对象的run()方法

  

 1 public class TestThread{
 2   public static void main(String[] args){
 3       Mythread mt = new Mythread();
 4       Thread t = new Thread(mt);//创建用户线程
 5        t.start();//启动用户线程 
 6   }
 7 }
 8 class Mythread implements Runnable{
 9     public void run(){
10       
11     }
12 }

 

九:AWT与Swing组件

常用组件:JButton(按钮),JTextField(文本框),JCheckBox(复选框),JRadioButton(单选按钮 ButtonGround.add(JRB)~~~),JList(l列表框)

菜单组件:JMenuBar(菜单条),JPopupMenu(弹出式菜单),JTabbedPane(页签面板),JToolBar(工具栏)

数据管理组件:JTable(表格),JTree(树状视图)

其他:

常见基本操作题:

求最小公倍数与最大公约数

 1 public class CommonMultiply{
 2 
 3      public static void main(String[] args){
 4           
 5            Scanner input = new Scanner(System.in);
 6            int m,n,r,gcd,lcm=0;
 7            m=input.nextInt();
 8            n=input.nextInt();
 9            lcm=m*n;
10            while((r=m%n)!=0){
11                  m=n;
12                  n=r;
13            }
14            gcd = n;
15            lcm=lcm/gcd;
16            System.out.println("最大公约数:"+gcd);
17            System.out.println("最小公倍数:"+lcm);
18            
19     }
20 }

 

JavaSE基础知识