Java学习之路
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
花狗Fdog
在人之上,要把人当人,在人之下,要把自己当人。
展开
-
Java开发编程规范(阿里巴巴版):5.集合处理
【强制】关于 hashCode 和 equals 的处理,遵循如下规则:1) 只要重写 equals,就必须重写 hashCode。 2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。3) 如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals。原创 2020-03-17 21:05:53 · 5896 阅读 · 0 评论 -
Java开发编程规范(阿里巴巴版): 4.OOP 规约
避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。说明:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。所有的覆写方法,必须加@Override 注解。相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。说明:可变参数必须放置在参数列表的最后原创 2020-03-16 13:32:19 · 1567 阅读 · 0 评论 -
Java开发编程规范(阿里巴巴版): 3.代码格式
【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。 4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。【强制】左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格;而左大括号前需要空格。详见第 5 条下方正例提示。反例:if (空格 a == b 空格)【强制】if/for/while/switch原创 2020-03-15 20:35:02 · 1820 阅读 · 0 评论 -
Java开发编程规范(阿里巴巴版): 2.常量定义
【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。反例:String key = "Id#taobao_" + tradeId; cache.put(key, value);【强制】在 long 或者 Long 赋值时,数值后使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。说明:大而全的常量类原创 2020-03-15 20:02:00 · 1815 阅读 · 0 评论 -
Java开发编程规范(阿里巴巴版): 1.命名风格
写代码的过程就好像我们写作文,虽然我语文课从来不好好听哈,但是对于写作文呢,语文老师说过一句话:要先写自己,再写集体,然后顺势扩展到国家,社会等等,反正呢,就是一步一步往大阔。我相信各位读者的语文老师也说过这句话,写的代码我认为可以比作是个人,集体,国家几个阶段,刚开始初级阶段,我们写的代码可以乱,可以随意,只要能实现我们所需要的功能即可,这便是作文中的个人,中级阶段,我们写的代码需要同别人交流,总不能我说汉语,你说英语,你与大多数人不同,那你一定是不受待见的那一个,这便是作文中的集体,再往后就不举例子了,原创 2020-03-15 16:40:57 · 1654 阅读 · 0 评论 -
Java连接MySQL以及出现的问题
java连接mysql数据库,以及JDBC连接数据库出现Loading class `com.mysql.jdbc.Driver'. This is deprecated.问题的相关解决方法。原创 2020-06-03 21:17:06 · 1720 阅读 · 2 评论 -
java创建链表
package number;public class chapter02 { public static void main(String[] args) { //生成5个节点 Node Head = new Node(0,null); //产生头节点 Node End = new Node(0,null); //产生尾节点 for(int i = 0;i<5;i++){ //创建节点 Node body = new Node(); Head.setSum(i原创 2020-05-27 20:28:21 · 2398 阅读 · 0 评论 -
java学习之路:33.自定义类对象转json字符串(记录我是如何从一无所知到最后的了解)
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。,,improt com.alibaba.fastjson.*;,次是提示The package com.alibaba.fastjson is not accessible,翻译过来就是这个类不可访问,提示java.lang.NoClassDefFoundError异常文章里面用了低版本那我也下载一个低版本试一试,原创 2020-02-29 21:56:22 · 2207 阅读 · 12 评论 -
java学习之路:32.史上最全的Swing常用组件
1.实例化JFrame对象,也就是创建一个窗体。2.获取一个容器。3.创建组件。4.向容器添加组件。5.使窗体可视。6.设置窗体大小。7.调用上面方法.应该有这样的概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器,通常,这个容器用来包含和显示组件。原创 2020-02-27 14:07:10 · 1695 阅读 · 0 评论 -
java学习之路:31.java常用布局管理器(绝对,流,边界,网格)
绝对布局,就是可以硬性指定组件在容器中的位置和大小,使用绝对坐标来指定组件的位置与大小。整个容器中的布局像“流“一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。在默认不指定窗体布局的情况下,Swing组件的布局模式是边界布局管理器,如果在容器中只添加了一个标签组件,这个标签将被放置在窗体中间,而且整个组件占据窗体的所有空间,边界布局管理器还可以将容器划分为东,南,西,北,中五个区域,网格布局管理器将容器划分为网格,所以组件可以按行和列进行排列。在网格布局管理器中,每一个组件的大小都相同原创 2020-02-25 20:09:31 · 1857 阅读 · 0 评论 -
java学习之路:30.JFrame窗体,JDIalog窗体
//使标签上的文字居中 jl.setHorizontalAlignment(SwingConstants.CENTER); container.add(jl);//将标签添加到容器中 container.setBackground(Color.white);//设置容器的背景颜色 jf.setVisible(true);//使窗体可视 jf.setSize(300, 200);//设置窗体大小 //设置窗体关闭方式原创 2020-02-23 15:22:48 · 1516 阅读 · 0 评论 -
java学习之路:29.异常处理
程序运行过程中发生了异常,系统不再执行下去,提前结束,这就是异常。Java语言是一门面向对象的编程语言,因此,异常在Java语言中也是作为类的实例的形式出现的。当某一方法中发生错误时,这个方法就会创建一个对象,并且把它传递给正在运行的系统,这个对象就是异常对象。通过异常处理机制,可以将非正常情况下的处理代码与程序的主逻辑分离,即在编写代码主流程的同时在其他方法处理异常。...原创 2020-03-19 15:37:33 · 5921 阅读 · 0 评论 -
java学习之路:28.内部类(成员,局部,匿名,静态)以及继承
在一个类中使用内部类,可以在内部类中直接获取其所在类的私有成员变量。在内部类中可以随意使用外部类的成员方法以及成员变量。尽管这些类成员被修饰为private。内部类的实例一定要绑定在外部类的实例上,如果从外部类中初始化一个内部类对象,那么内部类对象就好绑定在外部类对象上。内部类初始化方法与其他类初始化方法相同,都是使用new关键字。在实例化内部类对象时,不能在new操作符之前使用外部类名称实例化内部类对象,而是应该使用外部类的对象来创建其内部类的对象。...原创 2020-03-17 19:44:32 · 1562 阅读 · 0 评论 -
java学习之路:27.final变量,final方法,final类
final关键字定义的变量必须在声明时对其进行赋值操作,final除了可以修饰基本数组类型的常量,还可以修饰对象引用。一旦一个对象引用被修饰为final后,它只能恒定指向一个对象,无法将其改变以指向另一个对象。一个即是static又是final的字段值占据一段不能改变的存储空间。在Java中定义全局常量,通常使用public static final修饰,这样的常量只能在定义是被赋值。原创 2020-03-17 20:24:21 · 1373 阅读 · 0 评论 -
java学习之路:26.方法的重载,多态,抽象类与接口
方法的重载就是在同一个类中允许存在一个以上的同名方法,只要这些方法的参数个数或者类型不同即可。根据方法重载的定义:参数类型不同,构成重载。参数顺序不同,构成重载。参数个数不同,构成重载。其中,abstract是定义抽象类的关键字。使用abstract关键字定义的类称为抽象类,而使用这个关键字定义的方法称为抽象方法。抽象方法没有方法体,这个方法本身没有任何意义,除非它被重写,而承载这个抽象方法的抽象类必须被继承,实际上抽象类除了被继承之外没有任何意义。原创 2020-03-16 20:15:56 · 1581 阅读 · 0 评论 -
java学习之路:25.类的继承,Object类,对象类型转换,instanceo关键字
父类是老师,子类就是我们,随着长时间的相处,老师的行为,我们可以复制,也就是为我所用,老师的技能,也会被我复制,相当于我可以使用老师的技能,但是老师可能还会留一手,俗话说教会徒弟,饿死师傅,哈哈,而老师的家庭,我们可不能复制,所以,类成员有不同的修饰符来修饰,而老师家庭相当于是private,行为是public,技能是proteed。也就是说子类没有权限调用父类中被修饰为private的方法,只能调用修饰为public和protected的成员方法。原创 2020-02-20 17:01:03 · 1591 阅读 · 0 评论 -
java学习之路:24.大数字运算(BigInteger,BigDecimal)
BigInteger类型的数字要比Integer类型的数字范围大得多,并且支持任意精度的整数,在运算中,BigInteger类型可以准确地表示任何大小的整数值而不会丢失任何信息。该类中除了基本的加减乘除,还提供了绝对值,相反数,最大公约数以及判断是否为质数。BigInteger类具有很多构造函数,但最直接的一种方式是参数以字符串形式代表要处理的数字。语法如下:原创 2020-02-13 20:18:33 · 1477 阅读 · 0 评论 -
java学习之路:23.数学运算,随机数
在Math类中提供了众多数学函数方法,主要包括三角函数,指数函数,取整函数方法,最大值,最小值等等,用法如下:Math.数学方法除了数学函数外,还有一些数学常量,例如PI,E,可以用Math.PI调用,下面列出一些常见的数学运算方法。java中提供了两种方式产生随机数。分别调用Math类的random()方法和Random类提供的产生各种数据类型随机数方法。原创 2020-02-13 19:04:38 · 1423 阅读 · 0 评论 -
java学习之路:22.数字格式化
在Java中没有格式化的数据遵循以下原则:如果数据绝对值大于0.001或者小于1000000,Java将以常规小数形式表示。如果数据绝对值小于0.001或者大于1000000,使用科学记数法表示。如果上面的形式无法满足实际要求,Java提供了DecimalFormat类进行格式化操作。DecimalFormat是NumberFormat的一个子类,可以格式化十进制数字,或者也可以通过DecimalFormat类中的applyPattern()方法来实现数字格式化。在格式化化数字时,将使用一些特殊字原创 2020-02-10 21:54:16 · 1389 阅读 · 0 评论 -
java学习之路:21.了解所有数字的父类Number
抽象类Number是BigDecimal,BigInteger,Byte,double,float,Integer,Long和Short类的父类,Number的子类必须提供将表示的数值转换为byte,double,float,int,long,short的方法。原创 2020-02-10 14:35:22 · 1672 阅读 · 0 评论 -
java学习之路:20.掌握Double对象的创建以及Double类提供的各种方法
Double类提供两种构造方法:double(double value):基于double参数创建Double类对象。Double(String str):构造一个新分配的Double对象,表示用字符串表示的double类型的浮点值。MAX_EXPONENT:返回int值,表示有限double变量可能具有的最大指数。MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。NEGATIVE_INFINITY:返回double值,表示保存double类型的无穷大值的常量。原创 2020-02-10 15:02:06 · 2861 阅读 · 0 评论 -
java学习之路:19.掌握Character对象的创建以及Character类提供的各种方法
Character(char value)该类的构造函数必须时一个char类型的数据,通过该构造函数创建的Character类对象包含由char类型参数提供的值。一旦Chaeacter类被创建,它包含的数值就不能再改变。Character类提供了大量表示特定字符的常量。例如:CONNECTOR_PUNCTUATION: 返回byte类型值,表示Unicode规范中的常规类别“Pc”。UNASSIGNED:返回byte类型值,表示Unicode规范中的规范类别”Cn“。TITLECASE_LETTER:原创 2020-02-10 14:20:53 · 1939 阅读 · 0 评论 -
java学习之路:18.掌握Byte对象的创建以及Byte类提供的各种方法
byteValue| byte | 以一个byte值返回Byte对象 || compareTo(Byte anotherByte) | int | 在数字上比较两个Byte对象 || doubleValue() | double | 以一个double值返回此Byte的值 || intValue() | int | 以一个int值返回此Byte的值 || parseByte(String s) |byte | 将String类型参数解析成等价的字节(byte)形式 || toString() |原创 2020-02-09 19:47:31 · 3563 阅读 · 0 评论 -
java学习之路:17.掌握Boolean对象的创建以及Boolean类提供的各种方法
Boolean(boolean value)该方法创建一个表示value参数的Boolean对象。Boolean(String str)该方法以String变量作为参数创建Boolean对象,如果String参数不为null且在忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。Boolean提供三个常量:TRUE:对应基值true的Boolean对象。FALSE:对应基值false的Boolean对象。TYPE:基本类型boolean原创 2020-02-08 15:45:51 · 3338 阅读 · 1 评论 -
java学习之路:16.掌握Integer,Long,Short对象的创建以及其类提供的各种方法
Integer类有两种构造方法:Integer(int number)该方法以一个int类型变量作为参数来获取Integer对象。nteger类提供了4个常量MAX_VALUE:表示int类型可取最大值为2147483647。MIN_VALUE: 表示int类型可取最小值为-2147483648。SIZE:用来以二进制补码形式表示int值的位数。TYPE:表示基本类型int的Class实例。equals(Object IntegerObj) | boolean | 比较此对象与指定对象是否相等 || i原创 2020-02-08 14:27:13 · 3337 阅读 · 0 评论 -
java学习之路:15.对象的创建,属性,行为,引用,比较,销毁
和数组一样,在Java中使用new来调用构造方法来创建对象,学到这里倒是让我想到了C++,果然有了C和C++的基础,学习java会很快。言归正传,语法如下:类名 对象名 = new 类名(参数)这里的参数指构造方法的参数,如构造方法无参,则不用写。当创建对象时,自动调用构造方法,也就是说在java中初始化与创建是被捆绑在一起的。每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,对象就变成垃圾,由java虚拟机自带的垃圾回收机制处理,不能原创 2020-02-07 21:39:50 · 1349 阅读 · 0 评论 -
java学习之路:14.类的构造方法,静态变量,常量和方法,类的主方法
类中除了成员方法,还有一种特殊的方法,那就是构造的方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,每当类实例化一个对象时,类都会自动调用构造方法。在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化,如果类中没有明确定义构造方法,编译器会自动创建一个不带参数的默认构造方法。如果在类中定义的构造方法都不是无参的构造方法,那么编译器也不会为类设置一个默认的无参构造方法,当试图调用无参构造方法实例化一个对象时,编译器会报错,所有只有在类构造语法如下:原创 2020-02-07 20:24:14 · 1386 阅读 · 0 评论 -
java学习之路:13.类(成员变量,成员方法,权限修饰符,局部变量及有效范围,this关键字)
类的成员变量分为类变量(又称静态变量,被static修饰的变量)和实例变量(不被static修饰的变量),此外,还有定义在函数内部的变量称为局部变量,仅在函数内部有效。private String name; 这就是定义一个String类型的成员变量(实例变量)。现在先不管变量类型前面的修饰符。java中的权限修饰符主要包括private,public,protected,,这些权限修饰符控制着对类和类的成员变量,成员方法的访问,如果一个类的成员变量或成员方法被修饰private,则该成员变量或成员方法原创 2020-02-07 14:51:20 · 2049 阅读 · 25 评论 -
java学习之路:12.概述(对象,类,封装,继承,多态)
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,比如人,桌子,电脑,眼前的屏幕。在计算机的世界中,面对对象程序设计的思想要以对象来思考问题,首先要将现实的实体抽象为对象,然后考虑这个对象所具备的属性和行为,比如现在正在写这篇博文的我,就是一个对象,将我抽象为对象,然后识别这个对象的属性,对象具备的属性都是静态属性,比如我是男的,身高168,可以说话等等,接着识别这个对象的原创 2020-02-06 23:53:42 · 1351 阅读 · 0 评论 -
java学习之路:11.数组排序算法
介绍了数组中常用的冒泡排序,直接排序,倒置排序。原创 2020-02-06 20:43:14 · 1247 阅读 · 0 评论 -
java学习之路:10.数组的基本操作(遍历,替换,排序,复制,查询)
1.遍历数组2.填充替换数组元素3.对数组进行排序4.复制数组5.数组查询数组中的元素定义完成以后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。(1)fill(int[] a,int value) a:要进行替换的数组 value:要替换的值(2) fill(int[] a,int fromIndex,int toIndex,int value) fromIndex:第一个填充的索引 toIndex:最后一个填充的索引==(不包括)==原创 2020-02-04 20:04:58 · 1977 阅读 · 1 评论 -
java学习之路:9.一,二维数组创建初始化
所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。文章目录1.一维数组(1)声明一维数组(2)初始化一维数组2.二维数组(1)声明二维数组(2)初始化二维数组所谓数...原创 2020-02-04 17:28:49 · 1483 阅读 · 0 评论 -
java学习之路:8.字符串生成器
1.创建字符串生成器 StringBuilder str = new StringBuilder(字符串) append( content ) 该方法向字符串生成器中追加内容,content表示要追加的内容。```javaStringBuilder builder =new StringBuilder("huagou");//创建字符串生成器 builder.append(hello); ```insert(int offset ,arg)该方法用于字符串生成器指定原创 2020-02-03 21:56:03 · 1348 阅读 · 0 评论 -
java学习之路:7.正则表达式
正则表达式通常被用于判断语句,检测输入的内容是否为指定,比如有些网站的密码要求必须是数字加字母,或者是判断是否为电话号码,又或者是邮箱地址,再或者是网站,这些都是要求的特定输入,而正则表达式就是一些具有特殊意义的字符的字符串,这些特殊字符被称为正则表达式的元字符等等。文章目录1.正则表达式(1)元字符(2)方括号元字符(3)限定修饰符2.举例1.正则表达式正则表达式通常被用于判...原创 2020-02-03 20:26:11 · 1249 阅读 · 0 评论 -
java学习之路:6.格式化输出字符串
学过C语言的同学应该不陌生,%d,%c,和C语言一样,java也有一些转换符,只不过这些转换符更强大,下面来看看如何使用这些转换符。String类的静态 format()方法用于创建格式化后的字符串,该方法有两种重载方式。**(1)format(String format,Object....args)(2)format(Local l, String format,Object....args)**该方法使用指定的格式字符串和参数返回一个格式化字符串,格式化后的新字符串使用本地默认的语言环境,区别原创 2020-02-02 21:13:58 · 1317 阅读 · 0 评论 -
java学习之路:5.字符串操作
1.获取子字符串2.去除空格3.字符串替换4.判断字符串的开始与结尾5.判断字符串是否相等6.按声明字符串可以用String例如 String s;创建字符串有三种方法:char a[]={'h','e','l','l','o'};String s=new String(a);//上面两句等价于Strings=new String("hello");char a[]={'h','e','l','l','o'};String s=new String(a,2,4);/...原创 2020-01-31 22:07:57 · 1268 阅读 · 0 评论 -
java学习之路:4.String类 连接字符串 获取字符串信息
一.String类1.声明字符串2.创建字符串二.连接字符串1.连接多个字符串2接其他数据类型三.获取字符串信息1.获取字符串长度2.字符串查找3.获取指定索引位置的字符原创 2020-01-31 21:57:21 · 1492 阅读 · 0 评论 -
java学习之路:3.数据类型 变量 运算符 转换
java的基本数据类型大体上分为数值型,字符型,布尔型。而整数型又包括byte short int long,byte 8位 -128 127short 16 -32768 32767int 32 -2147483648 2147483647lont 64 .。。。。。。。。相对于C的基本整数来说,多了一个byte表示方法也和c...原创 2020-01-31 17:11:05 · 1324 阅读 · 0 评论 -
java学习之路:2.我的第一个java程序
我的第一个java程序,2020年1月30日,这是一个具有历史时刻的日子,今天是第一个java程序运行的日子!好了,就不抒情了,进入正题。记录下我的第一个java程序,见证着我一天天的强大。原创 2020-01-30 20:05:15 · 1869 阅读 · 0 评论 -
java学习之路:1.编译器Eclipse安装教程
大家好,我是花狗,下学期开学就要学习java了,今天有时间来安装一下Java编译器,想利用假期时间预习一下java。首先来下载有关软件:1.Eclipse下载地址2.JDK下载地址对应的MAC版下载地址:1.Eclipse下载地址2.JDK下载地址不选择百度网盘也是因为,百度网盘太慢了。如果地址失效,联系我。下载好所需软件后我们安装...原创 2020-01-22 20:09:45 · 3170 阅读 · 2 评论