文章目录

  • 配置与删除Java环境
  • 1.安装Java环境(JDK)
  • 2.删除Java环境(JDK)
  • Java学习
  • 1. 数据类型
  • 基本数据类型(primitive type)
  • 1.整数类型
  • 2.浮点类型
  • 3.字符类型
  • boolean类型
  • 引用数据类型(reference type)
  • 2. 变量的作用域
  • 变量(variable)
  • 1. 默认值
  • 2.类变量(static)
  • 3.局部变量
  • 常量(constant)
  • 3. 运算符
  • 自增运算符
  • 逻辑运算符(&&,||,!)
  • 位运算符(&,|,^,~,>>,<<,>>>)
  • 条件运算符
  • 4. 包(package)
  • 5. Scanner
  • 基本语法
  • next();
  • nextLine();
  • 6.类和对象
  • 方法的调用
  • 1. 静态方法(static)
  • 2. 非静态方法
  • 封装
  • 1. 定义
  • 2. private
  • 继承(extends)
  • 1. object
  • 2. super
  • 3. @Override(重写)
  • *为什么需要重写
  • 多态
  • 1. 定义
  • 2. 总结
  • 3. 注意示项
  • 4. instanceof(类型转换)
  • 抽象类(abstract)
  • 1. 定义
  • 2. 注意
  • 接口(interface,implements)
  • 1.定义
  • 2. 总结
  • 7. Error和Exception
  • 异常处理机制
  • 五大关键词
  • 8. 来源


配置与删除Java环境

1.安装Java环境(JDK)

  1. JDK下载地址
  2. 安装(安装时记住安装的位置)
  3. 配置 JAVA_HOME 环境变量
  • 右键我的电脑–>属性–>高级系统设置–>环境变量–>新建

java 云笔记 总结 java笔记整理_父类

  1. 配置 path 环境变量
  • 右键我的电脑–>属性–>高级系统设置–>环境变量–>系统变量–>path–>新建

java 云笔记 总结 java笔记整理_java_02

  1. 测试JDK是否安装完成
  • 打开cmd或Windows PowerShell,输入java -version

2.删除Java环境(JDK)

  1. 删除Java的安装目录
  • 右键我的电脑–>属性–>高级系统设置–>环境变量–>
  1. 删除JAVA_HOME
  2. 删除path下关于Java的目录
  3. 查看是否删除干净
  • 打开cmd或Windows PowerShell,输入java -version

Java学习

1. 数据类型

java 云笔记 总结 java笔记整理_Java_03

基本数据类型(primitive type)

1.整数类型

  • byte
  • short
  • int
  • long

2.浮点类型

  • float
  • double

3.字符类型

  • char
  • String

boolean类型

引用数据类型(reference type)

  • 接口
  • 数组

2. 变量的作用域

变量(variable)

1. 默认值

  • 实例变量:从属于对象,如果无初始化值,默认为 0 或 0.0
  • 布尔值:默认值为false
  • 除了八大基本类型,其他的默认设置都为null

2.类变量(static)

  • 作用于整个类

3.局部变量

  • 必须声明和初始化值

常量(constant)

  • 初始化后不能再改变的值,不会变动的值
  • 常量名一般使用大写字符
  • final

3. 运算符

java 云笔记 总结 java笔记整理_java 云笔记 总结_04

自增运算符

① ++a(–a)和a++(a–)的不同

  • ++a(–a)
    eg: int b = ++a; //执行完这行代码后,先自增,再给b赋值;
  • a++(a–)
    eg: int a = a++; //执行完这行代码后,先给b赋值,再自增;

逻辑运算符(&&,||,!)

  • 短路运算

java 云笔记 总结 java笔记整理_java_05

[^]: 如果c<4是false 则后面的c++<4不会运行

位运算符(&,|,^,~,>>,<<,>>>)

^(异或):相同为零,其余为一

~(取反)

<<(左移):*2

eg:2<<3 ——> 2×2×2×2

>>(右移):/2

eg: 16>>3 ——> 16÷2÷2÷2

条件运算符

  • 三元运算符
    eg:x?y:z //如果x==true,则结果为y,否则结果为z

4. 包(package)

java 云笔记 总结 java笔记整理_Java_06


5. Scanner

基本语法

Scanner scanner = new Scanner(System.in);

next();

  • 一定要读取到有效字符后才可以结束
  • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  • next()不能得到带有空格的字符串

nextLine();

  • 以Enter为结束符,返回输入回车键之前的所有字符
  • 可以获得空白

6.类和对象

方法的调用

1. 静态方法(static)
  • 可直接调用其他类的方法
    Student.say();
