JAVA学习之路(入门)
文章平均质量分 56
java学习入门,从头开始
大鱼不做程序猿
这个作者很懒,什么都没留下…
展开
-
JavaScript的DOM和正则表达式
需求:当用户点击了较验按钮,要获取输出框中的内容。然后验证其是否合法。验证的规则是:必须由字母,数字。下划线组成。并且长度是5到12位。代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" >原创 2021-03-29 21:17:16 · 510 阅读 · 0 评论 -
IDEA关联数据库
IDEA关联数据库首先打开一个IDEA工程,在右边可以看到Database一个按钮,点击。如上这个界面,点击加号选择Data Source,选择数据库类型,我这里使用的是MySQLHost:localhostUser:填写创建数据库时的用户名(这里以root为例)Password:填写用户名对应的密码Database:选择数据库点击测试连接一开可能没有驱动,那么根据它的提示直接安装就行。如果安装完驱动提示你连接错误,说时区没有设置,那么这个时候设置下时区就好了。cmd+r打开控制原创 2021-03-23 19:11:36 · 180 阅读 · 0 评论 -
2021.3.22
题目1protected访问权限要小于包访问权限。错Java类成员的访问控制权限:public > protected > 同包(default) > private默认访问权限是同一个包的,protected还包括其子类原创 2021-03-22 21:31:02 · 55 阅读 · 0 评论 -
JDBC-第五天
JDBC5package com.transaction;import com.jdbcUtil.jdbcUtil;import java.io.IOException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class transactionTest { public static void main(String[] args原创 2021-03-17 20:24:49 · 49 阅读 · 0 评论 -
JDBC-第四天
JDBC4.equalsIngoreCase():忽略大小写的比较判断一个变量是否与某个字符串相等:一般使用:这里,select为要比较的对象if("a".equalsIngoreCase(select)){}而不使用:if(select.equalsIngoreCase("a")){}这是因为,“a”放在前面可以避免空指针异常(因为select是未知的)PreparedStatement操作Blob的数据,而Statement做不到。MySQL BLOB是一个二进制大型对象原创 2021-03-16 20:37:54 · 154 阅读 · 0 评论 -
JDBC-第三天
JDBC-3ORM编程思想:一个数据表对应一个java类表中的一条记录对应java类的一个对象表中的一个字段对应java类的一个属性从结果集中获取列数int columnCount = rsmd.getColumnCount();获取列值Object columnValue = resultSet.getObject(int index);获取列的别名String columnLabel = rsmd.getColumnLabel(int index);借助反射,给Order原创 2021-03-15 20:20:55 · 117 阅读 · 0 评论 -
JDBC(第二天)
JDBC第二天操作和访问数据库数据库连接被用于向数据库服务器发送命令和SQL语句,并接受数据库服务器返回的结果。一个数据库连接就是一个Socket连接。Statement-用于创建一个Statement对象,发送SQL指令到数据库通过java对数据库进行操作下面是一个对books数据库的author表进行添加的实现:package com.loginTest;import com.connection.ConnectionTest;import java.io.IOException;原创 2021-03-12 21:20:16 · 48 阅读 · 0 评论 -
JDBC(第一天)
JDBC核心技术概述数据的持久化:把数据保存到可掉电式存储设备中以供以后使用。c/s架构(client-server):客户-服务端b/s架构(browser-server):浏览器-服务端前端的主流技术:HTML:骨架CSS:美化JavaScript:动态。—jQueryHTTP协议的理解,有时间要加强,加强,加强JDBC是一个独立于特定数据库管理系统,通用的SQL数据库存取和操作的公共接口。(java.sql,javax.sql)使用这些类库可以以一种标准的方法,方便地访问数据原创 2021-03-11 21:34:33 · 64 阅读 · 0 评论 -
MySQL入门(ALL)
数据库DBdatabase(数据库):存储数据的仓库,保存了一系列有组织的数据。DBMS数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器,管理DB中的数据。常见的数据库管理系统:MySQL,Oracle,SqlServer,DB2SQL结构化查询语言:专门用来与数据库通信的语言。SQL优点:不是某个特定数据库供应商专有的语言,几乎所有的DBMS都支持SQL可以进行非常复杂和高级的数据库操作。数据库的特点:将数据放到表中,原创 2021-03-11 16:33:55 · 481 阅读 · 1 评论 -
动态代理
动态代理代理设计模式的原理:使用一个代理将对象包装起来,然后用该代理对象取代原始对象,任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。静态代理-特征是代理类和目标对象的类都是在编译期间确定下来,不利于程序的扩展。同时每一个代理类只能为一个借口服务。一个实例//ProxyTest.javaimport java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java原创 2021-01-20 21:04:45 · 66 阅读 · 0 评论 -
java反射机制
java反射机制反射机制允许程序在执行期借助于Reflection API去的任何类的内部信息,并能直接操作任意对象的内部属性及方法。java反射机制提供的功能运行时判断任意一个对象所属的类运行时构造任意一个类的对象运行时判断任意一个类所具有的成员变量和方法运行时获取泛型信息运行时调用任意一个对象的成员变量和方法运行时处理注解生成动态代理反射机制与面向对象中的封装性是不是有矛盾的?不矛盾。通过直接new的方式或反射的方式都可以调用公共的结构,开发中到底用哪个直接用new的方式。原创 2021-01-18 21:49:21 · 58 阅读 · 0 评论 -
网络编程
网络编程对象流用于存储和读取基本数据类型或对象的处理流。它可以把java中的对象写入到数据源中,也可以把对象从数据源中还原回来。序列化:用ObjectOutputStream类保存基本类型数据或对象的机制反序列化:用ObjectInputStream类读取基本类型数据或对象的机制对象序列化机制:允许把内存中的java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。java对象可序列化的要求:Serializable原创 2021-01-16 10:44:36 · 94 阅读 · 0 评论 -
IO流
IO流I/O 开放中创新I/O用于处理设备之间的数据阐述java中,对于数据的输入/输出操作以“流”的方式来进行站位到内存(程序)的角度来看input和output输入input:读取外部数据到程序(内存)中输出output:将程序(内存)中的数据输出到存储设备中非文本的数据大多使用字节流(8 bit)抽象基类字节流字符流输入流InputStreamReader输出流OutputStreamWriter抽象类不能实例化流的分类操作数据单位:原创 2021-01-15 19:31:51 · 58 阅读 · 0 评论 -
泛型和IO
泛型泛型:可以理解为标签(JDK5.0之后)所谓泛型,就是允许在定义类,接口时通过一个标识标识类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时确定。集合接口或集合类在jdk5.0时都修改为带泛型的结构在实例化集合类时,可以指明具体的泛型类型指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法,构造器,属性)使用到类的泛型的位置,都指定为实例化时的泛型类型泛型的类型必须是类,不能是基本数据类型;需要用到基本数据类型的位置,拿包装类来修饰如果实例化时,没原创 2021-01-13 21:24:17 · 120 阅读 · 0 评论 -
Java入门(set相关)
Set练习题題目要求定义一个Employee类该类包含:private成员变量name,birthday,其中birthday为MyDate类的对象并为每一个属性定义getter,setter方法并重写toString方法输出name,age,birthdayimport java.util.Iterator;import java.util.TreeSet;public class HelloWorld { public static void main(String[]原创 2021-01-05 13:30:55 · 101 阅读 · 0 评论 -
List接口
List接口由于java中数组用来存储数据的局限性,我们通常使用list替代数组List集合类汇总元素有序,且可重复,集合中的每个元素都有其对应的顺序索引List容器中的元素都对应一个整型的序号记载其在容器中 的位置,可以根据序号索取容器中的元素ArrayList,LinkedList,Vector异同相同点:三个类都实现了List接口,存储数据的特点相同;存储有序的,可重复的数据不同点:ArrayList:作为List接口的主要实现类,线程不安全的,效率高;底层使用Object[原创 2021-01-03 19:15:12 · 67 阅读 · 0 评论 -
for-each
for-eachimport java.util.ArrayList;import java.util.Collection;public class HelloWorld { public static void main(String[] args) { Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(false);原创 2021-01-03 19:14:33 · 84 阅读 · 0 评论 -
枚举类
枚举类&注解枚举类的使用类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类如果枚举类中只有一个对象,则可以作为单例模式的实现方式枚举类的定义方式一public class HelloWorld { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); }原创 2021-01-03 19:13:43 · 96 阅读 · 0 评论 -
Java入门(String的3个算法题)
题目一将一个字符串进行反转,将字符串中指定部分进行反转方式一转换为char[]public class HelloWorld { /* 讲一个字符串进行反转,将字符串中指定部分进行反转 方式一:转换为char[] */ public static void main(String[] args) { HelloWorld temp = new HelloWorld(); String str = "hello world!";原创 2020-12-26 14:57:52 · 211 阅读 · 0 评论 -
常用类第一节
文章目录常用类String类特性String不变性的实例拼接String的常用方法string与基本数据类型,包装类之间的转换string->基本数据类型/包装类基本数据类型/包装类->stringString与字符数组之间的转换String->char[]char[]->StringString与byte类型的转换String->bytebyte->StringStringBufferString,StringBuffer,StringBuilder常用类Strin原创 2020-12-26 09:50:00 · 92 阅读 · 0 评论 -
多线程
文章目录多线程线程的生命周期线程的同步死锁Lock(锁)---解决线程安全问题的方式③synchronized 与 Lock的异同实例线程的通信sleep和wait的异同多线程3-实现Callable接口线程池多线程线程的生命周期JDK中用Thread.State类定义了线程的几种状态。要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:新建:当一个Thread类或其子类的对象被声明并创建时原创 2020-12-25 15:15:57 · 100 阅读 · 1 评论 -
Java入门(线程基本知识)
文章目录基本概念程序进程线程多线程的优点并行并发实例实例1实例2Thread中的常用方法线程的调度调度策略调度方法调度方法基本概念程序程序是完成特定任务,用某种语言编写的一组指令的集合。指一段静态的代码,静态对象。进程进程是程序的一次执行过程,或是在正在运行的一个程序。是一个动态过程,具有自身的产生,存在和消亡的过程。—生命周期线程进程可进一步细分为线程,线程是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的线程作为调度和执行的单位,每个线程拥有独立的运行原创 2020-12-24 11:08:24 · 45 阅读 · 0 评论 -
Java入门(项目三,职员管理系统)
模拟实现一个基于文本界面的《开发团队调度软件》文章目录模拟实现一个基于文本界面的《开发团队调度软件》任务及需求主要涉及知识点:实现的功能:需求:主界面添加团队成员开发团队人员组成要求:失败信息删除软件设计架构模块组成操作步骤创建项目基本组件实现service包实现view包代码实现view包TeamView类TSUtility类service包Data类NameListService类status类TeamException类TeamService类domain包Architect类Designer类Em原创 2020-12-20 17:56:53 · 275 阅读 · 0 评论 -
Java入门(异常)
文章目录异常处理异常抓抛模型try-catch-finally的使用throws+异常类型总结开发中如何选择使用try-catch-finally 还是throws?手动抛出异常例题一例题二总结异常在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中国仍然会遇到一些问题。因为很多问题不是靠代码能够避免的:客户输入数据的格式,读取文件是否存在,网络是否畅通等。java程序在执行过程中,所发生的的异常事件可分为两类:Error:Java虚拟机无法解决的严重问题。如:J原创 2020-12-18 20:11:00 · 88 阅读 · 1 评论 -
Java入门(接口-interface)
接口-interfacejava并不支持多重继承,但是有了接口,就可以得到多重继承的效果。接口和类是一种并列的关系;接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…必须能…”的思想。继承是一个“是不是”的关系,而接口体现的是“能不能”的关系。接口的使用使用interface来定义Java中,接口和类是并列的结构定义接口:定义接口中的成员JDK7以前-只能定义全局常量和抽象方法:全局常量(public static final);抽象方法(public abstract)。JD原创 2020-12-16 16:31:36 · 156 阅读 · 0 评论 -
Java入門(抽象方法练习)
抽象类 抽象方法(abstract)abstract可以用来修饰的结构:类,方法;不能用来修饰属性,构造器,私有方法,静态方法,final的方法,final的类抽象类一旦一个类被abstract修饰,那么这个类就不能创建对象(实例化)。开发中都会提供抽象类的子类,让子类对象实例化,完成相关的操作。抽象方法抽象广发只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法。若子类重写了父类中的所有的抽象方法后,子类才可以实例化;若子类没有重写父类中的所有抽象方原创 2020-12-13 15:46:01 · 166 阅读 · 0 评论 -
Java入门(final关键字)
final关键字可以用来修饰的结构-类,方法,变量由final修饰的类不能被继承final修饰的方法表明此方法不能被重写final修饰的变量表明该变量不能再被改变(也就是变成了一个“常量”),常用赋值方法如下:显示初始化-final int WIDTH = 6;代码块中赋值-{WIDTH = 6;}构造器中赋值-public 类名(){WIDTH = 6;}final修饰局部变量-尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参,一旦赋原创 2020-12-13 10:38:41 · 68 阅读 · 0 评论 -
Java入门(代码块)
代码块(初始化块)代码块的作用:用来初始化类或对象内部可以有输出语句,比如在{}之间加入System.out.println()语句静态代码块:static{}对于静态代码块,随着类的加载而执行静态代码块只执行一次静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性,方法,不能调用非静态的非静态代码块:{}非静态代码块,没创建一个对象,都会执行一次非静态代码块。非静态代码块可以在创建对象时,对对象的属性进行初始化。非静态代码块可以调用静态的和非静态的属性原创 2020-12-13 09:44:08 · 77 阅读 · 0 评论 -
Java入门(单例模式)
单例模式单例模式介绍由于单例模式只生成一个实例,减少了系统性能开销。当一个对象产生需要比较多的资源时,如读取配置,产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。单例模式包括饿汉式和懒汉式总结:1.刚开始就创建好对象,即为饿汉式2.用的时候再进行创建,则为懒汉式区别:饿汉式-一开始就创建好对象,即使不适用也会创建。一定程度上加载时间过长。具有线程安全的特性懒汉式-延迟对象的创建,即用即创。目前,线程不安全单例设计模式原创 2020-12-11 15:50:38 · 92 阅读 · 0 评论 -
Java入门(static练习)
static练习有关static的理论知识,请参考上篇博客。* 编写一个实现银行账户的概念,包含的属性有:“账号”,“密码”,* “存款余额”,“例率”,“最小金额”。* 定义封装这些属性的方法,账号要自动生成。* 编写主类,使用银行账户类,输入,输出三个储户的上述信息* 考虑:那些属性可以设计成static属性代码package com.helloworld.java;public class HelloWorld { public static void main(Stri原创 2020-12-11 15:04:15 · 244 阅读 · 0 评论 -
java入门(关键字知识)
关键字static当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。但有的时候,我们希望无论产生了多少对象,在数据的内存空间中只有一份。static可以用来修饰:属性,方法,代码块,内部类static作用静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量,当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时是修改过了的。static使用静态变量随着类的加原创 2020-12-11 10:49:12 · 83 阅读 · 0 评论 -
java入门(包装类练习)
包装类的练习练习要求:* 利用Vector代替数组处理:从键盘读入学生成绩,找出最高分,并输出学生成绩等级* 数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度* 向量类java.util.Vector可以动态伸缩** 给向量添加元素* v.addElement(Object obj);obj 必须是对象我们在之前的一篇博客中*****点击跳转*****已经实现过学生成绩的管理系统,功能包括遍历,添加,删除等。不过是基于数组,而今天,我会通过Vector来代替数组,并结合包装原创 2020-12-10 19:54:44 · 250 阅读 · 0 评论 -
java入门(equals方法知识点和练习)
文章目录@[toc]Object类== 运算符:equals()方法:== 运算符与 equals方法的区别equals重写练习Object类Object类是所有java类的根父类,如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.ObjectObject类中的功能(属性,方法)就具有通用性== 运算符:可以使用在基本数据类型变量和引用数据类型变量中如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等,不一定类型要相同;如果比较的是引用数原创 2020-12-07 17:15:19 · 113 阅读 · 0 评论 -
Java入门(多态的再次理解和练习)
instanceof有了对象的多态性以后,内存中实际上是加载了子类特有的属性和方法的,但是由于变量声明为父类类型,导致编译时,只能调用父类中声明的属性和方法。子类特有的属性和方法不能调用。如何才能调用子类特有的属性和方法?使用强制类型转换符(向下转型)可以看出,从高级的基本数据类型转换为较低级的基本数据类型就属于强制类型转换。从父类到子类的一个过程也可以看做是强制类型转换,或者叫做向下转型。使用强制转换时,可能会出现classcastException异常。为了避免该异常的发生,便引入了inst原创 2020-12-06 17:41:39 · 68 阅读 · 0 评论 -
java入门知识点(多态,super简单理解)
super(形参列表)调用父类的构造器。我们可以再子类的构造器中显示的使用super(形参列表)的形式来调用父类中声明的指定构造器。super(形参列表)必须声明在子类构造器的首行!我们在类的构造器中,针对于this(形参列表)或super(形参列表)只能二选一不能同时出现;首行没有显示的调用this或者super,则默认调用super()即空参的构造器。在类的多个构造器中,至少有一个类的构造器使用了super(形参列表)调用父类中的构造器。子类对象实例化对象从结果上来看:子类继承父类以后,原创 2020-12-05 16:55:40 · 174 阅读 · 0 评论 -
java入门小知识(继承)
class A extends B { }A:子类,派生类,subclassB:父类,超类,superclass体现:一旦子类A继承了父类B,那么子类A就拥有父类B的属性和方法。对于私有的属性,仍然可以继承,只是由于封装性不能直接调用,可以使用set get的方法来调用。(父类中声明为private的属性或方法,子类继承父类后,仍然认为获取了父类中私有的结构,只是因为封装性的影响,使得子类不能直接调用父类的结构而已)子类继承父类以后,还可以定义或者声明特有的属性和方法。(实现功原创 2020-11-30 21:33:24 · 102 阅读 · 0 评论 -
项目二(银行账户管理系统)
项目二(银行账户管理系统)运行步骤:新建工程->新建一个包->新建四个类(分别为:CMUtility,Customer,CustomerList,CustomerView)当然也可以创建不同的包,把不同的类放到对应的包下。运行CustomerView即可。这里按照尚硅谷的教程来实现一个银行账户管理系统,类似的入门级系统有(学生信息管理系统,旅游信息管理系统,酒店管理系统等)都可按照该系统仿写。该系统由三个模块组成:CustomerView:为主模块,负责菜单的显示和处理用户的操作;Cu原创 2020-11-30 10:57:41 · 973 阅读 · 0 评论 -
idea安装教程(不是jdr包哦)
之前的博客不行了,这里重新写一下具体的教程。·JDK和IDEA都有点赞评论拿资源,(因为大大不给放link)原创 2020-11-30 10:03:41 · 318 阅读 · 3 评论 -
java入门小练习(综合练习2,银行账户的存取)
综合练习public class HelloWorld { public static void main(String[] args) { Bank bank = new Bank(); //添加客户 bank.addCustomer("jane", "Smith"); //给客户0账户设置为2000 bank.getCustomer(0).setAccount(new Account(2000)); //取钱 bank.getCusto原创 2020-11-24 15:53:45 · 249 阅读 · 0 评论 -
java入门小练习(this和构造器的使用)
this调用构造器我们在类的构造器中可以显示的使用this(形参列表)方式,调用本类中指定的其他构造器构造器中不能通过this调用自己,只能调用别的如果一个类中有n个构造器,则最多有n-1个构造器中使用了this规定:this必须声明在当前构造器的首行位置构造器内部,最多只能声明一个this,用来调用其他的构造器package com.helloworld.java;public class HelloWorld { public static void main(String[]原创 2020-11-24 15:24:11 · 135 阅读 · 0 评论