- 博客(43)
- 收藏
- 关注
原创 StringBuffer类操作字符串的常用方法
代码演示 * @Description//将一个数字字符串转换成逗号分隔的字符串,即从右边开始每三个数字用逗号分隔 */public class StringBufferDemo { public static void main(String[] args) { //通过String操作字符串的时候,比如追加、截取等等,操作的是字符串的一个副本,字符串本身内容没有修改// String s="hello";// s=s.concat("..
2021-12-03 22:58:12 1653
原创 String类提取方法及其练习、字符串拆分
代码演示 * @Description//字符串常用提取方法: */public class StrMethods { public static void main(String[] args) {// //获取字符串中特定字符串的位置// String s="hello world!";// //indexOf:查找某个特定字符串在整个字符串中第一次出现的位置// //字符串下标从0开始// int ...
2021-12-01 08:58:32 664
原创 String类length()方法、equals()方法、其他比较方法及练习
String类提供了length()方法,确定字符串的长度 返回字符串中的字符数 * @Description//用户注册,密码长度不能小于6位 * //字符串length()方法 */public class Register { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输...
2021-11-30 11:28:17 1766
原创 Math类、Random类
基本类型和包装类的自动转换Integer intObject=5;int intValue=intObject;装箱:基本类型转换为包装类的对象拆箱:包装类对象转换为基本类型的值
2021-11-28 09:47:50 151
原创 包装类及其构造方法、常用方法、装箱和拆箱
包装类把基本数据类型转换为对象 每个基本类型在Java.lang包中都有一个相应的包装类包装类的作用 提供了一系列实用的方法 集合不允许存放基本数据类型数据,存放数字时,要用包装类基本数据类型所对应的包装类 * @Description//包装类及其构造方法 */public class Test { public static void main(String[] args) { //基本数据类型-->包装类 特殊的:in...
2021-11-26 14:28:39 306
原创 枚举及其使用
枚举指由一组固定的常量组成的类型通过enum定义枚举使用枚举的好处:类型安全、易于输入、代码清晰代码演示//性别枚举类型public enum Genders { 男,女} * @Description//学员 */public class Stu { public Genders sex;//性别 public static void main(String[] args) { Stu stu=new Stu();
2021-11-25 12:35:19 340 1
原创 Collections类及常用方法、Collections排序
方式一:遍历key,通过key-->value 方法一:通过迭代器Iterator实现遍历 方法二:增强型for循环方式二:遍历key-value对
2021-11-24 10:53:01 559
原创 线程同步及练习
使用synchronized修饰的方法控制对类成员变量的访问访问修饰符synchronized 返回类型 方法名(参数列表){......}或者synchronized访问修饰符 返回类型 方法名(参数列表){......}synchronized就是为当前的线程声明一把锁代码演示如下: * @Description模拟用户网络购票--使用同步方法解决线程带来的数据不安全问题 */public class TicketThread implements Runnable{ ..
2021-11-18 19:28:16 244
原创 多线程共享数据引发的问题
* @Description模拟用户网络购票 */public class TicketThread implements Runnable{ private int ticket=10;//记录车票总数 private int num=0;//记录用户抢到了几张票 //用户抢票 public void run(){ while (true){ //没有余票,跳出循环 if (ticket<=0...
2021-11-18 15:21:22 208
原创 线程调度练习
* @Description模拟一个人爬山 */public class ClimbThread extends Thread{ //爬100米的时长(休眠的时长) private long time; //爬多少个100米 private int num; //name:年轻人/老年人 time:爬100米的时长 kilometers山的高度(千米) public ClimbThread(String name,int time,int...
2021-11-18 14:59:18 158
原创 线程调度join()和 yield()
join(): 等待该线程终止 等待加入的其他线程结束后再继续执行本线程代码演示public class MyThread5 implements Runnable{ public void run(){ for (int i = 0; i <= 30; i++) { System.out.println(Thread.currentThread().getName()+":"+i); } }...
2021-11-17 19:25:48 264
原创 线程调度---优先级和休眠
定义MyRunnable类实现Runnable接口实现run()方法,编写线程执行体创建线程对象,调用start()方法启动线程 Thread(Runnable target) Thread(Runnabletarget,String name)
2021-11-17 18:52:07 322 1
原创 线程的状态
线程的状态: 创建、就绪、运行、阻塞、死亡我们通过代码来模拟一下public class MyThread3 implements Runnable{ public void run(){ System.out.println("线程正在运行,处于运行状态"); try { //线程休眠5s System.out.println("线程开始休眠,处于阻塞状态"); T...
2021-11-17 16:02:03 198
原创 线程创建的两种方式的区别
创建线程的两种方式:继承Thread类: 编写简单,可直接做线程 适用于单继承实现Runnable接口: 避免单继承局限性 便于共享资源通过代码感受为何说Runnable接口便于共享资源(模拟现实生活中的抢票过程)如果用继承Thread类: * @Description//创建线程模拟抢票过程 */public class MyThread1 extends Thread { private int ticket=10...
2021-11-17 15:37:05 103
原创 多线程---进程和线程、线程初体验、继承Thread创建线程、实现Runnable创建线程
进程:应用程序的执行实例有独立的内存空间和系统资源线程:CPU调度和分派的基本单位执行运算的最小单位,可完成一个独立的控制流程多线程:如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为"多线程”多个线程交替占用CPU资源,而非真正的并行执行多线程好处:充分利用CPU的资源,提高代码性能简化编辑模型,更好的软件设计和架构带来良好的用户体验主线程:main()方法即为主线程入口产生其他子线程的线程必须最后完成执行,因为它执行各种关闭.
2021-11-17 14:57:00 91
原创 序列化和反序列化
序列化是将对象的状态写入到特定的流中的过程反序列化则是从特定的流中获取数据重新构建对象的过程对象输出流ObjectOutputStream 结合FileOutputStream使用,实现对象的序列化 writerObject(Object)对象输入流ObjectInputStream结合FileInputStream使用,实现对象的反序列化 Object readObject()对象类型必须实现Serializable接口创建学员类型pu...
2021-11-16 20:22:13 92
原创 读写二进制文件
DataInputStream FileInputStream的子类 与FileInputStream类结合使用读取二进制文件DataOutputStream FileOutputStream的子类 与FileOutputStream类结合使用写二进制文件public class CopyPic { public static void main(String[] args) { //读取图片d:/coder.jpg...
2021-11-16 19:59:51 170
原创 字符输入输出流综合练习
Writer类常用方法 write(String str) write(String str,int off, int len) void close() void flush()FileWriter类是Writer的孙子类 FileWriter(File file) FileWriter(String name) 带boolean类型的参数构造方法 * @Description借助字符输出流Write...
2021-11-16 19:34:23 411
原创 字符流BufferedWriter类
BufferedWriter类是Writer的子类BufferedWriter类带有缓冲区BufferedWriter常用的构造方法 BufferedWriter(Writer out)public class BufferedWriterDemo { public static void main(String[] args) { Writer fw=null; FileOutputStream fos=null; .
2021-11-16 19:05:38 137
原创 字符输出流Writer及解决中文乱码问题
Writer类常用方法 write(String str) write(String str,int off, int len) void close() void flush()FileWriter类是Writer的孙子类 FileWriter(File file) FileWriter(String name) 带boolean类型的参数构造方法 * @Description借助字符输出流Write...
2021-11-16 18:54:21 1832
原创 字符流BufferedReader类
BufferedReader类是Reader的子类BufferedReader类带有缓冲区按行读取内容的readline()方法BufferedReader常用的构造方法 BufferedReader(Read in)子类BufferedReader特有的方法 readline()public class BufferedReaderDemo { public static void main(String[] args) { Reader fr=n
2021-11-16 15:08:19 313
原创 字符流---字符输入流Reader与FileReader及解决中文乱码问题
字符输入流Reader(抽象类---基类)常用方法:int read()int read(char[] c)int read(char[] c, int off ,int len)viod close()FileReader类是Reader的孙子类:FileReader(File file)FileReader(String name)FileReader读取文件:引入资源创建FileReader对象调用相应reader()读取文件关闭字符流 ...
2021-11-16 14:28:12 1317
原创 字节输入输出流综合练习
public class InAndOutDemo { public static void main(String[] args) { FileInputStream fis=null;//输入流--读 FileOutputStream fos=null;//输出流--读 try { fis=new FileInputStream("D:/我的青春谁做主.txt"); fos=new Fi...
2021-11-15 21:58:12 302
原创 字节输出流
OutputStream字节输出流(抽象类--基类)类常用方法--写void write(int):往输出流中写入一个个的字节void write(byte[] buf):往输出流中写入一个字节数组void write(byte[] b,int off, int len):往输出流中写入一个字节数组,off代表开始从字节数组的off位置开始往外写,len代表往外写len长度的字节void close():关闭输出流viod flush():强制把缓冲区的...
2021-11-15 20:12:58 623
原创 (如何读写文件)流-------输入流
流:流是一组有序的数据序列 通过流来读写文件 流从方向分输入、输出流 流从单位份字节、字符流字节输入流:InputStream(抽象父类---基类)常用方法:(read()几个重载方法作用不同)int read():输入流一个字节一个字节的读,返回的是该字节的整数表示形式,如果读到了输入流的末尾,返回-1int read(byte[] b):从输入流读取若干字节,把这些字节保存到数组b中。返回的是读取到的字节数,如果读...
2021-11-15 19:26:18 724
原创 File类
public class FileDemo { public void create(File file) { if (!file.exists()) { //如果文件不存在,则创建 try { file.createNewFile(); System.out.println("文件已创建"); } catch (IOExcepti...
2021-11-15 17:10:11 383
原创 集合框架和泛型二之Map初体验、Map常用方法、遍历Map
Map接口存储一组键值对象,提供key到value的映射key唯一无序,value可以不唯一Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作,最常见的实现类是HashMap例题建立国家英文和中文名称之间的键值映射,并通过key对value进行操作,应该如何实现数据的存储和操作呢?如何创建集合对象如何将国家中英文名称以键值对形式存入集合如何获取集合中存了几个国家如何获取某个国家英文名称对应的中文名称public class CountriesInfo ...
2021-11-15 14:31:18 238
原创 Set接口之HashSet、使用增强型的for遍历Set
Set接口存储一组唯一,无序的对象HashSet是Set接口常用的实现类Set中存放对象的引用Set接口如何判断加入对象是否已经存在呢 采用对象的equals()方法比较两个对象是否相等public class SetDemo2 { public static void main(String[] args) { Set set=new HashSet(); String s1=new String("java"); Stri..
2021-11-14 16:06:05 880
原创 LinkedList集合类
LinkedList的独有方法例题新闻管理系统,需求如下:可以添加头条新闻标题获取头条和最末条新闻标题可以删除末条新闻标题思路:存储方式选择:元素不确定(使用集合类) 需要在列表的头或尾添加、删除元素确定存储方式:LinkedList类是List接口的一个具体实现类 LinkedList类用于创建链表数据结构 ...
2021-11-14 10:41:15 374
原创 ArrayList的常用方法
Collection接口常用通用方法还有:clear()、isEmpty、Iterator()、toArray(),适用于其子接口或子类。//对新闻标题的存储及操作(ArrayList)public class NewsMgr { public static void main(String[] args) { //创建新闻标题对象 NewsTitle title1 = new NewsTitle(1, "北京热门景点故宫1", "author"); ..
2021-11-13 23:47:55 321
原创 java集合框架、List的实现类、ArrayList的集合类
接口:Collection:是List、Set的父接口,存储一组不唯一,无序的对象; List接口存储一组不唯一,有序(插入顺序)的对象; Set接口存储一组唯一,无序的对象。 Map:接口存储一组键值对象,提供key到value的映射(key无序且唯一,value可重复) Iterator:具体类:ArrayList:实...
2021-11-13 22:15:16 149
原创 面向对象三特性
一.封装:主要解决安全问题 提供对外的输入输出接口(setter和getter、构造方法 构造方法要调用setter来实现封装包组织:访问修饰符:public:全工程都可见,范围最大protected:包级私有+子类可见默认:包级私有,在同一个包的所有类可见private:只有本类可见,范围最小package:用于声明当前类所在的包,必须写在代码的第一行import:用于导入当前类所引用的类,正常在package语句下一...
2021-11-09 13:28:50 84
原创 面向对象基础
1.类与对象的关系类是对象的抽象(共性的集合),对象是类的具体实现(特征值赋值)2.类的定义和构成类的关键字是class,要有属性和方法3.对象的创建与使用类型 对象名=new 类型();类中的属性和方法使用对象名去调用对象名.属性对象名.方法()4.方法的定义(存储过程、函数)返回值类型 方法名(){ //方法体 //返回值类型不是void类型,必须有return语句}5.带参方法(在方法名后面的小括号中有变量...
2021-11-08 19:20:58 61
原创 java:异常
1.常见异常算术异常:ArithmeticException输入不匹配异常:InputMismatchException类型转换异常:ClassCastException数组越界异常:ArrayIndexOutOfBoundsException空指针异常:NullPointerException非法参数异常:IllegalArgumentsException下标越界异常:IndexOutOfBoundsException文件未找到异常:FileNotFoundExceptio
2021-11-08 19:12:59 59
原创 演示快速排序
思路:每一轮找出一个基准值,把比它小的放左边,比它大的放右边,最终确认基准值的位置,以分治法,把原数组分为基准值的两边两个部分,继续上面的逻辑(这里随机选取10个数进行快速排序)...
2021-11-03 17:36:33 70
原创 数组与排序的结合:任意输入5个整数,存入数组,从小到大的顺序排列后输出,再任意输入1个整数,仍要求所有数按从小到大的顺序输出
public class CLASS {public static void main(String[] args) {int[] a = new int[5];System.out.println("请输入五个数:");Scanner s = new Scanner(System.in);for (int i = 0; i < 5; i++) {a[i] = s.nextInt();...
2021-10-28 17:17:03 2594
原创 冒泡排序、选择排序、插入排序
冒泡排序基本逻辑:从前向后遍历,相邻两数进行比较,满足顺序的不动,不满足的交换位置,每一轮确认一个最值选择排序的基本逻辑:从前向后遍历,每轮确定一个基准值,从该值向后遍历,获取最值及其下标,与基准值交换位置插入排序的基本逻辑:先确定一个有序的序列(首位),从这里向后遍历从后向前遍历,执行插入元素的逻辑(如果满足顺序则直接插入在后方,不满足则当前位置后移,如果内循环结束仍未插入,要插入在首位...
2021-10-27 22:17:44 70
原创 判断2-100之间有多少个素数,并输出所有素数
思路:判断素数的方法:用一个数分别去除2到 (这个数),如果能被整除,则表明此数不是素数,反之是素数。public class test1 {public static void main(String[] args) {boolean flag = true;int j=0;for (int i = 2; i <= 100; i++) {for ( j = 2; j < i; j++) {...
2021-10-25 16:20:00 990
原创 用java语言完成输入三个整数,按由小到大的顺序输出这三个数
public class work4 {public static void main(String[] args) {int num1, num2,num3;Scanner ss = new Scanner(System.in);System.out.println("请输入第一个数:");num1 = ss.nextInt();System.out.println("请输入第二个数:");num2...
2021-10-21 19:18:11 3962
原创 java里变量的命名原则及基本数据类型
一、变量的命名规则:1、变量可以有字母、数字、下划线、美元符、人民币符组成2、变量不可以有数字开头3、正常以小写字母、下划线或美元符开头4、人民币符一般不使用5、驼峰命名法:多个单词,除去开头的,每个单词的首字母大小写以便区分例:江苏省全年平均话费usedMoneyOfJiangSuPerYear二、Java基本数据类型:1、数值型:整数型:byte(字节型):8位单字节:-128~127 默认值为0bshort:-2^15~2^15-1 ...
2021-10-21 19:12:23 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人