2. 非静态方法
  • 需实例化这个类(new),才可调用方法
  • 对象类型 对象名 = new 对象值();
    Student student = new Student();

Student.say();


封装

java 云笔记 总结 java笔记整理_java 云笔记 总结_07

1. 定义
  • 提高程序的安全性
  • 隐藏代码的实现细节
  • 统一接口
  • 提高系统的可维护性
2. private

用private封装后,若想要调用封装后的属性值(name,sex,age),则需定义get/set方法

java 云笔记 总结 java笔记整理_java 云笔记 总结_08


继承(extends)

extend:单继承
接口:多继承

私有的东西无法被继承

1. object

java内部的类,所有的java类的基类

2. super
System.out.println(name);//主函数传进来的name
System.out.println(this.name);//当前类传进来的name
System.out.println(super.name);//基类(父类)传进来的name

eg:

java 云笔记 总结 java笔记整理_子类_09

3. @Override(重写)
  • 需要有继承关系,子类重写父类的方法
  • 静态方法(static)是类的方法,非静态方法是对象的方法

java 云笔记 总结 java笔记整理_java_10

[^]: 所以上述的b.test();由于是非静态方法重写,所以是对象的方法,最后输出为子类A的println

static,final,private的类型不能重写

*为什么需要重写
  • 父类的功能子类不一定需要,不一定满足子类

多态

1. 定义
  • 存在条件:继承关系,方法需要重写
  • 一个对象的实际类型是确定的,但是可以指向的引用类型不确定, 父类的引用可以指向子类
Student s1 = new Student();
Person s2 = new Student();
Object s3 = new Student();
  • 子类重写了父类的方法,就会执行子类的方法(前提是子类和父类都有同样的方法)
  • 如果父类没有子类的方法,则父类不能调用子类的方法
2. 总结
  • 子类:能调用自身的方法和继承的方法
  • 父类:可以指向子类,但是不能调用子类独有的方法
3. 注意示项

static,final,private的类型不能重写,无法实现多态

4. instanceof(类型转换)
  • 判断两个类是否有关系
System.out.println(A instanceof B);

抽象类(abstract)

1. 定义

约束,只有方法的名字,没有方法的内容,方法内容由子类来实现

2. 注意
  • 子类必须实现抽象类的所有abstract方法,除非继承它的子类也是抽象的d
public abstract class B{
	public abstract void test();
}

public class A extends B{		//子类必须实现抽象类的所有abstract方法
	@Override
	public void test(){
	}
}

public abstract class C extend B{		//子类C也是抽象类,则无需实现父类B的抽象方法,可由子子类实现
}
  • 抽象类不能new,只能靠子类去实现它

假设B类是抽象类,则new class B();

  • 若一个类里面有abstract方法,则这个类必须是抽象类,但抽象类里可以写普通的方法

接口(interface,implements)

1.定义
  • 接口中的所有定义的方法默认都是public abstract
  • 接口中所有定义的常量默认都是public static final
public class interface B{		//接口类
	void test(String name);
}

public class interface C{		//接口类
	void test(int age);
}

public class A implements B{		//A类去实现接口类B
	@Override
	public void test(String name){
	}
}

public class A implements B,C{		//多继承,A继承B和C
	@Overrride
	public void test(String name){
	}
	public void test(int age){
	}
}
2. 总结
  • 约束
  • 定义一些方法,让别人去实现
  • public abstract
  • public static final
  • 接口不能被实例化(不能new),因为接口中没有构造方法
  • 接口可以实现多个
  • 必须重写接口中的方法

7. Error和Exception

java 云笔记 总结 java笔记整理_java_11

异常处理机制
五大关键词
  • try,catch,finally,throw,throws
  1. try监控区域
  2. catch(想要捕获的异常类型)
  • 可以用多个catch去捕获异常,但需要从小到大去捕获 // Throwable>Exception=Error>…
[^]: 异常结构体系
  1. finally处理善后工作
public class Learn {
     public static void main(String[] args) {
        int a = 1;
        int b = 0;
        int c = 0;
        try{  //try监控区域
          System.out.println(a / b);
        }catch(ArithmeticException e){    //catch捕获异常
          System.out.println("程序出现异常,变量b不能为0");
        }finally{   //处理善后工作
          System.out.println("finally");
        }
  }
}
  1. throw、throws主动抛出异常
public class Learn {
     public static void main(String[] args) {
      	int a = 1;
        int b = 0;
        int c = 0;
		try{	//try监控区域
        	if(c == 0){
        		throw new ArithmeticException();	//throw(方法里)主动抛出异常
        	}
        }
	}   
	public void test() throws ArithmeticException{		//throws(方法上)主动抛出异常
		if(c == 0){
			throw new ArithmeticException();
		}
	}
}