Java
文章平均质量分 87
mayanni_blogs
这个作者很懒,什么都没留下…
展开
-
java标识符与关键字
java标识符与关键字1.1java注释单行注释://多行注释:/* /(不推荐)文档注释:/* */(用于方法与类之上描述其作用)1.2java标识符JAVA语言中,对于变量,常量、类、函数等的名称成为标识符a,标识符由“字母”“数字”“_”所组成,不能以数字开头,不能使用java关键字b,标识符采用有意义的简单命名驼峰命名法:变量、方法命名(小驼峰):标识符由多个单词组成...原创 2018-12-08 10:44:35 · 179 阅读 · 0 评论 -
String类详解(一)
1.String类详解1.1实例化方式1.1.1直接赋值(用到的最多)String str="hello";//String类直接赋值1.1.2通过构造方法赋值String str1=new String("hello");//通过构造方法赋值1.2 字符串相等比较"=="比较的两个操作符的值,对于基本类型而言比较的就是值的大小,对于引用类型而言,比较的是二者指向的堆内存地址是否...原创 2019-04-12 19:51:13 · 253 阅读 · 0 评论 -
String类详解(二)
1.8字符串比较boolean equals():区分大小写的比较boolean equalsIgnoreCase():不区分大小写的比较int compareTo(String anotherString): 当碰到第一个不相等的字符时,终止比较,返回两个字符的ASCII码差值。其中:当>0时,表示当前字符串 > 目标字符串=0时,表示当前字符串 = 目标字符串<0...原创 2019-04-12 20:03:18 · 219 阅读 · 0 评论 -
包和异常
一、包的定义与使用1.1 包(package)的定义以后在进入源文件时先定义包名称。Java包的本质就是一个文件夹,避免类名重复的问题。在源文件首行使用package定义包名编译时加上-d参数javac -d 源文件所在路径-绝对路径(当前路径 .) 源文件名称javac -d . Test.java运行时使用类的全名称(包名.类名)java www.bit.java.Test...原创 2019-04-22 21:12:58 · 206 阅读 · 0 评论 -
JDK1.5新特性及泛型
JDK1.5的新特性1.方法的可变参数:实际上使用的是数组结构在方法中使用…表示可变参数public static int add(int ... data){//本身还是一个数组 int result=0; for (int i = 0; i <data.length ; i++) { result += data[i]; } return result...原创 2019-04-18 18:56:25 · 205 阅读 · 0 评论 -
新特性概述-枚举、注解、Lambda表达式、方法引用
1.枚举(实际上就是多例)java中枚举使用enum来定义,enum并不是一个新的结构,使用enum定义的枚举实际上默认继承Enum枚举类。因此enum定义的枚举结构实际上就是一个多例类。1.1Enum枚举类常用的三个方法:ordinal():返回枚举对象下标,默认第一个对象编号为0;name():返回枚举对象名称,默认与对象名称保持一致values():返回所有枚举对象范例:对...原创 2019-04-28 20:17:30 · 393 阅读 · 0 评论 -
Java反射操作
一、反射的引出通常的正向处理:先有类,再根据类创建对象(根据包名.类名找到类)范例:import java.util.Date;public class ReflectTest { public static void main(String[] args) { Date date = new Date(); System.out.println(d...原创 2019-05-15 13:21:57 · 377 阅读 · 0 评论 -
ClassLoader类加载器、双亲委派模型
****** *1.ClassLoader 类加载器 *********1.1定义:类加载定义:通过一个类的全名称来获取此类的二进制字节流类加载器:实现类加载功能的代码模块1.2JDK内置的三大类加载器1.2.1BootStrapClassLoader(启动类加载器,c语言实现的加载器)I.使用C++语言实现,是JVM自身的一部分,独立于JVM外部,并且无法被java程序直接引用。I...原创 2019-05-26 10:19:37 · 96 阅读 · 0 评论 -
统计回文编程题: 花花非常喜欢这种拥有对称美的回文,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。
题目:“回文串”是一个正读和反读都一样的字符串,比如"level"或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到了两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受哗哗的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A=“abc”...原创 2019-05-26 14:28:59 · 501 阅读 · 0 评论 -
javaIO中的File类(创建文件、对文件、目录的操作、获取文件信息的方法)
JavaIO-BIO(阻塞式IO)-基于抽象类学习IO需要核心掌握五个类(File,OutputStream,InputStream,Reader,Writer) 及一个接口(Serializable)1.File文件操作类——既可以描述具体文件也可以描述文件夹在java.io包之中,File类是唯一一个与文件本身操作(创建、删除、取得信息…)有关的程序类文件操作三步走:1.取得File...原创 2019-06-05 16:23:08 · 1028 阅读 · 0 评论 -
字节流与字符流(流的操作流程、InputStream & OutputStream、Writer&Reader、转换流、实现文件拷贝)
2.字节流与字符流2.1流操作简介File类不支持文件内容处理,如果要处理文件内容,必须要通过流的操作模式来完成。流分为输入流和输出流。在java.io包中,流分为两种:字节流与字符流I.字节(byte)流:InputStream、OutputStream,可以处理文本文件、图像、音乐、视频等资源。II.字符(char)流:Reader、Writer,只能用于处理中文文本。字节流与字符...原创 2019-06-05 16:50:19 · 660 阅读 · 0 评论 -
字符编码(常见的字符编码、乱发产生的原因)
字符编码1常见的编码:I.GBK、GBK2312:GBK包含简体与繁体中文,GBK2312只包含简体中文。II.UNICODE:java提供的16进制编码,可以描述世界上任意语言,但是编码进制数太高,编码体积较大。III.ISO-8859-1:国际通用编码,不支持中文,浏览器默认编码。IV.UTF编码:结合UNICODE与ISO-8859-1,最常采用的是UTF-8编码。2乱码...原创 2019-06-05 16:52:06 · 292 阅读 · 0 评论 -
Java开发中用到的lombok是什么?内附lombok详解
在maven中添加lombok依赖<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6...原创 2019-09-02 12:37:34 · 454 阅读 · 0 评论 -
JDBC编程的执行流程(Connection类、DriverManger类、Statement类、释放资源调用close()方法)
JDBC编程步骤1.加载驱动/注册驱动 Class.forName("com.mysql.jdbc.Driver");//加载MySQL驱动类2.获取数据库连接DriverManager驱动管理类Connection连接抽象类Connection getConnection(String url, String user, String password)Connection con...原创 2019-09-02 16:18:49 · 841 阅读 · 0 评论 -
使用Statement类执行SQL语句时存在SQL注入漏洞(黑客攻击数据库常用手段),及预防注入的方法(PrepareStatement类)
什么是SQL注入SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,它目前是黑客对数据库进行攻击的最常用手段之一。SQL注入实例绕过登录(只需知道用户名、无需知道密码即可登录成功)实际userName=“zs”;password=“123”;//模拟用户输入userName和passwordSt...原创 2019-09-02 17:13:17 · 990 阅读 · 0 评论 -
Object类和包装类
Object类Object类是JDK默认提供的一个类,所有类默认继承Object类。Object类是所有类的父类,使用Object可以接收所有类的对象。1.取得对象信息toString()使用系统输出输出对象时,默认输出的是一个地址编码。而使用系统输出输出String常量时,输出的是字符串内容。本质原因就在于Object类提供的toString()有没有被类所覆写。系统输出(print/...原创 2019-04-15 18:41:18 · 256 阅读 · 0 评论 -
工厂模式
工厂设计模式(重点)java要求掌握的三种重点设计模式:工厂代理、单例例:某人想买电脑,有两种Mac和surface两种电脑package javaTest;interface Computer { void printComputer();}class MacbookProComputer implements Computer { public void pri...原创 2019-04-02 21:46:02 · 90 阅读 · 0 评论 -
初学java
C语言:面向过程java:面向对象,一切皆对象分布式:多个电脑可以跑同一个代码java可移植性;C语言C++编译型语言 系统强相关,无法移植。1.java是一门半编译半解释性语言,c语言是一门纯编译性语言编译命令:javac第一步通过使用编译命令javac 将*.java(源文件)编译为*.classclass文件为平台无关的二进制文件,提供JVM(java虚拟机)解释命令:j...原创 2018-12-06 20:20:10 · 110 阅读 · 1 评论 -
面向想对象编程-类与对象(上)
1.面向对象(OO或double O)三大特征(封装、继承、多态)最大特征:可以进行现实生活的抽象(1)封装:将客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或 对象操作,对不可信的进行隐藏。内部操作对外部而言不可见。(保护性)eg.银行卡取款,从C语言角度而言,只要知道取款过程就可以任意取款。(2)继承(可重用):可以使用现有类的所有功能,并且在无需重新编写原有类的基础...原创 2018-12-11 19:43:34 · 157 阅读 · 0 评论 -
super关键字 final关键字
super关键字(使用场景:有继承存在)调用父类的成员1.super调用构造方法a)当调用子类无参构造时,系统会自动在子类无参构造前加上super( );表示先调用父类的无参构造。(表示可以省略super关键字),此时子类可以使用this调用构造方法。b)当父类不存在无参构造时,必须在子类构造方法中使用super(参数)明确指定调用父类中的哪个有参构造。此时的super不能省略。此时子类不...原创 2018-12-17 22:53:56 · 130 阅读 · 0 评论 -
this关键字和static关键字
1.this关键字1.1 this 调用本类属性以后在类中调用本类属性时请加上this关键字1.2 this调用本类方法a.this 调用构造方法(1.)this() 表示调用类中的无参构造,this(构造方法参数)表示调用类中的构造方法(2.)this 调用构造方法必须放在构造方法首行(3.)this调用方法不能成环,必须是线性结构b.this 调用普通方法this.方法名(方...原创 2018-12-23 16:51:43 · 137 阅读 · 0 评论 -
多态的核心---方法覆写
对象多态的核心是方法覆写1.向上转型- 参数统一化(把一个子类的实例给了父类)父类 父类对象引用=子类实例 - 自动Person per =new Student( );看等号的右边 new的是哪个类,再调用的方法有没有被new的类所覆写2.向下转型 - 父类需要调用子类扩充的功能时子类 子类对象引用=(子类)父类实例 - 需要强转Student stu=(Student) P...原创 2019-03-03 15:46:46 · 342 阅读 · 0 评论 -
final关键字与this关键字
一、this关键字和super关键字的区别:从概念上看,this关键字是用来访问本类中的属性和方法;super关键字是由子类访问父类的属性和方法。2.从查找范围上看,this关键字是先查找本类,如果本类没有就调用父类;super关键字是不查找本类而直接查找父类。特殊性,this关键字是表示当前对象。注意:子类覆写父类的方法是因为父类的方法功能不足才需要覆写;方法覆写的时候使用的就是...原创 2019-03-03 15:50:52 · 239 阅读 · 0 评论 -
方法的定义与使用
一、方法的定义与使用(形参只有值传递)以下所有方法在主类中定义,并且在主方法中直接调用。1.方法声明:public static 方法返回值 方法名称([参数类型 变量]...) { 方法体代码; [return 返回值];}当方法以void声明时,表示此方法无返回值。但是void方法仍然可以与return返回值配合使用;表示结束方法调用。java方法只有值传递...原创 2019-03-20 16:42:52 · 223 阅读 · 0 评论 -
java中数组的定义与使用
数组的定义与使用1.java数组动态初始化(只要看见new 就在堆上开辟一块新空间)数据类型[] 数组名称 = new 数组类型[长度]eg:int[] data =new int[5];a.数组元素访问通过索引完成,下标默认从0开始。如果索引下标超过数组长度,会抛出数组越界异常(运行时异常)b.动态初始化后的数组,每个元素都有默认值。c.查看数组的长度: 数组名称.length...原创 2019-03-20 17:08:23 · 242 阅读 · 0 评论 -
数组与方法的互操作
数组与方法的互操作本质:方法引用传递1.方法接收数组public class ArrayDemo1{ public static void main(String[] args){ int[] data =new int[]{2,4,6,8,10}; printArray(data); } public static void printA...原创 2019-03-20 17:18:03 · 102 阅读 · 0 评论 -
java对于数组的支持
java对数组提供的支持组要有以下三方面:1.实现数组排序java.util.Arrays.sort(数组名称);或者在代码最前面加上import java.util.Arrays;然后在语句中写Arrays.sort(数组名称)只是8大数据类型,默认升序排序,内部采用双轴快速排序。public class ArrayDemo1{ public static void mai...原创 2019-03-20 17:59:18 · 147 阅读 · 0 评论 -
内部类(局部类)
内部类1.内部类:就是在类的内部进行其他类结构的嵌套class Outter{ private String msg = "I am Outter"; //以下为内部类定义-------------------------------------- class Inner{ public void fun(){ System.ou...原创 2019-04-01 20:40:51 · 125 阅读 · 0 评论 -
接口的定义与使用
三、接口的定义和使用接口优先原则:即可使用接口又可使用抽象类时,优先考虑接口1.定义:接口就是抽象方法与全局常量的集合;使用interface关键字定义为了区分类与接口,在所有接口前面追加大写字母I。子类实现接口使用implements关键字,并且子类可以同时实现多个接口(接口多继承)子类必须覆写所有抽象方法。并且子类命名一般使用impl结尾。多个接口若有共同子类,可以通过子类进行相...原创 2019-04-07 19:52:00 · 768 阅读 · 0 评论 -
判断一个字符串是否全部由数字组成?
代码实现如下public class StringClassTest { public static void main(String[] args) { String str="123b56c7"; if(isAllNumber(str)){ System.out.println("该字符串全都是由数字组成"); ...原创 2019-04-11 21:34:45 · 1735 阅读 · 0 评论 -
抽象类
一、抽象类尽量不要直接继承实现好的类,而要继承抽象类或者实现接口普通类无法强制要求子类覆写方法,因此产生抽象类与接口。1.抽象类的定义与使用抽象方法:使用abstract关键字定义并且没有方法体的方法,抽象方法所在的类就是抽象类public abstract void print();抽象类就是比普通类多了一些抽象方法(抽象方法可以有0~N个)而已(抽象类就是普通类的超集)抽象类...原创 2019-04-02 21:37:43 · 971 阅读 · 0 评论 -
单例模式(饿汉模式、懒汉模式(线程安全和线程不安全))
饿汉模式public class Singleton { private static Singleton instance=new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; }}这种方式在类加载时就完成...原创 2019-09-17 19:08:42 · 4032 阅读 · 1 评论