自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++中的函数模板

函数模板允许以任意类型的方式来定义函数,模板使用如下:template<typename/class T> //使用typename或class均可返回值类型 函数名(T a,T b...){ 函数体 }函数模板在声明和定义时均需要写template<typename/class T>。函数模板一般放在头文件当中,并在需要使用模板的文件中包含头文件。函数模板同样可以重载,即函数的特征标(形参的类型或个数)不同。

2023-04-16 19:18:23 199

原创 C++中的指针、数组和指针算术

:取值运算符 &:取址运算符int *p1=a;//指针p1指向数组中第一个元素,此时p1+1将指向数组中第二个元素int *p2=&a;//指针p2指向数组的头,此时p2+1将指向跳过此数组全部长度的下一位置数组名就代表数组中第一个元素的地址,p1和p2存储的地址相同,但表达的含义不同,即+1时指针指向的也不同。

2023-04-02 19:21:40 132

原创 C++中的cin处理非法输入,对get()和getline()的使用,以及对文件的输入输出

int n;cin>>n;上述语句中,如果用户输入一个字符,将发生错误,此时cin会进行以下几种处理:1.不匹配的输入仍留在输入队列中2.cin对象中的一个错误标记被设置3.对cin方法的调用将返回false因此输入错误时应使用以下步骤解决:while(!(cin>>n)) //注意!(cin>>n)中的括号不能省略,输入错误时进入循环,直至输入正确//使用该方法清除错误标记='\n');//吸收输入队列中非法的输入,直至回车符出现cout

2023-04-02 18:34:54 993

原创 JavaSE之Properties类属性集以及缓冲流

Map<K,V>接口有一个早期的实现类是Hashtable<K,V>,目前已被HashMap所取代,但Hashtable下有一个子类目前仍在使用。即Properties集合,该集合是目前唯一一个与IO流结合的集合一、Properties集合Properties集合同样是一个双列集合,它的属性列表中的键和值都是字符串使用Properties集合中的store方法把集合中的临时数据写入到硬盘中存储使用Properties集合中的load方法把硬盘中保存的键值对读取到集合中

2022-03-17 21:57:47 122

原创 JavaSE之IO流中的字节输出流(OutputStream)、字节输入流(InputSream)和字符输入流(Reader)、字符输出流(Writer)

字节输出流和字节输入流均位于java.io包下,且均为抽象类,两者都有诸多子类,FileOutputStream和FileInputStream是两者各自的子类之一,分别为文件字节输出流和文件字节输入流一、字节输出流(OutputStream)该类中的一些方法如下:FileOutputStream类有多个构造方法:1.FileOutputStream(String name); 创建一个向具有指定名称的文件中写入数据的输出文件流,String name:文件的路径2.File...

2022-03-16 20:27:01 1855

原创 JavaSE之File类及相关方法

File类位于java.io包下,主要用于文件或目录的创建、查找和删除等操作一、File类的静态成员变量static String pathSeparator //字符串表示的路径分隔符static char pathSeparatorChar //路径分隔符static String pathSeparator //字符串表示的默认文件名称分隔符static char separatorChar //默认文件名称分隔符路径分隔符在Windows系统下为...

2022-03-14 20:50:19 714

原创 JavaSE之线程安全问题以及线程间通信

