
Javase
凸凸秃蔷墙强
这个作者很懒,什么都没留下…
展开
-
37、泛型机制
import java.util.ArrayList;import java.util.Iterator;import java.util.List;/*JDK5.0之后推出的新特性:泛型下面代码的意思:(不适用泛型)建一个ArrayList集合存储两个对象遍历对象的方法 */public class GenericTest { public static void main(String[] args) { //不适用泛型,分析程序的缺点 .转载 2021-04-26 15:52:40 · 140 阅读 · 0 评论 -
36、链表优点和缺点以及Vector集合
package com.bjpwernode.javase.LinkedList;/*链表的优点 由于链表上的元素在空间上内存地址不连续 所以随机增删元素的时候不会有大量元素需要移动位置,因此索引效率较高 在以后的开发中,如果遇到随机增删集合元素业务比较多的时候,建议使用LinkedList 链表缺点: 不能通过数学表达式计算备查找元素的内存地址,每一次都要从头节点开始遍历,知道找到为止。 所以LinkedList索引的效率低 */import ja转载 2021-04-21 21:21:27 · 511 阅读 · 0 评论 -
35、ArrayList扩容
import java.util.ArrayList;import java.util.List;/*ArrayList集合: 1、底层先创建一个长度为0的数组,当添加第一个元素的时候,初始化容量是10 2、默认初始化的容量是10 3、集合底层是一个Object[]数组 4、构造方法 new ArrayList(); new ArrayList(20); 5、ArrayList集合的转载 2021-04-21 20:57:03 · 165 阅读 · 0 评论 -
34、List特有方法
import java.util.ArrayList;import java.util.Iterator;import java.util.List;/*List接口常用方法 1、List集合存储元素的特点:有序可重复 有序:List集合中的元素有下标 2、List是Collection接口的子接口 3、List特有的常见方法: void add(int index,Object element) Object get(i转载 2021-04-21 20:40:27 · 162 阅读 · 0 评论 -
33、集合的迭代
import java.util.Collection;import java.util.HashSet;import java.util.Iterator;/*有关集合的遍历/迭代 */public class CollectionTest02 { public static void main(String[] args) { //注意:以下讲解的遍历方法/迭代,是所有Collection通用的一种方式。 //在Map集合中不能用,在所有的Coll转载 2021-04-20 11:27:55 · 1135 阅读 · 0 评论 -
32、Collection接口中的常用方法
1、Collection中存放Object的子类型。(集合只能存储java对象的内存地址)import java.util.ArrayList;import java.util.Collection;/*Collection有关的方法 boolean add(Object e );向集合中添加元素 int size(); 获取结合中元素的个数 void clear(); 清空集合 boolean contain(Obje转载 2021-04-20 10:39:19 · 169 阅读 · 0 评论 -
31、集合相关概念
相关概念1、集合实际上是一个容器,可以用来存储其他类型的数据2、集合为什么使用较多?集合是一个容器,是一个载体,可以一次容纳多个对象。3、集合不能直接存储基本数据类型,集合也不能直接存储对象。集合里面存储的都是java对象的内存地址注意:集合在java中本身是一个容器,是一个对象集合在任何时候存储的都是“引用”4、在java中每一个不同的集合,底层会对应不同的数据结构,往不同的集合中存储元素,等于将数据存储到不同的数据结构中。5、new ArrayList;创建一个集合,底层是数组ne转载 2021-04-19 15:40:37 · 173 阅读 · 0 评论 -
30、定义异常类
package com.bjpwernode.javase.exception;/*1、SUN提供的JDK内置的异常肯定是不够用的。在实际的开发中,有很多业务,这些业务出现异常之后,JDK中是没有的。和业务挂钩的。我们可以自己定义异常类2、java中怎么自定义异常? 两步: 第一步:编写一个类继承Exception或者RuntimeException 第二步:提供两个构造方法,一个是无参数的,一个带有String参数。 */public class MyE转载 2021-04-19 14:44:07 · 174 阅读 · 0 评论 -
29、finally子句的使用
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/*关于try...catch中的finally子句: 1、在finally子句中的代码是最后执行的,并且是一定会执行的,即使 try语句块中的代码出现了异常。 2、finally语句通常使用在哪些情况? 通常在finally语句块中完成资源的释放/关闭 因为finall转载 2021-04-10 21:25:01 · 256 阅读 · 0 评论 -
28、异常
概念1、什么是异常?java提供异常机制有什么用?程序执行过程中发生了不正常的情况,而这种不正常的情况叫做:异常java语言是很完善的语言,提供了异常的处理方式,java把异常打印输出到控制台,供程序员参考、修改,让程序更加健壮。2、以上程序执行控制台出现的异常信息是JVM打印出来的。异常的存在形式/*java程序中异常以什么形式存在的呢? 1、异常在java中以类的形式存在,每一个异常类都可以创建异常对象 2、异常类是模板 对象是模板 对象是实转载 2021-04-10 19:44:51 · 156 阅读 · 0 评论 -
27、枚举
//返回值类型使用boolean没问题,但是如果开发中可能遇到一个方法执行结果可能包括三种情况以上,该怎么办?//需要使用java语言中的枚举类型public class EnumTest01 { public static void main(String[] args) { //System.out.println(10 / 0);// java.lang.ArithmeticException: /by zero boolean retValue = di转载 2021-04-08 20:51:24 · 108 阅读 · 0 评论 -
26、数字格式化、BigDecimal、随机数
数字格式化import java.text.DecimalFormat;/*关于数字的格式化(了解) */public class DateTest04 { public static void main(String[] args) { //java.text.DecimalFormat专门负责数字格式化的。 //DecimalFormat df = DecimalFormat("数字格式"); /* 数字格式有哪些?转载 2021-04-08 17:01:03 · 337 阅读 · 0 评论 -
25、java对于日期的处理
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/*java中对于日期的处理 需要掌握:1、怎么获取当前时间(精确到毫秒的系统当前时间) 2、String --->Date 3、Date --->String */public class DateTest01 {转载 2021-04-08 14:52:39 · 134 阅读 · 0 评论 -
24、String、int、Integer类型转换
public class IntegerTest05 { public static void main(String[] args) { //String-->int String s = "123"; int retValue = new Integer(s); System.out.println(retValue); int retValue2 = Integer.parseInt("123"); .转载 2021-04-08 10:13:25 · 155 阅读 · 0 评论 -
23、数组格式化异常和Integer常用方法
/*总结一下之前学到的经典异常? 空指针异常:NullPointerException 类型转换异常:ClassCastException 数组下标越界异常:IndexOutOfBoundsException 数字格式化异常:NumberFormatException */public class IntegerTest04 { public static void main(String[] args) { Integer a = new Int转载 2021-04-08 09:49:27 · 175 阅读 · 0 评论 -
22、自动装箱和自动拆箱
概念public class IntegerTest04 { public static void main(String[] args) { //java5之后,引入一种新特性,自动装箱和自动拆箱 //自动装箱:基本数据类型自动转换为包类型 //自动拆箱:包类型自动转换为基本数据类型 //900是基本数据类型 //x是包装类型 //基本数据类型-(自动转换)->包装类型:自动装箱 Integer x转载 2021-04-03 17:39:17 · 144 阅读 · 0 评论 -
21、Integer方法的构造方法以及通过常量获取最大值最小值
Integer的构造方法/*关于Integer类的两种构造方法,有两个: Integer(int) Integer(String) */public class IntegerTest03 { public static void main(String[] args) { //java9之后不建议使用这个构造方法了,出现横线表示已经过时 //将数字100转换为Integer包装类型(int ---> Integer)转载 2021-04-03 09:08:43 · 447 阅读 · 0 评论 -
20、包装类以及装箱和拆箱
为什么要对基本数据类型进行包装?/*1、java中8种基本数据类型有对应准备了8种包类型。8中包类型属于引用数据类型,父类是Object2、为什么要提供8种包类型呢? 有的方法传参需要不同类型,我们需要进行基本数据的转换 因为8种基本数据类型不够用 所以sun公司又提供了8种包装类型。 *//*我们手动建立一个类来修改基本数据类型我们建的类叫做MyInt */public class IntegerTest01 { public s转载 2021-04-03 08:28:03 · 127 阅读 · 0 评论 -
19、StringBulider和StringBuffer
思考:我们在实际的开发中,如果需要进行字符串的频繁拼接,会有什么问题?因为java中的字符串是不可变的,每一次拼接都会产生新字符串。这样会占用大量的方法区内存,造成内存空间的浪费。 String s = "abc"; s += "hello";上面的代码,就导致在方法区字符串常量池中创建了3个对象:“abc”、“hello”、“abchello”解决办法1、如果以后需要进行大量的拼接操作,建议使用JDK中自带的:java.lang.StringBufferjava.la转载 2021-04-01 11:12:45 · 159 阅读 · 0 评论 -
18、String类的方法
public class StringTest01 { public static void main(String[] args) { //String类中常用方法 //1(掌握)、char(返回的值的类型) charAt(int index) //取出字符串中第index位置的字符 char c = "中国人".charAt(1);//“中国人”字符串是一个String对象,只要对象就能“点” System.out.转载 2021-04-01 09:20:01 · 106 阅读 · 0 评论 -
17、String类的构造方法
public class StringTest02 { public static void main(String[] args) { /* 关于String类中最常见的构造方法 第一个:String s = new String(""); 第二个:String s = ""; 最常用 第三个:String s = new String(char数组); 第四个:String s = new Str转载 2021-03-28 16:30:20 · 200 阅读 · 0 评论 -
16、String字符串的存储原理
1、String表示字符串类型,属于引用数据类型,不属于基本数据类型。2、在Java中随便使用双括号括起来的都是String对象,例如:“abc”、“def”。3、Java中规定,双引号括起来的字符串,是不可变的,也就是“abc”自出生到最终死亡,不可变。4、在JDK当中双括号括起来的字符串,例如:“abc”、“def”都是直接存储在方法区的字符串常量池当中的。为什么把字符串存储在一个“字符串常量池”当中的,因为字符串在开发中使用太频繁。为了执行效率,所以把字符串存储在字符串常量池中。public转载 2021-03-28 15:34:11 · 343 阅读 · 0 评论 -
15、java中的Arrays工具类和算法
算法1、 常见的算法排序算法:冒泡排序算法选择排序算法查找算法:二分法查找2、java已经将算法封装好了,直接调用就行。面试可能会碰上。例如:java中提供了一个数组工具类:java.util.ArraysArrays是一个工具类。其中sort()方法可以排序,sort()方法是静态方法,直接类名调用就行。冒泡排序算法...转载 2021-03-26 19:47:59 · 124 阅读 · 0 评论 -
12、二维数组
1转载 2021-03-11 22:34:17 · 276 阅读 · 0 评论 -
13、java数组练习1
使用一维数组,模拟栈数据结构。要求:1、这个栈可以存储Java中的任何引用数据类型2、在栈中提供push方法模拟压栈(栈满了有提示信息)3、在栈中提供pop方法模拟弹栈(栈空了有提示信息)4、编写测试程序,new栈对象,调用push pop方法模拟压栈弹栈的动作5、假设栈的默认初始化容量是10.(请注意无参数构造方法的编写)package com.bjpwernode.javase.array.homework;/*使用一维数组,模拟栈数据结构。要求:1、这个栈可以存储Java中的任何引用转载 2021-03-11 22:32:58 · 113 阅读 · 0 评论 -
14、java数组练习2
为酒店编写程序,酒店管理系统,模拟订房,退房,打印所有房间状态1、该系统的用户:酒店前台2、酒店所有的房间使用一个二维数组来模拟。“Room[][] rooms;”3、酒店中每一个房间应该是一个java对象:Room4、每一个房间Room应该有:房间编号、房间类型属性(一楼:单人间;二楼:标准间;三楼:豪华间)、房间是否空闲5、系统应该对外提供的功能:可以预定房间:用户输入房间号码,订房。可以退房:用户输入房间编号,退房可以查看房间状态:用户输入某个指令应该可以查看所有房间状态packag转载 2021-03-11 22:32:27 · 143 阅读 · 0 评论 -
11、一维数组
概念:1、Java语言中的数组是一个引用数据类型,不属于基本数据类型。数组的父类是Object。2、数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)3、数组当中可以存储“基本数据类型”,也可以存储“引用数据类型”的数据。4、数组因为是引用类型,所以数组对象在堆内存当中。(数组存储在堆内存中)5、数组当中如果存储的是java对象的话,实际上存储的是对象的“引用”(内存地址)。6、数组一旦建立,在java中规定,长度不可变。(数组长度不可变)7、数组的分类:一维数组、二维数组、转载 2021-03-09 16:08:11 · 180 阅读 · 0 评论 -
10、匿名内部类
内部类1、在类的内部又定义了一个新的类,被称为内部类。2、内部类的分类:静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似以局部变量3、转载 2021-03-08 14:21:46 · 118 阅读 · 0 评论 -
9、 Object类中toString方法、equals方法、finalize方法、hashCode方法
API:应用程序编程接口,整个JDK的类库就是一个javase的API。每一个API都会配置一套API帮助文档转载 2021-03-08 09:47:15 · 200 阅读 · 0 评论 -
8、 有关接口的练习
要求:1、创建顾客类、中国厨师、美国厨师类2、创建接口菜单3、实现顾客通过菜单点菜。package com.bjpowernode.javase.day15;public interface FoodMenu { //西红柿炒鸡蛋 public abstract void XiHongShiChaoJiDan(); //鱼香肉丝 public abstract void YuXiangRouSi();}package com.bjpowernode.j转载 2021-03-05 14:31:17 · 122 阅读 · 0 评论 -
7、 Java接口、类型与类之间的关系、抽象类和接口语法上的区别
接口的基础语法1、接口也是这一种“引用数据类型”,编译之后会产生class字节码文件。2、接口是完全抽象的。(抽象类是半抽象的)。或者说接口是特殊的抽象类3、接口的定义:[修饰符列表] interface 接口名{}4、接口支持多继承,一个接口继承多个接口。5、接口中只包含两部分内容,一部分是:常量。一部分是:抽象数据类型。接口没有其他内容。6、接口所有元素都是public修饰的。(公开的)7、接口中的方法不能有方法体。8、接口中的抽象方法定义时,public abstract 修饰符可以转载 2021-03-04 09:57:59 · 193 阅读 · 0 评论 -
2021-3-1 IDEA
IDEA快捷键1、快速生成main方法:psvm2、快速生成Syste.out.println():sout3、IDEA是自动保存,不需要ctrl + s4、删除一行:ctrl + y5、左侧列表展开:左箭头6、左侧列表关闭:右箭头7、IDEA中退出任何窗口可以ESC键8、任何新增、新建、添加: alt + insert(键盘上下左右键的上边)9、窗口变大变小: ctrl+shift+F1210、切换java程序: alt+左(右)箭头11、运行的快捷键:ctrl + sh原创 2021-03-03 10:17:37 · 164 阅读 · 0 评论 -
6、Java抽象类
相关概念1、类与类之间具有共同特征,将这些共同特征提出取来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。2、抽象类属于引用数据类型。3、语法[修饰符列表] abstract class 类名{}4、抽象类是无法实例化的,无法创建对象的,多以抽象类是被子类继承的。5、final和abstract不能联合使用,这两个关键字是对立的。6、抽象类的子类可以是抽象的。7、抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。8、抽象方法表示没有实现转载 2021-03-03 09:17:56 · 97 阅读 · 0 评论 -
5、JavaSE学习之super
概述1、super是一个关键字,全部小写。2、super和this对比着学习this:this能出现在实例方法和构造方法中。this的语法是:“this.”、“this()”this不能使用在静态方法中。this.大部分情况下试了一下省略的。this.什么时候不能省略呢?在区分局部变量和实例变量的时候不能省略。public void SetName(String name){ this.name = name; }this()只出现在构造方法的第一行,通过当前的构造方法去调用"本转载 2021-03-01 15:07:08 · 104 阅读 · 0 评论 -
4、在b站学习Java Java中final关键字、package、import、访问控制权限修饰符
final关键字的特点:1、final是一个关键字,表示最终的额,不可变的。2、final修饰的类无法被继承。3、final修饰的方法无法被覆盖。4、final修饰的变量一旦赋值之后,不能重新赋值。5、实例变量有默认值,如果加上final修饰的变量一旦赋值不能重新赋值。5、Java语言规定实例变量使用final修饰后,必须手动赋值,不能采用系统默认值。...转载 2021-02-28 13:42:55 · 142 阅读 · 0 评论 -
3、在B站学习Java——Java多态
Java多态1、多态中涉及到的几个概念:向上转型(upcasting): 子类型---->父类型向下转型(downcasting): 父类型—>子类型需要记忆:无论是向上转型还是向下转型,两种类型之间必须有继承关系。没有继承关系,程序无法编译通过。package Test10;import Test09.Animal;public class Test { public static void main(String[] args) { Animal a1= ne转载 2021-02-27 22:04:56 · 171 阅读 · 0 评论