![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Peter__Li
长江不择细流,故能浩荡长存。
展开
-
Java数组算法——“回形数”或“回形矩阵” (数组元素的赋值类别算法)
介绍:从键盘输入一个整数(1~20)则以该数字为矩阵的大小,把1,2,3…n*n的数字按照顺时针螺旋的形式填入其中。例如:输入数字2,则程序输出:1 2 4 3 输入数字3,则程序输出:1 2 3 8 9 4 7 6 5输入数字4,则程序输出:1 2 ...原创 2019-12-07 22:36:21 · 2602 阅读 · 0 评论 -
Java数组算法——“杨辉三角”(数组元素的赋值类别算法)
介绍:杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。(以上内容来自百度百科)图示:代码:public static void main(String[]...原创 2019-12-04 21:34:30 · 251 阅读 · 0 评论 -
Java基础巩固系列 线程的通信
代码示例://线程通信。如下的三个关键字使用的话,都得在同步代码块或同步方法中。//wait():一旦一个线程执行到wait(),就释放当前的锁。//notify() notifyAll():唤醒wait的一个或所有的线程//使用两个线程打印1-100。线程1,线程2 交替打印class PrintNumber implements Runnable { int num ...原创 2019-04-06 21:39:29 · 677 阅读 · 0 评论 -
Java基础巩固系列 面向对象总结图
原创 2019-04-02 14:20:41 · 185 阅读 · 0 评论 -
Java基础巩固系列 集合(Collection)
Collection概述:集合(Collection)的两种体系:Collection接口继承树:Map接口继承树:Collection接口的常用方法:代码示例:/** * 1.存储对象可以考虑:1.数组 2.集合 * 2.数组存储对象的特点:Student[] stu = new Student[20]; ...原创 2019-04-02 14:46:56 · 138 阅读 · 0 评论 -
Java基础巩固系列 遍历集合的方法
代码示例:public class TestIterator { //面试题: @Test public void testFor3() { String[] str = new String[]{"AA", "BB", "CC"}; for (String s : str) { //原理:将str中的每一个元素赋给Strin...原创 2019-04-02 15:12:37 · 136 阅读 · 0 评论 -
Java基础巩固系列 List的主要实现类ArrayList
代码示例: //ArrayList: List的主要实现类 /** * List中相对于Collection,新增加的方法 * void add(int index, Object ele):在指定的索引位置index添加元素ele * boolean addAll(int index, Collection eles)在指定的索引位置inde...原创 2019-04-02 15:51:29 · 130 阅读 · 0 评论 -
Java基础巩固系列 面向对象的特征二:继承性
面向对象的特征二:继承性1.为什么要设计继承性?(见图示)2.通过“class A extends B”实现类的继承。 子类:A 父类:B(或者基类SuperClass)3.子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。明确: 1)但父类中有私有属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接调用罢了 2)...原创 2019-03-29 10:50:22 · 127 阅读 · 0 评论 -
Java基础巩固系列 日期类
代码示例:/* * 与时间相关的类 * 1.System类下的currentTimeMillis(); * 2.Date类:java.util.Date //Date类的API不易于国际化,大部分被废弃了。 * 如何创建其实例:其下的方法:toString()、getTime()(以及其子类java.sql.Date) * 3.SimpleDateFormat类 * ...原创 2019-04-08 14:48:02 · 159 阅读 · 0 评论 -
Java基础巩固系列 Math中的BigInteger与BigDecimal
示意图:代码示例:/** * Math相关的科学计算方法 * abs 绝对值 * acos,asin,atan,cos,sin,tan 三角函数 * sqrt 平方根 * pow(double a,doble b) a的b次幂 * log 自然对数 * exp e为底指数 * max(double a,dou...原创 2019-04-08 15:00:55 · 144 阅读 · 0 评论 -
Java基础巩固系列 Set的主要实现类HashSet
代码示例:Person类:public class Person { private String name; private Integer age; public Person() { } public Person(String name, Integer age) { this.name = name; ...原创 2019-04-02 17:44:59 · 193 阅读 · 0 评论 -
Java基础巩固系列 LinkedHashSet
代码示例:/** * Collection接口 * |-------List接口 * |--------ArrayList(主要的实现类) * |--------LinkedList(对于频繁的插入、删除操作) * |--------Vector(古老的实现类、线程安全的,但效率低于ArrayList) * |----...原创 2019-04-02 18:07:30 · 155 阅读 · 0 评论 -
Java基础巩固系列 StringBuffer与StringBuilder的使用
代码示例:/** * java.lang.StringBuffer:代表可变的字符序列,可以对字符串内容进行增删 线程安全 * java.lang.StringBuilder:代表可变的字符序列,是JDK5.0新加入的,线程不安全 效率高于StringBuffer * * StringBuffer append(String s), StringBuffer ...原创 2019-04-08 01:23:49 · 200 阅读 · 0 评论 -
Java基础巩固系列 String与包装类、字节数组、字符数组之间的转换
代码示例: /* * 1.字符串与基本数据类型、包装类之间转换 * 1.字符串 ----》 基本数据类型、包装类:调用相应的包装类的parseXxx(String str) * 2.基本数据类型、包装类----》字符串:调用字符串的重载的valueOf()方法 * * 2.字符串与字节数组之间的转换 * 1.字符串...原创 2019-04-08 00:42:08 · 200 阅读 · 0 评论 -
Java基础巩固系列 生产者/消费者问题
代码示例:/** * 生产者/消费者问题 * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品,店员一次只能持有固定数量的产品(比如:20), * 如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品了, * 店员会告诉消费者等一下,如果店中有产品了再通知消费者来取走产品...原创 2019-04-07 14:39:45 · 168 阅读 · 0 评论 -
Java基础巩固系列 类的成员之三:构造器(构造方法)
类的成员一:属性类的成员二:方法类的成员三:构造器什么的是构造器(construction 构造方法)?construction:建造者 CCB(中国建设银行)代码:Person person = new Person("小明"); //new了一个构造器class Person { public Person(String n)...原创 2019-03-28 11:35:50 · 259 阅读 · 0 评论 -
Java基础巩固系列 类的成员之五:内部类(InnerClass)
Note:1. 相当于说,我们可以在类的内部再定义类。外面的类:外部类。在里面定义的类:内部类。2. 内部类的分类:成员内部类(声明在类内部且方法外) vs 局部内部类(声明在类的方法里)3. 成员内部类: 3.1 是外部类的一个成员:1.可以有修饰符(4个)2.static final 3.可以调用外部类的属性、方法 3.2 具体类的特点: 1.abstra...原创 2019-04-01 21:23:42 · 135 阅读 · 0 评论 -
Java基础巩固系列 匿名内部类的应用举例
TestProduct代码示例:public class TestProduct { public static void main(String[] args) { TestProduct t = new TestProduct(); //方式一:创建一个实现Product接口的类的对象,并将此对象传入方法中 NoteBook n...原创 2019-04-01 21:25:15 · 155 阅读 · 0 评论 -
Java基础巩固系列 String的内存解析
代码示例:public class TestString { /** * String:代表不可变的字符序列。底层使用char[]存放 * String 是final的 */ @Test public void test1() { String str1 = "JavaEE"; String str2 ...原创 2019-04-07 14:41:56 · 146 阅读 · 0 评论 -
Java基础巩固系列 String的常用方法
代码示例1: /* * public int length() 长度 public char charAt(int index) 返回在指定index位置的字符,index从0开始 public boolean equals(Object anObject) 比较两个字符串是否相等,相等返回true 否则返回false p...原创 2019-04-07 14:42:45 · 232 阅读 · 0 评论 -
Java基础巩固系列 this关键字
什么是this?1.可以用来修饰属性、方法、构造器2.this理解为当前对象或当前正在创建的对象 //比如:this.name,this.show();3.可以在构造器中通过“this(形参)”的方式显示的调用本类中其他重载的指定的构造器 要求:1)在构造器内部必须声明在首行! 2)若一个类中有N个构造器,那么最多有N-1个构造器中使...原创 2019-03-28 20:54:45 · 92 阅读 · 0 评论 -
Java基础巩固系列 String算法类型的练习
代码示例:/** 1.模拟一个trim方法,去除字符串两端的空格。 2.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg” 3.获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在 “abkkcadkabkebfkabkskab”中出现的次数 4.获取两个字符串中最大相同子串。比如: s...原创 2019-04-08 00:40:38 · 247 阅读 · 0 评论 -
Java基础巩固系列 反射机制(Reflection)
概述:Person代码示例:public class Person { public String name; private int age; public Person() { } public Person(String name) { this.name = name; } ...原创 2019-04-08 16:28:30 · 148 阅读 · 0 评论 -
Java基础巩固系列 Map
Map概述:Map接口继承树:Map数据结构图:原创 2019-04-02 22:45:01 · 157 阅读 · 0 评论 -
Java基础巩固系列 TreeMap
代码示例:public class TestMap { //定制排序 @Test public void test5(){ Comparator com = new Comparator() { @Override public int compare(Object o1, Object o2) {...原创 2019-04-03 00:17:32 · 136 阅读 · 0 评论 -
Java基础巩固系列 LinkedHashMap
代码示例: @Test public void test3(){ Map map = new LinkedHashMap(); map.put("AA", 213); map.put("BB", 45); map.put(123, "CC"); map.put(null, null); ...原创 2019-04-03 00:17:25 · 148 阅读 · 0 评论 -
Java基础巩固系列 Properties(常用来处理属性文件)
Properties:|-------Hashtable:古老的实现类,线程安全,不建议使用 |------Properties:常用来处理属性文件,键值对都是String类型的代码示例: //使用Properties处理属性文件 @Test public void test6() throws IOException { ...原创 2019-04-03 00:17:38 · 130 阅读 · 0 评论 -
Java基础巩固系列 动态代理与AOP(面向切面)
概述:代码示例:interface Human { void info(); void fly();}//被代理类class SuperMan implements Human { @Override public void info() { System.out.println("我是蜘蛛侠!...原创 2019-04-09 13:39:49 · 254 阅读 · 0 评论 -
Java基础巩固系列 网络编程——网络通信概述
概述:原创 2019-04-09 15:12:09 · 175 阅读 · 0 评论 -
Java基础巩固系列 泛型
代码示例:/* * 泛型的使用 * 1.在集合中使用泛型 * 2.自定义泛型类、泛型接口、泛型方法 * 3.泛型与继承的关系 * 4.通配符 * */public class TestGeneric { /* * 通配符的使用 * */ @Test public void test7() { List<Strin...原创 2019-04-03 16:22:47 · 149 阅读 · 0 评论 -
Java基础巩固系列 InetAddress类的使用(网络通信的要素——IP)
通信的要素——IP :InetAddress类介绍:代码示例:/** 网络通信的第一要素:IP地址。通过IP地址,唯一地定位互联网上一台主机* InetAddress:位于java.net包下* 1.InetAddress用来代表IP地址。一个InetAddress的对象就代表这一个IP地址* 2,如何创建InetAddress的对象:get...原创 2019-04-09 15:54:02 · 189 阅读 · 0 评论 -
Java基础巩固系列 TCP与UDP编程(网络通信的要素——网络通信协议)
TCP与UDP属于传输层TCP与UDP:基于Socket的TCP编程由上理论可知想要TCP编程必须使用到Socket,客户端(client)使用Socket,服务端(server)使用ServerSocket,也叫Socket编程代码示例如下:例一://TCP编程例一:客户端给服务端发送信息。服务端输出此信息到控制台上//网...原创 2019-04-09 22:41:15 · 161 阅读 · 0 评论 -
Java基础巩固系列 URL编程
概述:代码示例://URL:统一资源定位符,一个URL的对象,对应着互联网上一个资源 //我们可以通过URL的对象调用其相应的方法,将此资源读取(“下载”) //本文中没有try-catch-finally是为了方便,实际开发中一定要try-catch-finally!!public class TestURL { public static voi...原创 2019-04-09 23:21:51 · 167 阅读 · 0 评论 -
Java基础巩固系列 静态代理与动态代理
静态代理模式://静态代理模式//接口interface ClothFactory { void productCloth();}//被代理类class NikeClothFactory implements ClothFactory { @Override public void productCloth() { System.out...原创 2019-04-09 00:01:14 · 164 阅读 · 0 评论 -
Java基础巩固系列 通过反射调用指定的属性、方法、构造器
属性://调用运行时类中指定的属性 @Test public void test3() throws Exception { Class clazz = Person.class; //1.获取指定的属性 //getField(String fieldName):获取运行时类中声明为public的指定属性名为fieldNam...原创 2019-04-09 00:01:08 · 167 阅读 · 0 评论 -
Java基础巩固系列 通过反射获取类的完整结构——其他篇
因为演示需要,所以把Person类尽量的造得尽可能的复杂,如下Person类:@MyAnnotation(value = "PeterLi")public class Person extends Creature<String> implements Comparable, MyInterface { public String name; privat...原创 2019-04-09 00:01:02 · 138 阅读 · 0 评论 -
Java基础巩固系列 方法的重写
区分方法的重写与方法重载的区别:方法重载:它是出现在同一个类当中,诸多个同名的方法之间构成重载方法重写:它是在子类当中,覆盖父类的同名方法构成重写Note:1.前提:有子类继承父类2.子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写、覆盖、覆写3.重写的规则: 1)要求子类方法的“返回值类型 方法名(参数列表)”与父类的方法一...原创 2019-03-29 12:19:29 · 105 阅读 · 0 评论 -
Java基础巩固系列 类的加载器(ClassLoader)
概述:代码示例: //关于类的加载器:classLoader /** * 引导类加载器:用C++编写的,是JVM自带的类加载器,负责Java平台核心库,用来加载核心类库。该加载器无法直接获取 * 系统类加载器:负责java –classpath 或 –D java.class.path所指的目录下的类与jar包装入工作 ,是最常...原创 2019-04-08 17:44:29 · 146 阅读 · 0 评论 -
Java基础巩固系列 创建运行时类的对象
代码示例:public class TestConstructor { @Test public void test1() throws Exception { String className = "com.peter.java19.Person"; Class clazz = Class.forName(className); ...原创 2019-04-08 18:14:12 · 166 阅读 · 0 评论 -
Java基础巩固系列 通过反射获取类的完整结构——Field(属性篇)
因为演示需要,所以把Person类尽量的造得尽可能的复杂,如下Person类:@MyAnnotation(value = "PeterLi")public class Person extends Creature<String> implements Comparable, MyInterface { public String name; privat...原创 2019-04-08 18:45:15 · 428 阅读 · 0 评论