线程安全问题:当多个线程访问同一共享资源时,且多个县城中对资源有写的操作,就会很容易产生线程安全问题,线程安全问题在实际中是不应该产生的,解决线程安全问题可以利用线程同步,线程同步包括三种:同步代码块、同步方法。锁机制(Lock锁)一、同步代码块synchronized(同步锁){//需要同步操作的代码}同步代码块中的锁对象可以使任意对象,但必须保证多个线程使用的锁对象是同一个锁对象将同步代码块锁住,保证只让一个线程在同步代码块中执行同步中的线程,在获得锁对象...

2022-03-11 18:12:23 313

原创 JavaSE之创建多线程程序以及Thread类相关方法

在一个进程中执行一个功能时,就会开启一条到CPU的执行路径,CPU就可以通过这个路径执行功能,这个路径就是线程,线程的调度分为分时调度以及抢占式调度。java使用java.lang.Thread表示线程,每个程序都具有一个主线程,即执行mian方法的线程单线程程序:只有一个主线程,执行从main开始,从上到下依次进行Thread类常用方法:获取当前执行线程的名称:System.out.println(Thread.currentThread().getName());创建多线程程序有

2022-03-05 23:28:44 238

原创 JavaSE之Map集合以及HashMap和LinkedHashMap

一、Map<K,V>集合Map集合被称为双列集合,每个元素包含键(Key)和值(Value),将键映射到值,一个映射不能包含重复的键,每个键最多只能映射到一个值,即Key和Value是一一对应的Map集合下的常用子类包括HashMap和LinkedHashMap,HashMap的底层是哈希表,即数组+链表/红黑树,并且是一个无序的集合,存储元素和取出元素的顺序可能不一致,LinkedHashMap的底层是哈希表+链表,是一个具有可预知迭代顺序的集合Map接口中的常用方法1.p

2022-03-03 19:49:52 573

原创 javaSE之Set集合下的HashSet和LinkedHashSet,以及Collections集合工具类

Set接口的特点:不允许有重复的元素,没有索引值,不能使用普通for循环一、HashSet集合HashSet集合是一个无序集合,即存储元素和取出元素的顺序可能不一致,底层是一个哈希表结构哈希值:是一个十进制整数,由系统给出,是一个逻辑地址在Object类中有一个方法用来获取哈希值:int hashCode(); //返回该对象的哈希值哈希表结构:数组+链表,将哈希值相同的元素放在一个数组位置,再使用链表或红黑树在此位置上把所有哈希值相同的元素连在一起Set集合不允许存储重复元素的原理

2022-03-02 20:03:47 497

原创 javaSE之Collection集合、Iterator接口(迭代器)和增强for循环

集合是java提供的一种容器,可以用来存储多个数据集合与数组的区别:1.数组的长度不可变,集合的长度可变2.数组中存储的是同一数据类型的元素,可以是基本类型,也可以是对象,而集合只能存储对象且可以类型不一致集合框架:一、Collection集合Collection是所有单列集合的父接口,因此Collection中的一些方法可用于操作所有单列集合,方法如下:二、Iterator迭代器Iterator接口位于java.util包下,迭代即在取出元素之前先判断集合中有没有元

2022-03-01 15:41:00 213

原创 javaSE之使用包装类进行基本类型和字符串之间的转换

包装类:使用一个类将基本数据类型装起来,并在类中定义一些方法,可以使用这些方法操作基本类型的数据各数据类型对应的包装类名如下:byte——Byte、short——Short、int——Integer、long——Long、float——Float、double——Doublechar——Character、boolean——Boolean装箱:将基本类型数据换为对应的包装类对象拆箱:将包装类对象转化为对应的基本类型包装类具有自动装箱及自动拆箱Integer in=1; //自动装

2022-03-01 13:43:28 302

原创 javaSE之Date类、DateFormat类以及Calendar类

一、Date类位于java.util包下,表示特定的瞬间,如时间原点,精确到毫秒时间原点(0毫秒):1970年1月1日 00:00:00(中国属于东八区,会把时间增加8小时)Date输出的格式举例为:Sun Aug 08 15:51:54 CST 2022Date类中的很多方法都已经过时,被Calendar类中的相关方法替代,下面介绍仍在使用的1.构造方法:Date类的空参数构造方法:Date(); //获取当前系统的时间与日期Date类的带参数构造方法:Date(lon...

2022-02-28 20:33:52 831

原创 javaSE之成员内部类以及局部内部类(包括匿名内部类)

内部类即在一个类中包含另一个类,内部类分为成员内部类和局部内部类两种,匿名内部类属于局部内部类一、成员内部类格式:修饰符 class 外部类名称{修饰符 class 内部类名称{//...}//...}成员内部类的使用:1.内部类使用外部类变量及方法时,可以随意使用,外部类使用内部类变量及方法时,需要先创建内部类对象,即必须使用new,如:new 内部类名称().内部类方法()2.间接...

2022-02-26 23:53:43 279

原创 javaSE之final关键字的四种用法

fainal关键字代表最终的、不可改变的,final可以用来修饰类、方法、局部变量和成员变量一、final关键字修饰类public final class 类名称{ ....... }final关键字修饰的类不能有任何子类,即该类的所有成员方法都无法被覆盖重写二、final关键字修饰方法修饰符 final 返回值类型 方法名(参数){ ...... }当final修饰一个方法时,代表这个方法已是最终方法,无法被覆盖重写注意事项:对于类和方法来说,final关键字和abstract

2022-02-26 23:24:08 479

原创 javaSE之多态中对象的向上和向下转型

一、对象的向上转型向上转型即对象的多态写法,格式:父类名称.对象名=new 子类名称(); 即右侧创建一个子类对象, 把它当做父类使用。此时,该对象访问成员变量与成员方法具有不同的规则,如下:①成员变量的使用:1.直接通过对象名访问成员变量时,看等号左边是谁,优先用谁,没有则向上查找2.间接通过成员方法访问成员变量时,看该方法属于谁,没有则向上查找②成员方法的使用:看new的是谁,就优先使用谁,没有则向上查找二、对象的向下转型对象一旦向上转型为父类,那么就无法调用子类原本

2022-02-25 17:04:38 161

原创 javaSE之一个类实现多个接口以及接口之间的多继承

类、接口的三种关系:1.类与类之间是单继承的,直接父类只有一个2.类与接口之间是多实现的,一个类可以实现多个接口3.接口与接口之间是多继承的详细解释:一、一个类的直接父类只有一个,但可以实现多个接口:public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{//覆盖重写所有抽象方法}注意事项:1.接口是没有静态代码块和构造方法的2.如果实现类所实现的多个接口中,存在重复的抽象方法,那么只需要

2022-02-24 17:14:59 9603

原创 javaSE之继承中super关键字的三种用法

1.在子类的成员方法中,访问父类的成员变量2.在子类的成员方法中,访问父类的成员方法3.在子类的构造方法中,访问父类的构造方法public class Fu{int num=10; public void method(){ System.out.println("父类方法");}}public class Zi extends Fu{int num=20; ...

2022-02-24 14:54:36 429

原创 javaSE之静态static关键字

1.static修饰成员变量:此时静态变量不再属于对象,而是属于这个类,多个对象共享一份数据2.static修饰成员方法:静态方法不属于对象,而属于类无论成员变量还是成员方法,在使用static修饰后,都推荐使用类名调用即:类名.静态变量 类名.静态方法()3.静态方法只能访问静态变量,不能访问非静态;因为在内存之中是先有静态内容,后有非静态内容4.静态方法不能使用this5.static的内存图:6.静态代码块:直接在类中使用static。当第一次用到本类时,静态代码块执行

2022-02-23 18:24:44 64

原创 javaSE之字符串的常量池以及字符串相关方法

字符串常量池:程序当中直接用双引号写的字符串都位于字符串常量池中对于字符串来说,“==”不代表字符串内容相等,而代表字符串的地址值相等字符串的相关方法:1. public boolean equals(Object obj):只有参数是一个字符串且内容相同时返回true如果比较一个常量和一个字符串,推荐使用常量调用equals,如:"abc".equals(str);2. public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较

2022-02-23 18:01:35 126

原创 javaSE之API中的Scanner、Random、ArrayList的使用方法

Scanner、Random、ArrayList三个类均位于java.util包中,使用前需要导入包:import java.util.类名一、Scanner:一般用于键盘输入Scanner sc=new Scanner(System.in); //创建一个Scanner类的对象scint num=sc.nextInt(); //无参数输入一个整数String str=sc.next(); //输入一个字符串利用匿名对象使用Sca...

2022-02-22 21:33:46 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除