java基础
Cht_t
这个作者很懒,什么都没留下…
展开
-
重拾JAVA基础18——Vector,Set(hashSet,treeSet),hashCode
package day16;/*说出ArrayList与Vector的区别 * 相同点:ArrayList与Vector底层都是使用了Object数组 * 不同点:1.ArrayList 是线程不同步的,操作效率高,Vector是线程同步的,操作效率低。 * 2.ArrayList是JDK1.2出现的,Vector是JDK1.0的时候出现的。 * * */import java.util.Vector;public class Demo1 { public stat原创 2021-01-30 18:03:05 · 192 阅读 · 0 评论 -
重拾JAVA基础17——List,迭代器使用
package day15;import java.util.ArrayList;import java.util.List;/* * ------|Collection * -----------|List 如果实现了List 接口的集合类 有序 可重复 * -----------|Set 如果实现了Set 接口的集合类,无序 不可重复 * 有序:不是指自然序列,而是指按照添加顺序保持一致。 * * List 接口中的特有方法都有操作索引值的方法,只有List接口集合类下的接口原创 2021-01-30 18:00:28 · 241 阅读 · 0 评论 -
重拾JAVA基础16——迭代器Iterator
package day15;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/* 迭代器 * * toArray() * iterator() * 迭代器的作用就是用于抓取集合中的元素 * 3个方法 * hasNext() 问是否有下一个元素,如果有返回T 否则F * * next() 取出元素... * * remove() * *原创 2021-01-23 14:28:38 · 135 阅读 · 0 评论 -
重拾JAVA基础14——线程安全问题
package cn.itcast.thread;/*进程: 进程就是正在运行的应用程序。 进程了负责了内存空间划分。线程: 一个进程中的 代码是由线程去执行的,线程也就是进程中一个执行路径。多线程: 一个进程中有多个线程可以同时执行任务。多线程 的好处: 1. 解决一个进程中可以同时执行多个任务的问题。 2. 提高了资源利用率。多线程的弊端: 1. 增加了cpu的负担。 2. 降低了一个进程中线程 的执行概率。 3. 出现了线程 安全问题。 4. 会引发死锁现象。原创 2021-01-21 21:28:22 · 158 阅读 · 0 评论 -
重拾JAVA基础13——简单验证码实现
package day12;import java.util.Random;public class Demo3 { public static void main(String[] args) { char [] arr = {'a','b','c','d','e','1','2','3','4','我','啥','去','父'}; StringBuilder sb = new StringBuilder(); Random random = new Random();原创 2021-01-21 16:04:28 · 143 阅读 · 0 评论 -
重拾JAVA基础12——常用util类,System类,Calendar日期类,Math数学类,Random随机数类
package day12;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Random;/* * System类常用方法,ArrayCopy() * currentTimeMillis() * RunTime 代表了应用程序的运行环境。 * getRunti原创 2021-01-21 15:54:22 · 128 阅读 · 0 评论 -
重拾JAVA基础11——字符串容器StringBuffer与StringBuilder
package day12;/*字符串的特点:字符串是常量,他们的值在创建之后不能修改。 * * 字符串的内容一旦发生了变化,那么马上就会创建一个新的对象。 * * 注意:如果需要频繁修改字符串的内容,建议使用字符串缓冲类(StringBuffer) * * StringBuffer 是一个存储字符的一个容器。 * * 添加数据: append(); * * StringBuffer 无参的构造函数初始时默认能容纳16个字符,如果长度不够用,自动增长1倍 * String原创 2021-01-21 13:54:03 · 198 阅读 · 0 评论 -
重拾JAVA基础10——String常用方法
package day12;public class Demo1 {//计算重复出现的子串,利用了split 出现一个子串(substr)会把主串(sub)分两段 public static int MyCount(String str ,String substr){ int sum = 0; int firstIndex = str.indexOf(substr); int lastIndex = str.lastIndexOf(substr); String[原创 2021-01-21 12:58:33 · 131 阅读 · 0 评论 -
重拾JAVA基础09——继承,super,this,重写,重载
package day08;/* * 球队--------球员 has a 的关系 * * 学生--------人 is a 的关系 * * 继承要注意的事项: * 1.不要为了继承而继承; * 2.父类的私有成员变量不可以继承。 * 3.父类的构造函数不能被继承。 * 4.创建子类对象时会先调用父类的构造方法。 * * super 关键字代表父类空间的引用。 * super 关键字作用: * 1.字符类存在着同名的成员时,在子类中默认访问子类成员,原创 2021-01-14 14:01:44 · 120 阅读 · 0 评论 -
重拾JAVA基础08——单例设计模式
package day08;/* * 单例设计模式:保证一个类在内存中只有一个对象。 * * 模式:模式就是解决一类问题的固定步骤。 * * 模式的概念最早起源于建筑行业... * * 软件行业中23中设计模式: * * 基础阶段: * 单例设计模式 * 模板设计模式 * 装饰者设计模式 * 观察者设计模式 * 工厂设计模式 * 饿汉式单例模式---Single(推荐使用) * 步骤: * 1.私有化构造函数 * 2.声明本类的引用类型变原创 2021-01-14 12:45:12 · 123 阅读 · 0 评论 -
重拾JAVA基础07——main函数详解
package day08;/* * main函数详解 * * public : 公共的 权限最大,在任何情况下都可以访问 * 原因: 为了保证JVM在任何情况下都可以访问main方法。 * * static :静态。静态可以让JVM 调用main函数的时候更加方便,不需要通过对象调用。 * 不使用static的麻烦: * 1.需要创建对象调用 * 2.JVM不知道如何创建对象,因为创建对象有些是需要参数的,参数传递什么呢? * void : 没有返回值, J原创 2021-01-14 11:54:57 · 99 阅读 · 0 评论 -
重拾JAVA基础06——static关键字
package day07;/* * static (静态修饰符) * 1. static 修饰成员变量 : 如果数据需要共享,用static修饰。 * 静态成员变量的访问方式: * 1. 对象名.变量名 * * 2. 类名.变量名 * 注意: * 1.非静态成员变量只能使用对象访问,不能使用类名进行访问 * 2.千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候才使用static修饰 *原创 2021-01-13 17:11:22 · 118 阅读 · 0 评论 -
重拾JAVA基础05——this关键字
package day07;/* *存在同名的成员变量与局部变量时,在方法内部访问的是局部变量(java 采取的是就近原则) * * this 关键字: * this 关键字代表了所属函数的调用者对象。 * this 关键字作用: * 1.如果存在同名成员变量与局部变量时,可以通过this访问指定成员变量的数值。 * 2.可以在一个构造函数中调用另一个构造函数初始化对象。 * this 关键字注意事项: * 1.存在同名的成员变量与局部变量时,在方法内部访问的是局部变原创 2021-01-13 14:51:26 · 99 阅读 · 0 评论 -
重拾JAVA基础04——构造代码块
package day07;/*构造代码块 * * 作用:给对象进行统一的初始化。 * * 格式: * * { * 构造代码块 * } * * 构造代码块的位置必须位于成员位置之上。 * * 代码块的类别: * 1.构造代码块 * 2.局部代码块,大括号位于方法之内。 作用:缩短局部变量的声明周期。节省一点点内存 * 3.静态代码块 * */class Baby{ int id; String name; //构原创 2021-01-13 12:30:11 · 115 阅读 · 0 评论 -
重拾JAVA基础03——构造函数
package day07;/*构造函数: * * 作用:给对应的对象进行初始化。 * * 构造函数的定义格式: * * 修饰符 函数名 (形式参数){ * 函数体 * } * * 注意细节: * 1.构造函数没有返回值类型 * 2.函数名与类名相同。 * 3.构造函数并不是手动调用的,而是在创建对象时,JVM会自动调用。new 的时候调用 * 4.如果一个类没有显示的写上一个构造方法时,那么JAVA编译器会为该类添加一个无参的构造函数。 * 5原创 2021-01-12 21:20:01 · 87 阅读 · 0 评论 -
重拾JAVA基础02——封装
package day06;/* *需求:使用java类描述百合网的会员。 *问题: 性别有问题? * *根本原因:由于其他人可以直接操作Sex 属性,可以对sex属性直接赋值。 * *面向对象的三大特征:继承,封装,多态 * *封装: * * *权限修饰符:权限修饰符就是控制变量可见范围的 *public : 公共的,任何人都可以访问 * *private: 私有的,只能在本类中进行直接访问。 * *封装的步骤: * 1.使用private 修饰需要被封装的属性。 *原创 2021-01-12 19:40:09 · 124 阅读 · 0 评论 -
重拾JAVA基础01——匿名对象
/* * 匿名对象:没有引用类型变量指向的对象称作匿名对象。 * 优点:简化书写。 * 注意事项: * 1.一般不会给匿名对象赋予属性值,因为永远无法获取到。 * 2.两个匿名对象都不可能是同一个对象。 * * 应用场景: * 1.如果一个对象需要调用一个方法,而调用完这个方法之后该对象就不再使用,这时候可以使用匿名对象。 * 2.可以作为实参调用一个函数 *//*需求:使用java类描述一个学生类 */class Student{ int num;//学号 St.原创 2021-01-12 18:12:38 · 137 阅读 · 0 评论 -
JAVA基础08-值传递
值传递:调用一个方法的时候,传递给方法的参数,实际上传递变量所存储的值。如果是不同的引用类型变量操作同一个对象,那么肯定会影响到结果的。引用类型的值交换基本类型的值交换对象交换/*值传递: 调用一个方法的时候,传递给方法的参数 ,实际上传递变量所存储的值。*/import java.util.*;class Person{ int x =10;}class D...原创 2020-02-13 16:26:55 · 175 阅读 · 0 评论 -
JAVA基础07-抽象类
我们在描述一类事物的时候,发现该种事物存在着某种行为,但是这种行为目前不是具体的,那么我们可以抽取这种行为的声明,但是不去实现该种行为,这时候这种行为我们称作为抽象的行为,我们就需要使用到抽象类。抽象类的好处: 可以强制要求子类一定要实现指定的函数。抽象类要注意的细节:如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象的函数。如果一个类出现了抽象函数,...原创 2020-02-13 13:36:16 · 142 阅读 · 0 评论 -
JAVA基础06-final关键字
final(最终,修饰符)final关键字的用法:final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的。final关键字修饰一个引用类型的变量时,该变量不能重新指向新的对象。final关键字修饰一个函数时,该函数不能被重写。...原创 2020-02-13 12:09:06 · 124 阅读 · 0 评论 -
JAVA基础05-继承,重写与重载
继承:通过extends体现的。继承要注意的事项:不要为减少重复代码而去继承,只有真正存在的继承关系的时候才去继承。父类私有的成员不能被继承,父类的构造函数也不能被继承。创建子类对象时会先调用父类无参的构造函数。为什么创建子类要先创建父类?意义何在?调用父类的构造方法,可以初始化父类继承下去的那些属性。super关键字super关键字代表了父类空间的引用。super关键字的作...原创 2020-02-12 19:31:42 · 223 阅读 · 0 评论 -
JAVA基础04-单例设计模式
模式:模式就是解决一类问题的固定步骤。模式的概念最早起源于建筑行业…软件行业中有23种设计模式常用:单例设计模式模板设计模式装饰者设计模式观察者设计模式工厂设计模式单例设计模式:保证一个类在内存中只有一个对象(防止别人new来new去),实际上就是想防止别人随意new对象,耗费内存空间,但是又不能不提供对象来使用,于是就用这种模式来控制对象的数量。//饿汉式单例设计模式cl...原创 2020-02-12 16:12:01 · 124 阅读 · 0 评论 -
JAVA基础03-static关键字
想象一下一间屋子里面的人要喝水,房间里面只要有一个饮水机供大家共享使用即可,在java中被共享的对象或者方法需要用到static修饰。(应用:用户创建对象的次数的计数器)static(静态\修饰符) 1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。 静态成员变量的访问方式: 方式1: 可以使用对象进行访问。...原创 2020-02-11 13:03:15 · 165 阅读 · 0 评论 -
JAVA基础02-this关键字
this关键字作用this关键字代表了所属函数的调用者对象。作用:如果存在同名成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据。在一个构造函数中可以调用另外一个构造函数,初始化对象。调用其他关键字的时候要注意:(1)this关键字调用其他的构造函数时,this关键字必须要位于构造函数中的第一个语句(2)this关键字在构造函数中...原创 2020-02-10 21:46:07 · 155 阅读 · 0 评论 -
JAVA基础01-构造函数相关
一. 普通函数与构造函数的区别:返回值类型的区别:1.构造函数是没有返回值类型的。2.普通函数是有返回值类型的。函数名的区别:1.构造函数的函数名要与类名一致。2. 普通函数的函数名只要符合标识符命名规则即可。调用方式的区别:1. 构造函数是在创建对象的时候JVM调用的。2. 普通函数是由我们使用对象调用的,一个对象可以多次调用普通的函数。作用上的区别:1. 构造函数的作...原创 2020-02-10 20:41:07 · 197 阅读 · 0 评论 -
JavaBean相关
<body> <% User user = new User(); user.setName("admin"); //设置用户名 user.setPwd("000000");//设置密码 %> <h1>使用普通方式创建JavaBean的实例</h1> <hr> 用户名:<%=user.getName() %><原创 2018-01-07 11:40:48 · 215 阅读 · 0 评论 -
Ubuntu配置JAVA环境变量
第一次使用markdown编写这个学习笔记,心里不免有些激动,但是激动归激动,笔记还是需要做的。现在开始准备工作。 第一步:下载 jdk oracle官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我下载的是8u91版的,因为我在win7下装的android st原创 2017-12-17 16:57:08 · 4382 阅读 · 0 评论 -
Java核心技术-异常处理
异常分类: 所有的异常都是由Throwable继承而来的,但在下一层立即分解为两个分支: Error和Exception。 Error类层次结构描述了Java运行时系统内部错误和资源耗尽错误。应用程序不应该抛出这种类型的对象。如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全地终止之外,再也无能为力了。这种情况很少出现。 Exception类层次结构又原创 2017-11-24 19:20:35 · 373 阅读 · 0 评论 -
Java基础:类加载器
package com.cht.classLoader;import java.util.Date; /** * java中默认的有三种类型加载器。 * 分别是:系统类加载器(应用类加载器)、扩展类加载器、引导类加载器。 * @author Cht_t * */ public class Test { public static void main(String原创 2017-11-21 20:18:15 · 280 阅读 · 0 评论