- 类型转换
- 什么是类型转换
- 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型
- 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了 (可以强制转换);
- 什么是类型转换
- Java常量的应用
- 什么是常量
- 所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。(如 final 常量名 = 值;);
- 什么是常量
- 条件语句-Switch
Switch(传入的值){
Case ’值’:
System.Out.println(“输出”);
Break;
Case ’值’:
System.Out.println(“输出”);
Break;
Default:
System.Out.println(“输出”);
}
- 循环语句之-witch
- 如何使用witch
- 判断 while 后面的条件是否成立( true / false )
- 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止
- 使用示例(先判断,后执行):
- 如何使用witch
while (i< = 5) {
// 输出变量的值,并且对变量加 1,以便于进行下次循环条件判断
System.out.println(i);
i++;
}
- 循环语句之 do...while
- 使用方式
- 先执行一遍循环操作,然后判断循环条件是否成立
- 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止
- 示例(先执行,后判断):
- 使用方式
do {
num = num + 2; // 每执行一次将数值加2,以进行下次循环条件判断
} while (num <= 50); // 满足数值在 1-50 之间时重复执行循环
System.out.println(" 50以内的偶数之和为:" + sum );
}
for (int k: 数组) {
System.out.println(k);
}
- 循环跳转语句之 break/continue
- 什么是break/continue
- break就是为了结束循环,continue是结束当前轮循环,会继续接下来的循环;
- 什么是break/continue
- 写入输出Scanner
- 数组定义
- 声明数组
- 语法: 数据类型[ ] 数组名;或者 数据类型 数组名[ ];
- int[] scores = { 78, 93, 97, 84, 63 };或者int scores[] = { 78, 93, 97, 84, 63 };
- 分配空间
- 简单地说,就是指定数组中最多可存储多少个元素
- 语法: 数组名 = new 数据类型 [ 数组长度 ];
- 在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成
- 语法:数据类型[ ] 数组名 = new 数据类型 []{78, 93, 97, 84, 63 };
- 声明数组
- 使用 Arrays 类操作 Java 中的数组
- 排序
- 语法: Arrays.sort(数组名);
- 可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)
- 将数组转换为字符串
- 语法: Arrays.toString(数组名);
- 可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开
- 排序
- Java 中的二维数组
如:
- 如何定义 Java 中的方法
-
-
- 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
- 方法名:定义的方法的名字,必须使用合法的标识符;
-
- Java 中方法的重载
- 什么是重载:
- 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:
- 什么是重载:
- static 使用之静态变量
- 什么是static
- Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问
- 什么是static
- static 使用之静态初始化块
-
-
- 封装
- Java 中的内部类
- 什么是内部类呢?
- 内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
- 内部类的主要作用如下:
- 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
- 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
- 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
- 访问方式
- 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键
- 什么是内部类呢?
- Java 中的静态内部类
- 静态内部类是 static 修饰的内部类
- 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员(内部类 对象名= new 内部类();)
- 静态内部类是 static 修饰的内部类
- 继承
- Java关键字
- Final (定义的方法或变量不可修改)
- 不可被修改,final变量初始化必须赋给它一个值,不然会报错。(当final应用于对象引用时,而不是基本类型时,对基本类型使用final不能改变的是他的数值。而对于对象引用,不能改变的是他的引用,而对象本身是可以修改的。)
- Super(子类直接调用父类的方法或变量)
- super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。(如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法,通过super();关键字);
- equals() (比较是否相等)
- Object类默认方法,比较是否相等
- toString()
- toString()方法将对象转换为字符串
- 如果是使用默认继承的Object类,使用toString( ) 方法,输出对象地址。
- Instanceof(比较类型)
- java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例
- abstract(抽象)
- 抽象类的使用修饰符“abstract"
- Final (定义的方法或变量不可修改)
- 多态
- 抽象类
- java异常处理
- 什么是异常处理
- 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error
- try..catc..finally实现异常处理方式和自定义异常(自定义异常类必须继承Exception )
- 什么是异常处理
- Java 中的类型
- 创建java字符串
- 字符串的不变性
- String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同
- 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
- String 类的常用方法
- StringBuilder 类的常用方法
- String和StringBuilder的区别
- string 对象时恒定不变的,stringBuider对象表示的字符串是可变的。stringBuilder是.net提供的动态创建string的高效方式,以克服string对象恒定性带来的性能影响。
- 对于简单的字符串连接操作,在性能上stringBuilder并不一定总是优于string。因为stringBuider对象创建代价较大,在字符串目标连接较少的情况下,过度滥用stringBuilder会导致性能的浪费,只有大量的或者无法预知次数的字符串操作,才考虑stringBuilder来实现。事实上,一般连接次数设置100次以内,根本看不出两者的性能差别。
- 当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象。
- 创建java字符串
- Java 中的包装类
- 基本类型和包装类之间的对应关系:
- 包装类的常用方法:
- 装箱
- 把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱
- 拆箱:
- 和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱
- 类型之间的转换(包装类 基本类型 String类型)
- 基本数据类型 ===> 包装类
- 基本类型和包装类之间的对应关系:
- new 类型(基本类型值);
- valueOf():转化的包装类.valueOf(基本类型值);
-
- String类型 ===> 包装类
-
- valueOf():转化的包装类.valueOf(基本类型值);
-
- 包装类 ===> 基本数据类型:
-
- 包装类变量值.包装类Value();例如:ByteInstance.byteValue();
-
- String类型 ===> 基本数据类型
-
- 包装类. parse包装类(String类型变量值);例如:
Byte.
parseByte(String s)
;
-
- 基本类型 ===> String类型 / 包装类 ===> String类型
-
- 使用包装类 :包类型.toString(byte b);
- 使用String类:valueOf() 方法
- 时间
- Date 类的使用
- 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间
- SimpleDateFormat 时间格式化
- Calendar 类的应用
- 使用 Math 类操作数据
- parse(dates)
- Date 类的使用
String dates = "2018年12月25日 14时16分15秒";
try {
Date date = dat.parse(dates);
System.out.println("当前时间是:"+date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
- 集合框架
- 什么是集合
- Collection 接口又有 3 种子类型,、List、Set(无序并且不可重复) 和 Queue
- 常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap
- 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象
- 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。
- 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。
- 什么是集合
- 使用迭代
- Map
- Map.Entry的作用。
- Map.Entry是为了更方便的输出map键值对。一般情况下,要输出Map中的key 和 value 是先得到key的集合keySet(),然后再迭代(循环)由每个key得到每个value。values()方法是获取集合中的所有值,不包含键,没有对应关系。而Entry可以一次性获得这两个值。
- Map使用方式
- KeySet()获取健值的方法
- Put(id,值)添加方法
- Get(id)获取方法
- Remove(id)删除方法
- 如何判断元素中是否存在某个属性值
- (查找值的时候需要重写equals和hashCode方法)(contains containsAll)
- 查找第一次出现的位置indexOf();
- 查找最后一次出现的位置lastIndexOf();
- 判断是否包含key值 containskey(id);
- 判断是否包含value值 containsValue(object);
- 实现排序(需实现Comparable接口)
- Comparable(定义默认规则);
- Comparator(临时比较规则);
- Map.Entry的作用。
- 线程
- 接口