注:对应问题见上篇博客。


文章目录

  • 一、Java基本语法元素:
  • 二、Java基本控制结构:
  • 三、Java面向对象程序设计:
  • 四、数组和字符串:
  • 五、异常处理:
  • 六、Java IO流:
  • 七、图形用户界面 GUI:
  • 八、Java多线程:



一、Java基本语法元素:

  1. 标识符是由字母、下划线(_)、美元符号($)和数字组成的字符串,首字母不能是数字。
    关键字不能作为标识符;布尔常量true和false不能作为标识符;null不能作为标识符。
  2. Java语言关键字
  3. java中什么是最基本的单元 java的最基本元素_多态

  4. Java语言的注释:
    (1)单行注释 “//”
    (2)多行注释 “/* … /”
    (3)文档注释 “/
    *… */” 文档注释属于多行注释.
  5. Java数据类型及范围:
  6. java中什么是最基本的单元 java的最基本元素_字符串_02

  7. 包装类用途:
    (1)作为基本数据类型对应的类,方便设计对象的操作。
    (2)包含基本类型的相关属性以及相关的操作方法。

基本类型

包装类名

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

boolean

Boolean

(类的首字母大写)

  1. Java中常量:
    (1)整数常量
    (2)浮点常量
    (3)布尔常量(true和false)
    (4)字符常量
    注:简单字符常量是由一对单引号括起来的字符,但不能是(‘)和 ()。单引号和反斜杠需要用转义字符表示,分别为’\’’和’\ ’。
    (5)字符串常量
    (6)null常量
    Java中变量:
    (1)类变量
    (2)实例变量:不使用static修饰的类变量
    (3)阵列组件
    (4)形参
    (5)局部变量
  2. Java运算符:关系运算符、算数运算符、逻辑运算符、赋值运算符
  3. 强制类型转换:从高精度向低精度转换(可能会出现精度损失)如:int a = (int)(5.0/3).
    自动类型转换:从低范围到高范围转换,如double a = 1. (int范围小于double)

二、Java基本控制结构:

  1. 三种控制结构:顺序结构,分支结构,循环结构
  2. if-else语句、switch语句、while语句、do-while语句、for循环语句
    for-each语句:
For(变量类型 变量名:数组/容器)
{
循环体语句;
}
  1. switch语句中的控制表达式必须是char、int、short、byte类型的。
    注:在switch(expression)中,expression只能是一个整数表达式或者枚举常量,整数表达式可以是int类型或Integer包装类型。由于byte,short,char都可以隐式转换为int类型,所以,这些类型也可以用作表达式。

三、Java面向对象程序设计:

  1. 类的定义和使用
(修饰符) class 类名 (extends 父类) (implements A,B...){
//类主体
}
  1. 如何创建和使用对象:使用new关键字 类名 对象名 = new 类名();
  2. 什么是方法的重载?
  3. java中什么是最基本的单元 java的最基本元素_多态_03

  4. 如果同一个类中包含了两个或两个以上方法名相同,方法参数的个数、 顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
    只改变参数,其他不变。
  5. This 关键字用于指代本类对象
    Super 用于指代父类对象
    A:在类中的位置不同
    成员变量:在类中方法外
    局部变量:在方法定义中或者方法声明上
    B:在内存中的位置不同
    成员变量:在堆内存
    局部变量:在栈内存
    C:生命周期不同
    成员变量:随着对象的创建而存在,随着对象的消失而消失
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
    D:初始化值不同
    成员变量:有默认初始化值
    局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
    若局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
  6. 封装:将实体特征的属性隐藏起来,对象与外界仅通过公共方法交流,这样可以提高程序的可靠性、安全性、改善程序的可维护性。
  7. 继承的实现:extends关键字
  8. 本质上多态分为:
    (1)运行期多态(动态多态)
    (2)编译期多态(静态多态)
    方法的重载(overload)是编译时多态
    运行期多态:继承或父类引用指向子类对象
    多态:Father c = new Child()
    编译看左,运行看右:c可以访问子类重写父类的方法,c不可以访问子类的特有方法,c可以访问父类中的成员变量。
  9. 四种访问控制符及权限:
  10. java中什么是最基本的单元 java的最基本元素_Java_04

  11. 使用abstract关键字定义抽象类
  12. 对象类型转换:
  13. java中什么是最基本的单元 java的最基本元素_java中什么是最基本的单元_05

  14. 向下转型
    向上转型:多态
  15. Static修饰的类变量和类方法可直接通过类名访问,(JVM加载时生成)且各对象的同一类变量和类方法享有同一内存空间。
    Static修饰的类变量和类方法不可访问非静态的成员变量和成员方法
  16. 被Final修饰的是不可变的。
    对于不可变的理解:
    对于基本类型来说:不可变说的是数据不可改变
    对于引用类型来说:不可变说的是地址值不可改变,内容是可以发生变化的。
  17. 如何定义和导入包
  18. 接口的定义和使用:
定义:public(或默认) interface 接口名 (extends 父类接口列表)

java中什么是最基本的单元 java的最基本元素_Java_06

  1. 内部类、匿名类的定义
  2. 泛型

