JavaSE基础复习-1

一、 Java简介

Java是一种面向对象的语言,没有指针,内存的申请与释放。

Java核心机制:Java虚拟机,垃圾搜集机制。

Java虚拟机:不同的操作系统下,提供不同的运行机制,以实现一次编译,随处运行。

垃圾搜集机制:程序员无需负责无用内存的回收,垃圾收集机制会在JVM空闲时,检查并释放无用内存。

Java分为jdk和jre。

一个java文件中只能有一个public类,其他不限。源文件名必须与public类名相同。

Java主程序入口为固定格式:public static void main(String args[]) {}    //args为javac时输入参数

二、Java环境配置

下载安装jdk。
在系统--高级系统设置--高级--环境变量中设置

1.path:jdk的bin目录
2.classpath:.(根目录);jdk的lib目录下的dt.jar;jdk的lib目录下的tool.jar

运行cmd,执行Java,若有结果,则显示正确。

三、Java基础语法

1、Java标识符

由字母,下划线,美元符,数字组成
不能用数字开头
大小写敏感
不能与关键字重复

2、Java常量

整形、实型、字符、逻辑、字符常量

3、Java变量

内存分配:
heap(堆):存放new出来的东西
stack(栈):存放变量名
data segment:静态变量,字符串常量
code segment:存放代码

分类:
局部变量:方法内的变量
成员变量:方法外,类内部的变量(类外不能声明变量)
基本数据类型:数值型(整数、浮点)、字符型、布尔型
引用数据类型:类,接口,数组

类型占用存储空间表数范围
Boolean true/false
char2字节(Unicode 编码)字符
byte1字节-128~127
short2字节-2^15~2^15-1
int4字节-2^31~2^31-1
long8字节-2^63~2^63-1
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308


boolean不能转换为其他数据类型,整形,字符,浮点可以相互转换。

byte,short,char->int->long->float->double

4、Java运算符

位运算符:&(与),|(或),^(异或),~(非),>>(算术右移),<<(算数左移),>>>(无符号右移)

三目运算符:x?y:z

5、Java方法

Java方法传递参数时,遵循值传递的原则:
基本数据类型传递的是该数据值本身;引用数据类型传递的是对对象的引用,而不是对象本身。
递归调用:在方法执行的过程中出现该方法本身的调用。

6、Java对象

在定义初始变量时,若不对其进行初始化,则Java默认对其进行初始化。
构造方法:
一个用来初始化对象的方法。
与类名相同且没有返回值。
若未指定构造函数,则默认添加  类名() {}的构造函数。
子类的构造方法:
必须调用基类构造方法;
可以使用super(参数)调用基类构造方法(必须第一行),可以使用this(参数)调用本类中另外的构造方法
若子类未显示调用父类构造方法,则调用父类无参构造方法
若父类没有无参构造方法,则编译出错。
命名规则:
类名的首字母大写
变量名和方法名的首字母小写
运用驼峰标识
方法的重载:方法名相同,但参数不同
方法的重写:有相同的方法名、参数列表、返回类型、不能有比被重写方法更严格的访问权限
this:当前对象的引用
super:父类引用
static:声明为静态成员变量(静态方法不能访问非静态变量,静态方法不再是针对某个对象的调用)
package:打包类
import:引入包
类的继承:使用extends,只支持单继承
访问控制:
修饰符类内部同一包子类任何
privateyes   
defaultyesyes  
protectyesyesyes 
publicyesyesyesyes
class只能用public和default
object类:所有Java类的基类,默认extendsobject类
toString:可重写
equals:可重写
instanceof:判断前类是否是后类的子类
动态绑定和多态:
要有继承
要有重写
父类引用指向子类对象
抽象类:
用abstract关键字来修饰一个类
含有抽象方法的类必须被声明为抽象类,抽象方法必须被重写
抽象类不能被实例化
抽象方法只需声明,而不需实现。
final:
final的变量不能被改变
final的方法不能被重写
final的类不能被继承
接口:抽象方法和常量值得定义的集合(一种特殊的抽象类)
特性:
多个类可以实现一个接口
一个类可以实现多个接口
存在多态
属性是public static final
方法是public
可以继承其他接口

四、Java异常处理

分类:
error:错误,程序不能处理
exception:需要用户声明或捕获
runtime exception:由系统检测并将它们交给缺省的异常处理程序。
try {
} catch(exception e) {
} finally {
}
自定义异常:
class MyException extends Exception {
	private int id;
	public MyException(String message,int id) {
		super(message);
		this.id = id;
	}
	public int getId() {
		return id;
	}
}

声明并抛出异常:
 
 
public class Test {
	public void register(int num) throws MyException {
		if(num < 0) {
			throw new MyException("aaa",1);
		}
	}
	public static void main(String[] args) {
		try {
			register(100);
		} catch(MyException e) {
			e.printStackerTrace();
		}
		System.out.println("操作结束");
	}
}

 注:重写方法需要抛出与原方法抛出异常类型一致或不抛异常。 
 

五、数组

一维数组的声明方式:int a1[] 或 int[] a1 = new int[5];
数组长度:a1.length
二维数组:
int a[][] = {{1,2},{1,2,3}};
int a[][] = new int[2][];
a[0] = new int[3];
a[1] = new int[2];
数组复制:
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值