java编程语言
java基础知识,面向对象,高级API
Super_Robot
笨鸟先飞
展开
-
jackson版嵌套Json转Bean
jackson版嵌套Json转Bean因为在网上找不到Jackson版的嵌套Json转Bean的方法,虽然Gson有这个功能,但是不想项目导入太多依赖包,所以就自己写了一套,可能会有bug,后期优化。٩(*Ӧ)وpackage com.taiyang.test;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;import com.taiyang.t原创 2021-05-21 17:41:20 · 856 阅读 · 0 评论 -
小说阅读器
小说阅读器1.需求分析注册登陆查看小说分类:言情、悬疑、仙侠、科幻、玄幻……根据小说分类查看小说列表阅读小说:简单模式 只查看某个小说的前100字左右内容下载阅读:上传小说退出2.架构设计C(Client客户端)/S(Server服务端)架构客户端:Socket相关API服务端:ServerSocket Thread数据库:XML DOM4J3.难点分析如何让服...原创 2019-05-25 18:14:19 · 2241 阅读 · 1 评论 -
泛型
泛型没有泛型会有类型转换问题,存在隐患。(如Object类型转换)黄色线:安全警告三种声明(有历史)顾及老代码泛型方法自定义泛型:修饰符 <声明自定义的泛型> 返回值类型 函数名(使用自定义泛型……)字母是一个类型的占位符()自定义泛型的具体数据类型是在调用该方法的时候传入实参是什么类型就是什么类型。自定义泛型只要符合表示付的命名规则即可但是一般是用的是一个大写字...原创 2019-05-25 17:35:48 · 157 阅读 · 0 评论 -
反射
反射创建对象先会将.class解刨然后加载到方法区,之后再将其实例化。反射就是当一个文件加载到内存的时候,Jvm会对该字节码进行解剖,然后会创建一个对象的Class对象,把字节码文件的信息全部都存储到该Class对象中,我们就可以使用字节码对象设置对象的属性或者调用对象等方法操作……。三种得到.class文件的方式:// 反射三种方法Class clazz1 = 类名.class;Cl...原创 2019-05-25 13:37:22 · 206 阅读 · 0 评论 -
对象
面向对象面向过程(c语言)面向对象(Java)侧重过程侧重对象三大特点:封装(encapsulation)继承(inheritance)多态(polymorphism)对象的使用1.创建对象创建一个函数public void num(){ String name; String color; int age; int height;}...原创 2019-03-25 17:34:38 · 123 阅读 · 0 评论 -
方法与重载
封装权限修饰符: 权限修饰符就是控制变量可见范围的.public:公共的.public修饰的成员变量或者方法任何人都可以访问.private:私有的.private修饰的成员变量或者方法只能在本类中直接访问.封装的步骤:1.使用private修饰需要被封装的属性.2.提供一个公共的方法设置或者获取该私有的成员属性.命名规范: set属性名(); get属性名();privat...原创 2019-03-30 16:20:15 · 249 阅读 · 0 评论 -
封装
方法及重载带参方法方法定义处的参数名(形参)带参方法调用处的参数名(实参)带参方法方法定义处的参数名(形参)可以和方法调用参数名(实参)可以不一致,但是要见名知义.名字要遵循驼峰命名规则.调用方法处也可以直接写值.方法有没有返回值和方法有没有参数没有任何关系.参数可以写多个.参数没有顺序限制.(怎么舒服怎么写)但是实参要按照形参的顺序写.常见错误同类方法中可以直接用...原创 2019-03-30 16:21:48 · 149 阅读 · 0 评论 -
继承
继承将重复的代码抽到父类里.满足is-a关系编写父类 [访问修饰符] class Pet{ // 公共的属性和方法 }编写子类,继承父类 [访问修饰符] class Dog(子类) extends Pet(父类){ // 子类特有的的属性和方法 }一个类只能有一个父类protected public修饰属性和方法,不...原创 2019-04-02 13:35:06 · 125 阅读 · 0 评论 -
多态和方法重写
多态与方法重写如果要更改子类的某一个属性,就要新建一个类,创建对象。用一个判断,来改变属性,但是如果改多个子类的话。就要不断的用重载。很麻烦。代码的可扩展性减小、可维护性差。这个时候就可以用多态。多态的用法形参换成父类类型。在父类里加上一个方法。然后创建对象父类引用子类对象〈父类〉〈变量名〉= new〈子类〉。就可以直接调用。方便快捷又好使。public class Master { ...原创 2019-04-07 00:55:22 · 350 阅读 · 0 评论 -
接口和异常
异常变量名.hasNextInt();判断输入是否为整数。System.exit(1); // 非0异常关闭 0正常关闭结束JVM虚拟机。System.err.println() // 红色输出,用于报错异常处理机制异常是指程序运行中发生不正常的事件,JVM会中断正在运行的程序。Java异常处理的5个关键字:try,catch,finally,throw,throws捕获异常...原创 2019-04-13 15:48:14 · 407 阅读 · 0 评论 -
设计模式
设计模式设计模式有23种单例设计模式它又分为“饿汉设计模式”和“懒汉设计模式”饿汉设计模式在线程上安全,但占用资源。懒汉设计模式在线程上不安全。public class Demo5{ public static void main(String[] args) { Single2 s = Single2.getInstance(); Single2 s1 = Single2...原创 2019-04-13 16:12:06 · 151 阅读 · 0 评论 -
StringBuilder和StringBuffer、String和获取时间毫秒数
StringString每次添加字符串时会开辟一个新的空间存储字符串,多了的话会非常浪费内存空间,而StringBuilder和StringBuffer是在原有对象里添加字符串,可以节省空间。/**StringBuilder*/public class String1 { public static void main(String[] args) { // 速度快单线程可以使用 ...原创 2019-04-13 16:43:09 · 264 阅读 · 0 评论 -
第三次项目《汽车租赁》
/** * 父类车(抽象类) */public abstract class Car { /**品牌*/ private String brand; /**牌照*/ private String licenseTag; /**日租金*/ private int dayRant; public Car() { } public Car(String brand, Str...原创 2019-04-23 14:13:56 · 264 阅读 · 0 评论 -
第四次项目《字符打怪兽》
/** * * 游戏 */public class Game { // 玩家 private static Player player; // 初始化玩家变量 public Game(Player player) { super(); // 将Player的属性传给Game,可以使Game操作同一个对象 this.player = player; } public...原创 2019-04-23 14:17:19 · 215 阅读 · 0 评论 -
第一次写项目《会员抽奖》
/** * 1、创建一个可以更改容量的数组,并创建相应的信息存储数组。 * 2、建立用户登录账号界面,进入后方可操作,并建立switch来供用户选择。 * 3、建立我要点餐输入订餐人姓名,存储订餐人的菜单,份数,地址,送餐时间等等。 * 4、建立查询餐袋选项,用for循环遍历,高级for不能使排版整齐。 * 5、建立签收选项,先for遍历出菜单信息,在进行变量的声明的if操作。 * 6...原创 2019-04-23 13:40:18 · 224 阅读 · 0 评论 -
第二次项目《吃货联盟Plus》
import java.util.Scanner;/**自学第一次写的小程序*/public class Text2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 用户号 int memberNo = 0; // 用户姓名 String userN...原创 2019-04-23 13:52:18 · 384 阅读 · 0 评论 -
数组
数组一.数据存储:数组:数组是同一种数据类型的集合容器。为了能更复杂的存储数据,我们需要用到数组!在内存中是一连串的内存空间表示,它是有序的。数组有一维数组和多维数组:一维数组:int[] arr = new int[10]; 创建一个长度为10的一维数组多维数组:int[][] arr = new int[10][10]; 创建一个一层长度为10,二层各长度为10的二维数组...原创 2019-03-25 17:23:37 · 209 阅读 · 0 评论 -
函数
函数函数的定义格式:修饰符 返回值类型 函数名(形参列表){ 需要被封装的功能代码;}返回值类型:返回值类型就是指函数运行完毕后,返回的结果的数据类型(如int)。注意:某些函数是没有结果返回给调用者的,那么这时候返回值类型是void。修饰符:public static形式参数:如果一个函数在运行的时候,存在着数据失调用者确定的,那么这时候就应该定义形式参数。 pub...原创 2019-03-25 16:34:54 · 105 阅读 · 0 评论 -
循环结构
循环结构流程控制语句中的一种,如果重复做一件事,就可以想,用循环能否解决问题?循环结构有while、do while、for循环1.while循环结构 // while:当....的时候 // 多次的判断 循环条件 while(条件表达式){ //true 为循环 false为停止 // 循环操作/循环体 } 一个循环必然包括循...原创 2019-03-25 16:16:27 · 380 阅读 · 0 评论 -
选择结构
三. 选择结构1.IF选择结构计算机执行指令是从上到下一行一行的执行,如果想定义一个计算机判断条件,条件成立执行下一步,如果不成立,则不执行。这时候就用到IF选择结构。2.复杂IF选择结构if里面可以嵌套多个条件。 注意代码书写格式。3.IF else选择结构如果有多个if嵌套在一起时,当前面条件成立,后面还会继续判断,这样就会显得多余,该怎么办呢?If else就可以帮你解难...原创 2019-03-20 08:39:53 · 523 阅读 · 0 评论 -
变量和数据类型
二.、变量和数据类型1. 握使用IDE构建普通的Java项目IDE(integrated development environment):集成开发工具Java开发主流工具:1、eclipse 开源,免费 由Eclipse软件基金会进行维护。因为编码老师让改为UTF-8 结果以前GBK编码的文件变成了乱码,友情提示:以后一定要用UTF-8,因为它兼容是好的。什么是UTF-8.2、...原创 2019-03-20 08:38:32 · 354 阅读 · 0 评论 -
XML工具DOM4J
DOM4JDocument:定义XML文档Element:定义XML元素Text:定义XML文本节点Attribute:定义了XML的属性接收XML:SAXReader reader = new SAXReader(); // 创建SAXReader对象read(File file) : Document // 得到XML的文档信息读取XML信息:getRootEle...原创 2019-05-02 13:03:17 · 200 阅读 · 0 评论 -
XML
XML简介XML(EXtensibel Markup Language),可扩展标记语言特点:XML与操作系统、编程语言的开发平台无关实现不同系统之间的数据交换作用数据交互配置应用程序和网站Ajax基石框架配置文件是XML格式的。XML文档结构XML的声明<?xml version="1.0" standalone="yes" encoding="UTF-8”...原创 2019-05-02 13:01:39 · 186 阅读 · 0 评论 -
集合框架
集合框架以前在存储数据时用到的方法有:变量:局部变量和成员变量数组:存入多个同类型的数据类:存入变量和方法,方便调用对象数组:通过new一个构造方法,可以快速创建多个不同的对象。解决了重复写多个变量来定义。集合框架解决了数组不可变的问题(集合也是用数组写的方法,当到达一定长度是,增加数组的长度)Collection接口存储一组不唯一,无序的对象List接口存储一组不唯...原创 2019-04-21 00:15:35 · 108 阅读 · 0 评论 -
实现类
实现类枚举枚举指由一组固定的常量组成的类型enum 定义枚举的关键字特点:类型安全易于输入代码清晰student.sex = Genders.女; // 只能通过枚举点出来。学会查Java Platform包装类包装类把基本类型数据转换为对象包装类和基本类型对应提供了一系列方法集合存放基本数据类型时,要先进行包装除Character类外,包装类构造方法可以存放字符...原创 2019-04-21 00:19:56 · 325 阅读 · 0 评论 -
斗地主玩法
public class Card { /*大体思路 1扑克牌一共有54张,首先创建一个集合来存储扑克牌编号,再创建一个Map集合来存储扑克牌编号与扑克牌牌面的映射关系, 牌面有花色4个,数字13个,利用for循环,将52张牌的编号和映射关系分别添加进Arraylist集合和map集合。大王小王的编号和映射独立添加。 2 洗牌 Collections.shuffle(poker) //p...原创 2019-04-23 20:48:30 · 696 阅读 · 0 评论 -
多线程和线程池
多线程同时运行了多个线程,用来完成不同的工作多个线程交替CPU资源好处:充分利用CPU的资源简化编程模型带来良好的用户体验进程和线程的区别进程应用程序的执行实例-》进程《-有独立的内存空间和系统资源线程CPU调度和分派的基本单位-》线程《-进程中执行运算的最小单位,可完成一个独立的顺序控制流程主线程 java.lang.Tread类支持多线程 main()方法即主线...原创 2019-04-23 11:48:11 · 146 阅读 · 0 评论 -
第五次项目《超市会员管理Plus》
/** * 超市会员管理Plus */class SuperMarketMember { static Scanner input = new Scanner(System.in); // 存每个用户积分 static ArrayList<Integer> userScore = new ArrayList<Integer>(); // 存每个用户账号密码 ...原创 2019-04-23 14:23:01 · 402 阅读 · 0 评论 -
Java I/O流
超市会员管理系统先写架构,在补全方法,找一个好头开始一步步完善。Java I/O数据来源于数据源-》【输入】在程序中进行操作-》【输出】保存到文件中文件Java API:java.io.File类File类访问文件属性File file = new File(String pathname);// c:/test.txtFile指文件也可以指目录绝对路径:相对于某个软件的地址...原创 2019-04-21 00:22:27 · 156 阅读 · 0 评论 -
网络编程
网络编程IP地址介绍IP地址(internet Protocol) 唯一标示网络上的每一台计算机IP地址的组成 32位,由4个8位二进制数组成IP地址 = 网络地址 + 主机地址 网络地址:标示计算机或网络设备所在的网段 主机地址:标示特定主机或网络设备局域网、城域网、广域网IP地址的配置和检测查看IP地址,检测网络是否畅通 查看本机IP地址:ipconfig...原创 2019-05-02 12:12:25 · 271 阅读 · 0 评论