四、数组和字符串:

  1. 定义数组:
    动态定义: int[] a = new int[数组长度];
    静态定义: int[] a = new int[]{元素1,元素2,元素3…};
    静态定义的省略: int[] a = {元素1,元素2,元素3…};
  2. 数组的length属性,是成员变量
  3. 多维数组的定义和初始化
    二维:
    动态定义: int[][] a = new int[数组行数][数组列数];
    也可以只定义行数: int score[][] = new int[数组的行数][];
    score[0] = new int[数组长度];
    score[1] = new int[数组长度];
    score[2] = new int[数组长度];
  4. 字符串的两种创建方法:
    (1)使用字符串构造方法:
    (2)使用赋值语句.
    String s = “Hello World!!”;
  5. String类的主要方法:
1)获得字符串的长度:public int length();
 2)截取一个字符:public char charAt(int index);
 3)获得子串:public String substring(int beginIndex);
           public String substring(int beginIndex,intendIndex);
 4)字符串相等比较:public boolean equals(String s);
 5)字符串连接:public String concat(String s);
 6)字符串内容比较:public int conpareTo(String s);    
 	——>逐字符比较,全相同返回0,不同返回差值(有正负).
 7)字符串检索:public int indexOf(char ch);
 			 public int indexOf(char ch,int beginIndex);
 		     public int indexOf(String s);
 			 public int indexOf(String s,int beginIndex);
 8)字符串与字符数组的相互转换:copyValueOf
 9)去掉起始和结尾的空格:trim
 10)字符串替换:replace
 11)字符串大小写替换:toLowerCase/toUpperCase
 12)将其他数据类型转换为字符串:ValueOf
 13)字符串分割:split

五、异常处理:

  1. 异常:程序在运行过程中产生的不正常情况。
  2. Java处理异常的两种方式:
    (1)throw关键字
    使用throw关键字可以在指定的方法中抛出指定的异常。
    使用格式:throw new xxxException(“异常产生的原因”);
    (2)try-catch-finally
  3. thorw和throws关键字。
    Thorws:异常处理的一种方式,抛出异常,让别人处理。

六、Java IO流:

  1. 什么是流的读和写?
    读:输入
    写:输出
    流式输入/输出(流式I/O)是一种顺序存取方式。
  2. 字节流和字符流的区别?
    字节流:面向字节的流,以8位1字节单位进行读写,是抽象类InputStream和OutputStream的子类。通常用于处理图像和声音。
    字符流:是面向字符的流,以16位字符为单位进行读写。是抽象类Reader和Writer的子类。通常用于字符数据的处理。
    区别:传输大小不同。
  3. 节点流和处理流如何区分?
    通过参数区分。

七、图形用户界面 GUI:

组件、容器、事件构成了图形用户界面的三大要素。

Java图形用户界面程序主要组成元素是组件。

  1. 容器:
    容器是用来容纳其他组件和容器的特殊组件,是由容器类(Container类)创建的对象。在Java语言中,容器类是组件类(Componnent)的一个子类,具有组件的所有性质。
分类:
 (1)顶层容器:JFrame(最常用),JApplet,Jwindow,JDialog.
 (2)中间容器:JPanel,JScrollPane,JsplitPane,JDeskopPane,JToolBal.
 (3)特殊容器:在GUI上其特殊作用的中间层,如JInterNalFrame.

除了顶层容器外,其他组件是不能独立显示的,必须放在(add()方法)一定容器中才能显示出来。(add()方法是向容器中添加组件的唯一途径).

JFrame类设置窗体常用的方法:
 (1)setTitle(String title);
 (2)setBounds(int x,int y,int width,int height);
    //设置窗体显示的位置(x,y)及大小
 (3)setVisable(Boolean b);
    //默认使用JFrame类创建的窗体是不可见的,该方法可使窗体可见
 (4)setDefaultCloseOperaton(int operation);   
   //设置关闭按钮的动作,参数为JFrame提供的四个静态常量
 (5)添加操作:若添加AWT组件,则使用add()方法;但Swing组件不能直接添加到顶层容器中(低版本JDK)。
  1. 面板:为了更好的管理组件
    P175 实现
  2. 布局
    (1)不使用布局管理器:
    (2)边界布局:由BorderLayout类实现
    (3)顺序布局:由FlowLayout类实现
    (4)网格布局:由GridLayout类实现
    (5)卡片布局:由CardLayout类实现
  3. 事件处理
    事件处理过程主要涉及: 1.事件源 2.时间 3.事件处理者
    事件源是事件发生的场所,通常是各个组件,如被单机的按钮;
    事件是用户对界面的操作,如操作键盘时出发的键盘事件;
    事件处理者则是对收到的事件进行处理的程序,也称为监听器。

八、Java多线程:

  1. 进程与线程:一个进程可以包含多个线程。
  2. 实现线程的两种方法:
    (1)继承Thread类,重写run()方法,创建Thread子类对象,调用start()方法。
    (2)实现Runnable接口,重写run()方法,创建Thread类对象,参数为实现接口: Thread th = new Thread(实现类对象);调用start()方法。
  3. 线程的状态:
    (1)新建
    (2)就绪
    (3)运行
    (4)阻塞
    (5)死亡
    生命周期:
  4. java中什么是最基本的单元 java的最基本元素_Java_07

  5. 线程类的主要方法:
Sleep方法:休眠 
yield方法:暂停 (静态方法)
join方法:合并
destory方法:销毁
interrupt方法:中断。一个线程运行使,另一个线程可以调用对应的Thread对象				  的interrupt方法中断它。
wait方法:使线程进入等待状态,直至被另一个线程唤醒。

注:sleep()调用会给较低优先级的线程一个运行机会,而yield()方法指挥给相同优 先级线程一个执行机会。

  1. 线程的同步:(为了避免同一个数据对象被多个线程同时访问)