Java基础
文章平均质量分 78
CodePanda@GPF
分享Java、算法等知识,欢迎热爱编程的朋友一起交流!
展开
-
父类与子类举例
import java.time.LocalDate;/** * Created by guipengfei on 2020/7/28 9:14 */public class Employee { private String name; private double salary; private LocalDate hireDay; /*带参数的构造函数*/ public Employee(String name, double salary, int原创 2020-07-28 09:30:44 · 345 阅读 · 0 评论 -
LocalDate类的使用
import java.time.DayOfWeek;import java.time.LocalDate;public class test{ public static void main(String args []) { LocalDate date=LocalDate.now();//获得当前日期的一个对象 int year=date.getYear();//获得年份 int month=date.getMonthValue.原创 2020-07-23 20:12:17 · 555 阅读 · 0 评论 -
Java------异常处理
catch块可以多态化,即可以用异常的父类型来catch异常对于运行的时的异常编译器时捕获不到的一个try后面可以跟多个catch块try后面跟多个catch块时要注意顺序,范围大的(父类)的异常类型应该放在子类后面,同一级的异常顺序没有关系try后面也可以跟finally,finally块一定会执行,即使try块里面有return语句,也会先到finally块中执行再返回到try块中去return可以在可能有异常抛出的方法里面不用catch,去使用throws声明会有异常抛出如过每一个方法都.原创 2020-07-12 10:29:41 · 76 阅读 · 0 评论 -
String那些事
两种建立方式的比较==当两个字符串对象的地址一样时返回trueequals()方法当两个字符串的内容一样时返回truepublic class test{ public static void main(String args []) { String s1="aaa"; String s2="aaa"; String s3=new String("aaa"); String s4=new String("aaa"原创 2020-07-11 21:49:38 · 160 阅读 · 0 评论 -
Java----静态与final
静态方法的调用不同于非静态方法,非静态方法要创建一个实例才可以调用,而静态方法则可以用类名直接访问,当然你也可以创建一个对象,然后用引用来调用静态方法,只不过这样有多此一举了。public class test{ public void f1() { System.out.println(1); } public static void f2() { System.out.println(2); } publ原创 2020-07-11 10:18:16 · 201 阅读 · 0 评论 -
Java中的各种参数传递方式
1.基本数据类型传递以整型为例 public void swap1(int a,int b)//基本类型传参交换 { int temp=a; a=b; b=temp; System.out.println("swap函数中 a="+a+",b="+b); } test t=new test(); int a=5,b=6; System.out.println("传参之前 a="+a+",b="+b);原创 2020-07-10 23:29:43 · 903 阅读 · 0 评论 -
Java----构造器与垃圾回收器随笔
栈与堆类和实例变量生存于堆上面方法和局部变量生存于栈上栈顶存放的是当前正在执行的方法,执行完弹出构造函数自己没有写构造函数时,编译器会自动地帮你写一个构造函数如果你自己已经写了一个构造函数,则编译器不会再帮你写构造函数构造函数不能被继承对于父类和子类,当创建一个子类时,会逐级往上调用父类地构造函数class grandpa{ public grandpa() { System.out.println("grandpa"); }}clas原创 2020-07-10 10:24:37 · 81 阅读 · 0 评论 -
Java中的继承、多态、接口
多态多态是同一个行为具有多个不同表现形式或形态的能力。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。引用变量与实际对象class father{ int age=45; public void speak() { System.out.println("I am father"); } public void a原创 2020-07-09 10:24:17 · 200 阅读 · 0 评论 -
带头结点的单向链表(Java实现)
/** * Created by guipengfei on 2020/7/7 21:12 */class Node {//结点类 int data; Node next; public Node(int data) { this.data=data; } public Node(){}//用于构造头结点}public class LinkList { Node head = new Node();//创建一个头结点原创 2020-07-08 19:28:44 · 243 阅读 · 0 评论 -
Java中的HashMap相应用法
import java.util.HashMap;public class test1{ public static void main(String args []) { HashMap<Integer,String> mymap=new HashMap<Integer, String>(); mymap.put(1,"Monday");//加入元素 mymap.put(2,"Tuesday");原创 2020-07-08 10:39:05 · 151 阅读 · 0 评论 -
双栈表达式求法
import java.util.*;public class test1{ public static void main(String []args) { Stack<String> stack1=new Stack<String>();//stack1用来保存符号 Stack<Double> stack2=new Stack<Double>();//stack2用来保存数字 Scan原创 2020-07-08 00:09:34 · 198 阅读 · 0 评论 -
用Java实现单向链表
/** * Created by guipengfei on 2020/7/7 21:12 */class Node {//结点类 int data; Node next; public Node(int data) { this.data=data; }}public class LinkList { Node head = null; Node tail = null; public void add_hea原创 2020-07-07 22:47:10 · 145 阅读 · 0 评论 -
Java中的封装类----Queue和Stack相应操作
import java.util.*;public class test1{ public static void main(String []args) { Stack<Integer> stack=new Stack<Integer>(); Queue<Integer> queue=new LinkedList<>(); Scanner input=new Scanner(System原创 2020-07-07 21:08:02 · 252 阅读 · 0 评论 -
Java中的ArrayList使用
import java.util.ArrayList;/** * Created by guipengfei on 2020/7/7 9:43 */public class test1 { public static void main(String []args) { ArrayList<Integer> myList = new ArrayList<Integer>();//必须是Integer,不能是int for(int i原创 2020-07-07 10:20:41 · 160 阅读 · 0 评论 -
Java反射机制
文章目录1.Java反射机制概述2 理解Class类并获取Class的实例3. 类的加载4.创建运行时类的对象5.调用运行时类的指定结构6. 动态代理7. 动态代理与AOP1.Java反射机制概述反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并且能够操作任意对象的内部属性及方法反射机制的功能:在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时获取泛型信息在运行时调用任意一个对象的成员变量原创 2021-03-24 14:48:03 · 72 阅读 · 0 评论 -
网络编程
文章目录1. 网络通信要素概述2. 通信要素1-IP和端号2.1 IP地址2.2 端口号3.通信要素2-网络协议4.TCP网络编程4.1 基于Socket的TCP编程5.UDP网络编程1. 网络通信要素概述通信双方的地址IP端口号一定的规则OSI参考模型TCP/IP参考模型 事实上的标准2. 通信要素1-IP和端号2.1 IP地址唯一地表示Internet上的计算机本地回环地址:127.0.0.1 主机名: localhostIPV4: 4个字节组成,32位原创 2021-03-23 10:41:53 · 85 阅读 · 1 评论 -
IO流
文章目录1.File类的使用2.IO流原理及流的分类3.节点流(文件流)4.缓冲流(处理流)5.转换流(处理流)6.对象流7.随机存取文件流1.File类的使用File可以新建、删除、重命名文件和目录,但是不能访问文件内容File对象可以作为参数传递给流的构造器public File(String pathname) 以指定路径创建File对象public File(String parent,String child) 以parent为父路径,child为子路径创建file对象publi原创 2021-03-22 10:28:30 · 72 阅读 · 0 评论 -
泛型
文章目录1. 泛型出现的背景2.在集合中使用泛型2.自定义泛型结构2.1 泛型类2.2 泛型方法3. 泛型在继承上的体现4.通配符的使用5.有限制的泛型/通配符1. 泛型出现的背景集合容器在设计阶段不能明确这容器到底实际存储的是什么类型的对象,因此把元素的类型设计成一个参,这个参数就叫做泛型,比如在Collection<E>中这个E就是类型参数,也叫泛型为什么要有泛型?Object不可以吗?解决元素存储的安全性问题解决获取数据元素时需要强制转化的问题泛型可以保证程序在编译时不会原创 2021-03-21 10:20:30 · 84 阅读 · 0 评论 -
枚举类与注解
文章目录1.枚举类的使用2.注解1.枚举类的使用当需要使用一组常量时,建议使用枚举类自定义枚举类package javabasis.chapter10;public class Season { private final String SEASONNAME;//季节名称 private final String SEASONDESC;//季节描述 private Season(String seasonName,String seasonDesc)原创 2021-03-19 10:32:57 · 67 阅读 · 0 评论 -
常用类
文章目录1.String类2.字符串常用方法3.StringBuffer类4.StringBuilder类5.三种字符串类的区别6.Java比较器7.BigInteger、BigDecimal类1.String类String类代表字符串String是一个final类,表示不可变字符串是常量,创建之后不能更改String对象的字符串内容存放在一个value数组中package concurrent_programming.chapter3;public class StringCreat原创 2021-03-19 10:02:14 · 117 阅读 · 0 评论 -
多线程
文章目录1. 基本概念2.线程的创建和使用3.线程的生命周期1. 基本概念程序: 某种语言编写的指令的集合,是一段静态的代码进程:程序的一次执行,或者是正在运行的一个程序,进程是资源分配的单位线程:线程是调度和执行的基本单位,一个进程可以包含多个线程并行:多个CPU同时执行某个任务并发:一个CPU采用时间片一段时间内执行多个任务2.线程的创建和使用继承Thread类实现Runnable接口注意事项:3.1 自己如果手动调用run()方法,那么只是一个普通方法,没有启动多线程模式原创 2021-03-18 10:10:39 · 61 阅读 · 0 评论 -
异常处理
文章目录1.异常概述2.常见异常3. try-catch-finally4.throws5.手动抛出异常6.自定义异常类1.异常概述Error: JVM无法解决的严重问题。比如栈溢出,这种情况不编写针对性代码处理Exception:编程错误或外在因素导致的错误:比如空指针访问、数组越界运行时异常:编程的逻辑错误 比如除数为0 数组越界 可以不做处理,保证逻辑正确即可编译时异常:必须要处理2.常见异常java.lang,RuntimeExceprion类转化异常数组越界异常原创 2021-03-18 09:37:11 · 116 阅读 · 2 评论 -
面向对象三
文章目录1.关键字static2.单例设计模式3.代码块4.final5. 抽象类与抽象方法6.接口7.接口和抽象类的比较8.内部类1.关键字static用static修饰的属性称为类属性,类属性是对象共享的static可以用来修饰属性、方法、代码块、内部类被static修饰的成员有以下特点:随着类单独加载而加载优先于对象存在修饰的成员被所有对象共享可以不用创建对象而直接被类调用类变量类加载以后存在于方法区,不和对象一起存在于栈区static修饰的方法中不能出现this,supe原创 2021-03-17 11:25:07 · 59 阅读 · 0 评论 -
面向对象二
文章目录1.继承性2.方法的重写3.关键字super4.子类对象实例化过程5. 多态性一、pandas是什么?二、使用步骤1.引入库2.读入数据总结1.继承性多个类中有相同属性和行为时,可以将这些内容单独抽取到一个类中继承的出现减少了代码冗余,提高了代码的复用性继承的出现,有利于功能的拓展继承是多态的前提子类继承父类,就继承了父类的方法和属性子类既可以使用父类的方法和属性,也可以自己创建新的数据和方法子类不能直接访问父类中的私有成员变量和方法(可以通过父类中的public方法来间接访问)原创 2021-03-17 08:35:28 · 50 阅读 · 0 评论 -
面向对象一
文章目录文章目录文章目录一、面向对象与面向过程1.面向过程POP2.面向对象OOP二、类和对象三、对象的创建和使用四、属性五、方法六、方法的重载七、方法参数值传递机制八、封装九、构造器一、面向对象与面向过程1.面向过程POP面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做2.面向对象OOP面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做,三大特征: 封装、继承、多态二、类和对象类是对一类事务的概述,是抽象的对象是实际存在的该类是事务原创 2021-03-16 09:38:23 · 75 阅读 · 0 评论 -
Java基础----排序算法集
文章目录一.排序概念二.直接插入排序1.基本思想2.直接插入排序举例3.代码实现三、希尔排序1.基本思想2.希尔排序举例3.代码实现四、冒泡排序1.基本思想2.冒泡排序举例3.代码实现五、快速排序1. 基本思想2.快速排序举例3.代码实现六、简单选择排序1. 基本原理2.简单选择排序举例3.代码实现七、堆排序1. 堆的概念2.堆排序基本思想3.堆排序代码实现八、归并排序1.基本思想2. 归并排序举例3.代码实现九、基数排序1.基本思想2.基数排序举例3.代码实现总结一.排序概念稳定排序:相同元..原创 2021-03-15 18:21:16 · 73 阅读 · 0 评论 -
Java基础----数组
文章目录数组1. 数组的概述2.一维数组的声明3.一维数组的初始化3.数组元素的引用4. 多维数组的使用5.Arrays工具类的使用6.数组中的常见异常数组1. 数组的概述数组是由多个相同数据类型数据按一定顺序排列的集合常见概念:数组名 下标 元素 数组长度数组本身是引用数据类型,但数组中的元素可以是任意类型数组长度一旦确定,不能修改2.一维数组的声明1.声明 int a[] int []a double b[] String []c2.声明数组时不能指定...原创 2021-03-15 15:07:27 · 102 阅读 · 2 评论 -
Java基本语法--变量运算符--程序流程控制
关键字目录文章目录关键字目录一、关键字和保留字1. 关键字的定义和特点2. 保留字二、标识符1. 标识符概念2.命名规范三、变量1. 变量概念2. 变量分类3. 基本数据类型转化四、进制1.进制分类2.几种编码3. 进制转化四、运算符2.读入数据总结一、关键字和保留字1. 关键字的定义和特点具有特殊含义 有专门用途的字符串关键字的字母都是小写的举例定义数据的关键字定义流程的关键字定义权限的关键字classifprivateinterface原创 2021-03-15 08:32:53 · 141 阅读 · 1 评论