Java基础
文章平均质量分 94
本专栏对Java语言做了全面介绍,在Java编程原理和基础知识的前提下,特别注重于实用性,方便初学者学习。
夏至青柠
愿星河徜徉,一路有光
展开
-
最新总结Java基础面试题
1java语言的特点 面向对象、跨平台、多线程、异常处理、垃圾回收机制2JAVA中的数据类型 基本数据类型: short int long char float double boolean byte 复合数据类型3java中for循环与while与do while的 区别?Forwhile与do while初始值、判断条件、循环增量/减量、循环体判断条件、循环体可以在结构之外定义初始值,也可以不定义需要自行在结构定义初始值循环增量/减量循环结构自行控原创 2020-12-17 14:31:56 · 107 阅读 · 0 评论 -
代理模式
一、什么是代理模式为其他对象提供一种代理以控制对这个对象的访问例如,买火车票不一定在火车站买,也可以去代售点兄弟模式的静态代理package com.shanda.test1;public interface SellPiao { void maipiao();}package com.shanda.test1;public class HuoCheZhan implements SellPiao{ @Override public void maipiao() { Sy原创 2020-09-15 23:46:18 · 98 阅读 · 0 评论 -
工厂模式
一、什么是工厂模式 工厂模式属于设计模式中的创建型模式。 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 1.需求量大 2.牵一发动全身 有三种角色 1. 工厂角色----【类】 2. 抽象产品角色—【抽象类/接口】 3. 具体产品角色----【抽象类/接口子类】 例如:有农村生产各种水果,又西瓜、苹果、香蕉… 农场—工厂角色----【类】 水果—抽象产品角色—【抽象类/接口】 西瓜,苹原创 2020-09-14 22:50:21 · 150 阅读 · 0 评论 -
设计模式及单例模式
一、什么是设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误分析总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验和总结二、设计模式的作用 为了重用代码、让代码更容易被他人理解、保证代码可靠性三、什么是单例模式/单态模式 单类模式 —> 保证一个类仅有一个实例 当类被频繁的创建与销毁时,可以使用单例模式,这样既减少了内存的开销,又避免对资源的多重占用四、单类原创 2020-09-14 16:54:19 · 178 阅读 · 0 评论 -
反射
一、反射是什么,有什么作用? 反射—在程序运行的过程中,我们可以得到某个类的对象,可以调用某个类中的任何一个变量/方法,这种动态获取信息的过程就是反射。 当我们在没有见过某个类的情况下,仅凭一个完整的类名,就可以获取到整个类的所有信息。反射的使用场景: 1、jdbc加载数据库驱动 2、Servlet的web.xml配置 3、Spring框架二、实例对象与反射对象的相互转换? 实例对象-----就是我们通过类创建的对象 反射对象-----通过反射机制得到的类对象例如: 反射原创 2020-09-11 20:32:57 · 95 阅读 · 0 评论 -
泛型
一、什么是泛型 泛型(泛:广泛)—> 广泛的数据类型 将某一个类/接口/方法/变量的数据类型象使用参数一样传递给类/接口/方法/变量。 数据类型的参数化,任意化二、为什么需要泛型 假如我们需要写一个程序,但很多业务逻辑相似 第一天 类中的x,y变量需要int类型package com.wangxing.test1;public class IntTest { private int x; private int y; public int getX()原创 2020-09-11 15:32:10 · 189 阅读 · 0 评论 -
网络编程(三)
一、什么是UDP,它的优缺点是什么UDP —> 用户数据报协议优点:消耗小,效率高缺点:不能保证数据的安全与可靠二、建立基于UDP的网络通讯程序需要使用的类和常用方法基于UDP的网络通讯程序是不区分客户端和服务器。...原创 2020-09-10 15:40:15 · 157 阅读 · 0 评论 -
网络编程(二)
一、什么是TCP,他的优缺点是什么 TCP —> 传输控制协议 优点:保证数据安全可靠 缺点:消耗大、效率低二、建立基于TCP的网络通讯程序需要使用的类和常用方法 基于TCP的网络通讯程序是区分客户端和服务器端2.1 创建客户端程序java.net Class Socket 创建基于TCP的通讯程序的客户端对象的java类通过这个类创建的对象就表示一个客户端构造方法Socket(InetAddress address, int port)创建流套接字并原创 2020-09-09 17:34:25 · 113 阅读 · 0 评论 -
网络编程(一)
一、什么是网络? 在计算机领域中网络是信息传输,接收,共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享。 作用:信息传输,资源共享 优点: 资源共享免费二、OSI七层参考模型和TCP/IP四层参考模型 计算机网络是指由通信线路互相连接的许多自主工作的计算机构成的集合体,各个部件之间以何种规则进行通信,就是网络模型研究的问题。 网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型。这两个模型在网络中应用最为广泛。 OSI七层参考模型 应用层\原创 2020-09-08 19:46:50 · 374 阅读 · 0 评论 -
Game游戏公司的故事
一、讨论会 有一个Game的游戏公司,正准备开发一款ARPG游戏(动作&角色扮演类游戏,如魔兽世界、梦幻西游这一类游戏)。这类游戏都有一个基本功能,就是打怪(玩家通过攻击怪物,借此获得经验、虚拟货币和虚拟装备),并i企鹅根据玩家角色所装备的武器不公,攻击效果也不同。这天,Game公司的开发小组正在开会对打怪功能中的某一个功能点如何实现进行讨论,他们面前的屏幕上是这样的一个需求ppt: 各开发人员,面对这份需求,展开了热烈的讨论,下面看看在讨论会上都发生了什么。二、实习生小贾的实现方式原创 2020-09-07 15:21:59 · 618 阅读 · 0 评论 -
Java多线程(四)
一、生产与消费模型 实际生活中,需要操作共享的某个资源(水池),但是对这个共享资源的操作方式不同(部分是注水[生产]、部分是抽水[消费])。把这种现象我们可以称为生产和消费模型。 生产:它可以采用部分线程进行模拟。多个线程同时给水池中注水。 消费:它可以采用部分线程进行模拟。多个线程同时从水池中抽水。 对资源的不同的操作方式,每种方式都可以让部分的线程去负责。多个不同的线程,他们对相同的资源(超市、水池等)操作方式不一致。 这个时候我们不能使用一个run方法对线程的任务进行封装。所以这里原创 2020-09-04 18:25:33 · 222 阅读 · 0 评论 -
Java多线程(三)
通过继承Thread类所创建的线程不能实现资源共享功能,例如:public class MyThread extends Thread{ //定义车票【共享资源】 private int piao=5; @Override public void run() { while(piao>0) { //我们通过线程的暂停来模拟 //收钱-->打票-->找钱 try { Thread.sleep(500); } catch (Inter原创 2020-09-03 21:19:03 · 192 阅读 · 0 评论 -
Java多线程(二)
一、线程中的常用操作方法Java.lang.Thread类【线程类】voidstart() 启动线程static ThreadcurrentThread()得到当前正在运行的线程对象StringgetName()返回该线程的名称voidsetName(String name)设置线程名称1. 当没有设置线程名称的时候,系统会赋予线程一个默认的名称“Thread-0,Thread-1…”2. 主线程【主方法的执行线程】的名称默认是“main”intgetPri原创 2020-09-02 21:09:28 · 155 阅读 · 0 评论 -
Java多线程(一)
一、什么是多线程1.什么是进程 进程:在操作系统中运行的某个软件/某个程序(主要是指在内存中)。 任何软件/程序要运行都要被加载到内存中,而内存负责运行这个软件/程序所需要的那些内存空间,就被称为当前软件在内存中的一个进程。 进程需要依赖于操作系统 进程就是操作系统中动态运行的静态代码。2.什么是线程 线程就是在操作系统中鼎泰运行的静态代码中的某一项具体功能的执行过程【执行轨迹/执行线索】例如: 我们在window操作系统上打开“暴风影音”播放电影,此时“暴风影音”就会在wi原创 2020-09-02 10:45:31 · 141 阅读 · 0 评论 -
学生管理系统(附源码)
在简单学生管理系统下进行优化,主要内容是将集合信息保存到文件在StudentDao类中建一个文件将集合中的学生信息保存到文件//指定文件保存的位置String path="student.txt";这个文件会生成在该工程下创建文件对象File dile-new File(path);创建字符流输出对象FileWriter out=new FileWriter(file);有一个异常用try{}块宝珠在catch{语句块中}打印堆栈,得到具体异常调用写出方法输出学生信息到文原创 2020-09-01 12:44:23 · 2123 阅读 · 6 评论 -
Java输入输出流(三)
一、常用的字符输入与字符输出流类1、字符输出流Write【顶级类】public abstract class Writer//不能new 1.1、FileWriter 方便写字符文件构造方法:FileWriter(File file)给一个File对象构造一个FileWriter对象FileWriter(File file, boolean append)给一个File对象构造一个是否允许追加FileWriter对象FileWriter(String fileN原创 2020-08-29 09:57:09 · 171 阅读 · 0 评论 -
Java输入输出流(二)
一、常用的字节输入与字节输出流类1.字节输出流OutputStream【顶级类】public abstract class OutputStream//不能被new1.1、FileOutputStream类定义:public class FileOutputStream extends OutputStream构造方法:FileOutputStream(File file)通过File对象创建一个不可追加的字节输出流FileOutputStream(File file原创 2020-08-28 09:49:07 · 123 阅读 · 0 评论 -
Java输入输出流(一)
输入输出流 就是对文件进行读【打开】写【修改】操作的java类库文件 就是把数据持久化到磁盘的载体文件的组成 1.文件的属性【文件名称,文件大小,文件类型,创建时间…】 2.文件内容【输入输出流】 我们要想通过java提供的输入输出流读写文件中的内容就得先学会操作文件。 Java中为我们提供了一个专门操作文件的java类 —> java.io.File类一、File类的对象创建和常用方法File类的定义public class FileFile类的静态成员变量原创 2020-08-26 22:29:39 · 291 阅读 · 0 评论 -
简单的学生管理系统详解(附源码)
package com.jindi.bean;/** * 保存学生信息的java类 */public class Student { //学生学号 private int stuid; //学生姓名 private String stuname; //学生年龄 private int stuage; //学生地址 private String stuaddress; //由于上面定义的保存学生信息的变量时私有的 //我们就需要为这些私有的变量提供可被访问的公共.原创 2020-08-26 09:26:25 · 9593 阅读 · 5 评论 -
Java集合框架(二)
一、HashMap类和Hashtable类的用法TreeMap与ConcurrentHashMapMap接口:集合接口 —> 主要处理的是键值对结构的数据键值对结构数据 —> 就是一个完成的数据是由键和键所对应的值组合而成的数据例如:书的目录就是一种键值对结构【标题 —> 页码】Map接口下的子类...原创 2020-08-24 10:57:49 · 184 阅读 · 0 评论 -
Java集合框架(一)
一、Java中集合框架的体系结构 集合框架 —> java做好的用来管理乱七八糟的一堆数据的java类库. 集合 —> 【乱七八糟的一堆】 框架 —> 做好的java类库二、Collection接口与Map接口的区别Collection接口Map接口处理单例数据的顶级接口处理键值对数据的顶级接口可以使用Iterator迭代器接口遍历集合没有Iterator迭代器接口三、List接口与Set接口的区别List接口Set原创 2020-08-21 20:51:51 · 152 阅读 · 0 评论 -
Java其他常用类
一、Math类有哪些常用方法Math定义public final class MathMath类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。Math里面的变量和方法都是静态的,因此是不需要对象访问,通过类型就可以直接调用static doubleE double值比其他任何一个都更接近 e ,自然对数的基数static doublePI double值比任何其他的更接近 pi ,圆周长与其直径的比率static longround(doubl原创 2020-08-20 21:43:58 · 285 阅读 · 0 评论 -
时间日期操作类
一、Calendar如何创建对象,有哪些常用方法 Calendar类的定义:public abstract class Calendar 他是一个抽象类,它不能通过new+构造方法的方式构建对象构造方法:protectedCalendar() 构建具有默认时区和默认的 FORMAT语言环境的日历protectedCalendar(TimeZone zone, Locale aLocale) 构造具有指定时区和区域设置的日历 Calendar类的定义和它的prot原创 2020-08-20 21:16:43 · 138 阅读 · 0 评论 -
字符串操作类StringBuilder和StringBuffer
一、StringBuilder类如何创建对象,有哪些常用方法 StringBuilder定义:public final class StringBuilder 是一个可变的字符序列。 此类提供的API与StringBuffer相同,但不保证线程安全。构造方法: (1)StringBuilder() 构造一个初始容量为16个字符的空StringBuilder对象。 (2)StringBuilder(CharSequence seq) 通过其他的StringBuilder对象创建一个新原创 2020-08-19 19:04:10 · 199 阅读 · 0 评论 -
Java字符串操作类String
一、String类如何创建对象,有哪些常用方法 String类 —> 表示一个字符串类【处理字符串数据的操作方法】 String类是使用final修饰符修饰的,说明它没有子类,不可被继承。例如:public final class String Java中所有的字符串文字(例如“abc”)都被实现为此类的实例。String类的构造方法 1.String() 初始化新创建的 String对象,使其表示空字符序列。 2.String(byte[] bytes, int offs原创 2020-08-18 23:12:22 · 262 阅读 · 0 评论 -
Java异常类处理
一、Java中异常类的体系结构 1.程序出现异常时正常现象【就跟人会生病一样】 2.Java中异常类Throwable【类】是顶级异常类 3.Throwable【类】有两个子类: (1)Error【错误】 (2)Exception【异常】二、Error与Exception的区别 Error是java程序运行中不可预料的异常情况,这种异常发生后,会直接导致JVM不可处理或者不可恢复的情况。所以这种异常不可能抓取到,比如OutOfMemoryError、NoClassDefF原创 2020-08-15 15:42:03 · 6303 阅读 · 1 评论 -
Java内部类
一、什么是内部类 将一个java类定义到另一个java类中的java类就是内部类。 外部类—>包含内部类的类 内部类—>外部类中的类 注意:内部类编译后会形成一个新的字节码文件【外部类类名$内部类类名.class】例如:pubic class Hello{//外部类 public class World{//内部类 }}二、成员内部类 成员内部类—>类中方法外【成员变量】特征成员内部类可以使用任意的访问限制修饰符。成员内部类可以有实例变量、原创 2020-08-14 20:04:42 · 125 阅读 · 0 评论 -
Java抽象类和接口
一、上转型对象及其特征 上转型对象: 子类对象赋值给父类对象 上转型对象是可以调用被子类继承的变量和方法,不能调用子类自己创建的变量和方法。 上转型对象不能调用子类自己创建的变量和方法,如果需要强制使用就需要将上转型对象强制类型转换成子类对象。例如:package com.wangxing.test1;//父类public class Person { public void testPerson() { System.out.println("父类Person的实例方原创 2020-08-13 22:35:08 · 666 阅读 · 1 评论 -
Java继承
一、什么是继承 1.继承体现的是一种父子关系。 2.继承是由一个已有的类创建出新类的机制。【扩展】 已有的类称为父类 新类称为子类 3.继承是面向对象的特征之一。二、如何完成一个继承关系 继承是由一个已有的类【父类】创建出新类【子类】的机制。 首先确保父类的存在。 通过extends关键字实现继承关系 继承格式: public class 新类 extends 父类{ }例如:public class Person{}public cl原创 2020-08-12 18:05:53 · 432 阅读 · 0 评论 -
Eclipse和包
Eclipse【IDE--集成开发环境】一、Eclipse下载 https://www.eclipse.org/downloads/二、Eclipse安装 只需要解压缩三、工作空间 工作空间:保存我们在Eclipse上创建的Java程序【工作空间有一个就行了】 首次使用Eclipse会有一个选择工作空间弹框四、认识Eclipse工作台五、设置字体 Window —> preferences —> 搜索“font” —> Colors and Fonts —原创 2020-08-11 15:41:31 · 388 阅读 · 0 评论 -
Java类和对象(对象)
一、什么是对象 1.对象是由我们自己创建的类来创建出来的。 2.对象就是类的实例【可以真正使用类的数据,可以调用类中元素的数据】 例如:修建大楼是绘制的设计图纸就是类,根据设计图纸修建起来的真实的可以住人的大楼就是对象。 3.一个类可以创建出多个对象二、如何创建对象 1.保证用来创建对象的类是存在 2.需要通过类中提供的构造方法创建对象 格式 : new 构造方法( [参数值] );例如:public class Person{ public Person()原创 2020-08-08 17:39:29 · 2229 阅读 · 0 评论 -
Java类和对象(方法)
一、Java类中方法的表现形式及其基本特征 Java类中方法是为了描述具有共同性质的一组数物的基本功能/行为。Java类中方法的表现形式1. 实例方法 实例方法格式: 访问限制修饰符 方法的返回值数据类型 方法的名称(参数列表){方法体} 1. 访问限制修饰符—public 缺省的 2. 方法的返回值数据类型 返回值-----方法执行结果 数据类型—基本数据类型【复合数据类型】 有返回值—方法体中的最后一句话是“return”,方法的返回值数据类型一原创 2020-08-07 19:00:12 · 290 阅读 · 0 评论 -
Java类和对象(类)
类是什么 1.类–类型–数据类型—复合数据类型—自定义复合数据类型 为什么有复合数据类型? 基本数据类型就8种,在开发中远远不够,所以我们就需要一个可以根据自己 的需求随时能制作出一个自己需要的数据类型。 2.类–具有共同性质的一组事物的群体。 人类 在java中用来描述具有共同性质的一组事物的自定义的复合数据类型—类。 复合数据类型的本质—【根据自己的需求制作自己需要的数据类型的模式/规则/公式】如何编写一个Java类 通过class关键字来创建一个类原创 2020-08-06 16:37:52 · 156 阅读 · 0 评论 -
Java数组
数组 数组是为了能够一次性保存一组数据 数组是复合数据类型之一什么是数组? 相同数据类型的数据按照顺序组成的复合数据类型就是数组。 1. 相同数据类型的数据----将来被保存到数组中的数据都是同一类型。 2. 按照顺序 3. 复合数据类型如何定义一个一维数组? 格式: 数据类型 数组名称[]; 数据类型 []数组名称; 数组的定义与变量的定义相似,只是需要”[]”与变量区分,因此上”[]”就是数组的标志。 名称的前面/后面出现一个“[]”就是一维数原创 2020-08-05 19:27:24 · 182 阅读 · 0 评论 -
Java中常用语句
一、Java语句的构成#mermaid-svg-AcELY2f2eVV5hlvH .label { font-family: 'trebuchet ms', verdana, arial; font-family: var(--mermaid-font-family); fill: #333; color: #333; }#mermaid-svg-AcELY2f2eVV5hlvH .label text { fill: #333; }#mermaid-svg-AcELY原创 2020-08-04 20:21:35 · 645 阅读 · 0 评论 -
Java运算符与表达式
一、复制运算符与赋值表达式 赋值运算符:“=” 例如:int num = 100;二、算术运算符与算数表达式 算术运算符:+ - * / % ++ --例如:public class SuanShu{ public static void main(String args[]){ //+ - * / % int num1=10; int num2=3; System.out.println(num1+"+"+num2+"="+原创 2020-08-01 16:54:39 · 275 阅读 · 0 评论 -
Java基本数据类型
一、Java基本数据类型有几种,如何表示,取值范围以及注意事项?数据类型——为了定义变量,限定变量的存储空间大小。Java中的数据类型Java中的数据类型基本/原生数据类型复合/引用数据类型Java中的基本数据类型有4类8种Java中的基本数据类型整数类型浮点类型字符类型布尔类型byte 1个字节short 2个字节int 4个字节long 8个字节float 4个字节double 8个字节char 2个字节boolean 1个字节整数类型(4) 1.字节型 byte -2的7次方~2原创 2020-07-31 19:25:32 · 204 阅读 · 0 评论 -
Java基本知识
1.Java中的注释注释==>注:标注;释:解释说明 注释就是标注(提醒)解释说明java代码的含义注释的作用 (1)解释说明java代码的含义。 为了让其他人能够看懂理解java代码的含义。 为了给将来的自己能够看懂理解java代码的含义。 (2)调试程序 因为注释的内容是不会被执行。注释的分类以及具体的表现形式和用法Java中的注释有3类1.单行注释位置:上面/后面表示: //注释内容2.多行注释位置:上面表示: /*原创 2020-07-30 17:40:46 · 188 阅读 · 0 评论 -
java概述
java概述1.java是什么? Java是一门面向对象编程语言.不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。 因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。1.2.面向对象是什么?它的基本特征是什么? 面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结原创 2020-07-29 22:08:02 · 1248 阅读 · 0 评论