![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA学习
猪饲夫妇、
这个作者很懒,什么都没留下…
展开
-
JAVA九九乘法表
JAVA九九乘法表public class Day2{//构造主类,主类名为Day2 public static void main(String[] args){//主方法 int i=1; for(;i<=9;i++)//java中能够直接写出来的整形变量均是int型 { int j=1; ...原创 2018-11-30 23:34:10 · 2079 阅读 · 0 评论 -
自定义类覆写equals方法
自定义类覆写equals方法(对象比较)我们通过前面的学习可以知道,String类比较内容是否相等使用equals()方法,原因就是系统已经覆写了String类中的equals()方法。故能否正常比较两个类实例化对象内容是否相等,关键在于此类是否覆写了equals()方法。覆写equals()方法思路:(1)判断要比较对象的是否为null,若是直接返回false,若不比较则可能会出现空指针异...原创 2019-01-08 16:03:41 · 564 阅读 · 0 评论 -
javaSE上总结
面向对象三大特征:封装:继承:多态:数据类型与运算符数据类型划分基本类型 -数值型 -整形byte、short、int、long 0 -浮点型float、double 0.0 -字符型 char /u0000 -布尔型 boolean false引用类型 数组、类、接口方法重载与方法重写 -方法重载:在一个类中,定义了若干个方法名称相同,参数列表不同...原创 2019-02-28 23:10:12 · 418 阅读 · 0 评论 -
[亲测有效]intellij IDEA出现“this license K03CHKJCFT has been cancelled”错误时解决方法
intellij IDEA激活码错误时出现“this license K03CHKJCFT has been cancelled”的解决方法解决方案:第一步:修改hosts文件该文件Windows下路径为:C:\Windows\System32\drivers\etc修改hosts文件方法:因hosts所在路径非管理员不可修改,故我们可将hosts文件复制到桌面,用记事本打开,将“0*...原创 2019-02-25 17:45:34 · 42526 阅读 · 21 评论 -
饿汉式VS懒汉式单例模式
饿汉式单例模式VS懒汉式单例模式单例模式:有且只有一个对象设计模板:1.首先从源头上控制对象的产生数量–将类的构造方法私有化,即其他任何类均不能产生此类对象。2.类内部生成唯一静态私有对象。3.类内部提供静态属性返回唯一对象。饿汉式单例模式class Person{ private String name; private Integer age; priva...原创 2019-03-02 16:21:25 · 114 阅读 · 0 评论 -
java泛型实现数组 单链表 双链表动态增删改查
泛型实现数组动态增删查改//Sequence.java//线性表规范public interface Sequence<T,E> {//泛型接口 /** * 向线性表中添加元素 * @param data 要存储的元素 */ void add(E data); /** * 线性表中删除元素 * @para...原创 2019-03-19 16:02:30 · 342 阅读 · 0 评论 -
内建锁、Lock锁实现生产者与消费者模型
内建锁、Lock锁实现生产者与消费者模型内建锁(synchronized)实现代码:synchornized必须在同步代码块或同步方法中使用。import java.util.ArrayList;import java.util.List;class Goods{ private String goodsName; private Integer count=0; ...原创 2019-04-05 16:39:46 · 302 阅读 · 0 评论 -
内建锁(多线程练习题)写两个线程,一个线程打印1-52,另一个线程打印A-Z,打印顺序是12A34B...5152Z
写两个线程,一个线程打印1-52,另一个线程打印A-Z,打印顺序是12A34B…5152Z解题思路:根据打印顺序我们可以看到是两个数字+一个大写字母为一个循环;明确循环后要保证两个线程是交替进行(且打印数字在前),故需要设置标志位明确保证此时要运行哪个线程;之后再创建线程即可。class Print{ //标记位 private boolean flag=true; ...原创 2019-04-01 23:47:08 · 471 阅读 · 0 评论 -
内建锁(多线程练习题)--编写一个程序,启动三个线程,三个线程的名称分别为A、B、C;每个线程将自己的名称在屏幕上打印5遍,打印顺序是ABCABC...
编写一个程序,启动三个线程,三个线程的名称分别为A、B、C;每个线程将自己的名称在屏幕上打印5遍,打印顺序是ABCABC…解题思路:该题为多个线程交替输出,且输出5次;故我们需要启动三个线程,设置标志位(int flag)明确当前线程,利用count计数器控制输出次数;明确某一线程启动时其他线程等待及唤醒操作。class Print{ private Integer flag=1; ...原创 2019-04-01 23:48:39 · 496 阅读 · 0 评论 -
类集---ArrayList、Vector、LinkedList的区别
ArrayList、Vector、LinkedList的区别ArrayList与Vector的区别:1.出现版本:ArrayList:JDK1.2Vector(老版动态数组实现类):JDK1.0、出现在ArrayList、Collection接口之前2.无参构造实现(初始化策略不同):ArrayList:采用懒加载策略,在构造方法阶段并不初始化数组,而是在第一次添加元素时才初始化对象数...原创 2019-04-08 17:08:33 · 76 阅读 · 0 评论 -
文件拷贝
文件拷贝问题思路:需要结合字节输入输出流,因首先需要将源文件利用字节输入流拷贝一份,然后再使用字节输出流将其输出到终端即可。import java.io.*;class CopyFileUtil{ private CopyFileUtil(){} public static void createParentFilePath(String path){ Fil...原创 2019-04-02 23:45:09 · 102 阅读 · 0 评论 -
自定义Lock锁
自定义Lock锁import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;class...原创 2019-04-21 16:45:47 · 328 阅读 · 0 评论 -
类集---List接口与Set接口
类集—List接口与Set接口Collection接口List接口List具体实现三个常用子类(ArrayList、Vector、LinkedList)集合输出1.Collection接口java类集所有类均在java.util包下。java类集本质上是动态数组(当元素个数达到最大值时,动态增加容量),在JDK1.2引出。作用为解决数组定长问题。java集合类框架是加上就是ja...原创 2019-04-14 17:57:09 · 210 阅读 · 0 评论 -
深浅拷贝详解
深浅拷贝Object类clone()方法深浅拷贝概念(重要)深浅拷贝实现方式我们首先来学习一下Object类中的clone()方法//我们可以看到,clone()方法为本地方法,且使用该方法可能会抛出CloneNotSupportedException异常protected native Object clone() throws CloneNotSupportedExceptio...原创 2019-04-23 21:47:03 · 564 阅读 · 1 评论 -
字符串转换为数值型(判断字符串是否为纯数字组成)
字符串转换为数值型(避免非数字错误)当字符串转为数值型(Number直接子类)时,若字符串组成中含有非数字那么转换就会出现运行错误–数值转换异常(NumberFormatException),故我们在进行字符串转换为数值时,首先应判断字符串是否由纯数字构成。**public class Test{ public static void main(String[] args) { ...原创 2019-01-08 16:01:27 · 4003 阅读 · 0 评论 -
字符串中首次出现三次的字符
问题描述:给定一个英文字符串,写一段代码找出字符串中首先出现三次的英文字母。 输入描述:输入数据一个字符串,包括字母,数字 输出描述:输出首先出现三次的那个英文字符 示例: 输入: Have you ever gone shopping 输出: e问题思路:(1)字符串转换为字符数组。(2)重点:字符与整形系统可直接通过ASCII码值进行转换,遍历字符数组,每个字符均对应一个数字,当数字次...原创 2019-01-13 21:44:34 · 1856 阅读 · 2 评论 -
java斐波那契数列
java斐波那契数列问题描述:一个斐波那契数列是由数字1、1、2、3、5、8、13、21、34等等组成的,其中每一个数字(从第三个数字起)都是前两个数字的和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数指定的个数所构成的所有斐波那契数字。例如,如果运行 java Fibonacci 5(Fibonacci为类名),那么输出应该是1、1、2、3、5。问题思路:(1)构造...原创 2018-12-07 16:56:41 · 3688 阅读 · 3 评论 -
java求阶乘
JAVA递归方式求数字阶乘public class Day12_2{ public static void main(String[] args){ System.out.println(sum(20));//用递归方式求20! } public static long sum(int num){ //注意20!的值已经超出int最大值,故...原创 2018-12-03 18:17:14 · 5921 阅读 · 0 评论 -
java数组反转
JAVA数组反转//模拟数组反转public class Day12_2{ public static void main(String[] args){ int[] data=new int[]{1,2,3,4}; for(int i:data){ System.out.print(i+" ");//输出原数组 ...原创 2018-12-03 18:25:29 · 304 阅读 · 0 评论 -
java数组排序
JAVA数组最大值、最小值、和的求解Arrays.sort(arrayName)命令进行升序排序。public class Day12_2{ public static void main(String[] args){ int[] A=new int[]{1,6,7,9,201,45,6,99}; char[] B=new char[]{'t','a'...原创 2018-12-03 18:34:41 · 156 阅读 · 0 评论 -
java数组拼接
JAVA数组拼接(扩容) int[] A=new int[]{1,3,5,7,9}; int[] B=new int[]{2,4,6,8,10}; arrayJoin(A,B); } public static void arrayJoin(int[] a,int[] b){ int[] arr=new int[a.l...原创 2018-12-03 18:38:33 · 21649 阅读 · 1 评论 -
java数组截取
JAVA数组截取public class Day12_2{ public static void main(String[] args){ int[] A=new int[]{1,3,5,7,9}; int start=1; int end=3; arraySub(A,start,end); } public...原创 2018-12-04 09:40:23 · 15356 阅读 · 0 评论 -
Java水仙花三种方法
问题描述:打印所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。//1.内部类求解class Flowers{ private int num; class WaterFlowers{//内部类(内部类可直接访问外部类的私有域) public voi...原创 2018-12-23 22:38:19 · 12470 阅读 · 2 评论 -
java求圆柱体体积面积(接口继承、字符串常用方法)
Java求圆柱体体积面积(接口继承、字符串用法)问题描述:按如下要求编写Java程序:(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。(2)定义接口B,里面包含抽象方法void setColor(String c)。(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。(4)定义圆柱体类Cylinder实现接口C,该...原创 2019-01-03 23:09:03 · 7750 阅读 · 1 评论 -
JAVA创建一个抽象类Role,有姓名、性别等变量
问题描述:定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量1)要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通过Getter()和Setter()方法对各变量进行读写。具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。2)从Role类派生出一个"Employee"类,该类具有Role类的所有成...原创 2018-12-24 19:03:55 · 4362 阅读 · 0 评论 -
模板方法模式---星巴克泡茶泡咖啡例题
问题描述:星巴克咖啡冲泡法:1.净水煮沸;2.用沸水冲泡咖啡3.将咖啡倒入杯子4.加奶和糖冲泡茶方法:1.净水煮沸;2.用沸水冲泡茶3.将茶倒入杯中4.加柠檬问题思路:仔细观察我们可以得知,虽为两种饮料但制作过程相似。**我们可以将其抽象出一个父类,相同的步骤可在父类中定义,不同的步骤可在父类中定义为抽象类,在子类中具体实现(方法覆写),**这样的好处是程序冗余度较低,易修...原创 2018-12-25 18:20:34 · 745 阅读 · 0 评论 -
java判断是否为快乐数
Java算法例题判断是否为快乐数问题描述:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数 。示例:输入: 19 输出: true 解释:1^2 + 9^2 = 828^2 + 2^2 = 686...原创 2019-01-10 22:39:33 · 794 阅读 · 0 评论 -
Java计算器(简单版规定数字及键盘输入两种方法)
Java计算器问题描述:利用接口做参数,写个计算器,能完成加减乘除运算。(1)定义一个接口Compute含有一个方法int computer(int n, int m)。(2)设计四个类分别实现此接口,完成加减乘除运算。(3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过...原创 2019-01-02 18:15:51 · 3366 阅读 · 0 评论 -
java实现---两个超长正整数相加
两个超长正整数相加题目描述:请设计一个算法完成两个超长正整数的加法。借口说明:输入参数: String addend:加数 String augend:被加数 返回值:加法结果 public String AddLongInteger(String addend,String augend){ /*在这里实现功能*/ re...原创 2019-06-04 23:17:54 · 3309 阅读 · 0 评论