用户交互:Scanner(用户输入)
import java.util.Scanner; Scanner s = new Scanner(System.in); int a = s.nextInt(); // nextInt()用户获取用户输入的整型数据
方法 | 描述 |
---|---|
next() | 从键盘接收字符串类型数据 |
nextInt() | 从键盘中接收int类型数据 |
nextLong() | 从键盘中接收long类型数据 |
nextFloat() | 从键盘中接收float类型数据 |
nextDouble() | 从键盘中接收double类型数据 |
nextBoolean() | 从键盘接收布尔类型数据 |
增强for循环与switch分支结构
switch(变量或表达式){ case 值 -> System.out.println(); case 值 -> System.out.println(); case 值 -> System.out.println(); } // 增强for循环一般用于遍历数组 int[] a = {1,2,3,4,5,6,7,8}; for(int x:a){ System.out.println(x); }
一维数组与二维数组
int[] a = {1,2,3}; int[][] b = {{1,2,3},{4,5,6}};
Arrays类(一个工具类、专门对于对数组进行操作)
// 如果直接把一个数组输出不会得到他的结果,需要使用Arrays工具类 import java.util.Arrays; int[] a = {1, 2, 3, 4, 5, 6, 76, 7, 8, 98}; System.out.print(Arrays.toString(a)) // 排序 Arrays.sort();
稀疏数组(当一个数组大部分值位0或者为一个固定值的时候,通过计算一个二维数组中特殊值的个数来表示这个二维数组)
private | default | protected | public | |
---|---|---|---|---|
同一个类(文件)中 | OK | OK | OK | OK |
同一个包下 | OK | OK | OK | |
子类中 | OK | OK | ||
同一个项目下 | OK |
封装
继承(extends,一个类只能继承另一个类,不能继承多个类)
多态(通过父类去new一个子类,让子类的类型为父类,如果是使用父类来实例一个对象,则不能调用子类的方法,尽管是new的子类)
static方法不能重写,final不能被重写,private不能被重写
instanceof:判断一个实例对象是否和一个类有继承关系(s instanceof Object)
static:静态修饰符(属性和方法都可以修饰)可以使用类来直接调用这个方法
抽象类:abstract修饰符,特点:不能new,只能通过子类来去实现,但类型可以是抽象类,实例的类也可以调用抽象类的方法,抽象方法必须在抽象类中(约束),存在的意义,提高开发效率
接口:interface,可以多继承,约束和实现分离,面向接口编程,接口都必须有实现类,实现接口类必须重写里边的方法,接口只有方法的定义,一个类可以继承多个接口