
Java学习
文章平均质量分 79
要向着光
向着光努力
展开
-
Java泛型
interface List 和 class GenTest其中,T,K,V不代表值,而是表示类型。这里使用任意字母都可以。常用T表示,是Type的缩写。原创 2023-05-15 20:47:37 · 426 阅读 · 0 评论 -
Java集合(四)
Collections 是一个操作 Set、List 和 Map 等集合的工具类Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作, 还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。原创 2023-03-08 00:42:39 · 228 阅读 · 0 评论 -
Java集合(三)
也就是说,默认情况下,数组大小(DEFAULT_INITIAL_CAPACITY)为16,那么当HashMap中元素个数 超过16*0.75=12(这个值就是代码中的threshold值,也叫做临界值)的时候,就把 数组的大小扩展为 2*16=32,即扩大一倍。Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。--2.1如果key的哈希值和已经存在的数据的哈希值不同,则此时key-value添加成功(原创 2023-03-08 00:17:22 · 151 阅读 · 0 评论 -
Java集合(二)
鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据 序号存取容器中的元素。JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector。原创 2023-03-03 00:54:47 · 149 阅读 · 0 评论 -
Java集合(一)
Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法,那么所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了 Iterator接口的对象。原创 2023-03-02 16:25:14 · 839 阅读 · 0 评论 -
TreeSet练习
定义一个 Employee 类。* 该类包含:private 成员变量 name,age,birthday,其中 birthday为MyDate类的对象;* 并为每一个属性定义 getter, setter 方法;* 并重写 toString 方法输出 name, age, birthday* MyDate 类包含:* private 成员变量 year,month,day;并为每一个属性定义 getter, setter方法;原创 2023-01-18 23:14:38 · 126 阅读 · 0 评论 -
Java枚举类与注解
1、私有化类的构造器,保证不能在类的外部创建对象2、在类的内部创建枚举类的实例。声明为:public static final3、对象如果有实例变量,应声明为private final,并在构造器中实例化使用enum定义的枚举类默认继承了java.lang.Enum类,因此不能在继承其他类枚举类的构造器只能使用private权限修饰符枚举类的所有实例必须在枚举类中显示列出(,分隔;结尾)。列出的实例系统会自动添加private static final修饰必须在枚举类的第一行声明枚举类对象。原创 2023-01-15 22:50:06 · 1658 阅读 · 0 评论 -
Java常用类(四)
Java常用类:Java比较器、System类、Math类、BigInteger与BigDecimal在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。原创 2022-11-28 15:58:01 · 134 阅读 · 0 评论 -
Java常用类(三)
新的 java.time 中包含了所有关于本地日期(LocalDate)、本地时间 (LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime) 和持续时间(Duration)的类。LocalDate、LocalTime、LocalDateTime 类是其中较重要的几个类,它们的实例是不可变的对象,分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的本地日期或时间,并不包含当前的时间信息,也不包含与时区 相关的信息。原创 2022-11-28 15:21:45 · 127 阅读 · 0 评论 -
Java常用类(二)
JDK8之前的日期时间API:java.lang、System类、java.util.Date类、java.sql.Date类、java.text.SimpleDateFormat类System类提供public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。(时间戳)原创 2022-11-28 13:54:01 · 441 阅读 · 0 评论 -
Java常用类(一)
字符串相关类:String、StringBuffer、StringBuilder原创 2022-11-27 12:29:34 · 404 阅读 · 0 评论 -
String常见算法(三)
获取一个字符串在另一个字符串中出现的次数。 * 1、利用indexOf(String str)方法返回指定字符串在此字符串中第一次出现的索引,如果索引不等于-1,则表示找到,count数加1 * 2、下次寻找从此次字符串返回的下标处+子串长度位置继续寻找* 3、重复1、2直到遍历完字符串为止原创 2022-11-25 17:42:30 · 129 阅读 · 0 评论 -
String常见算法(二)
将一个字符串进行反转。将字符串中指定部分进行反转。1、利用substring(int beginIndex,int endIndex)方法截取所要反转的部分2、将要反转的部分转换成字符数组,进行反转操作3、将原字符串转换成字符数组,并将要转换的字符部分进行替换原创 2022-11-25 13:57:10 · 144 阅读 · 0 评论 -
String常见算法(一)
模拟一个trim方法,去除字符串两端的空格。1、利用toCharArray()将该字符串变量转换为一个字符型数组2、从该字符数组尾部开始遍历该数组,遇到第一个不是空格的字符停止遍历,并记录当前位置3、从该数组的头部开始遍历,遇到第一个不为空格的字符,将此字符添加到一个新的字符串变量中,一直到i结束。原创 2022-11-24 21:58:49 · 200 阅读 · 0 评论 -
Java多线程(三)
1、当前线程的同步方法、同步代码块执行结束。2、当前线程在同步代码块、同步方法中遇到break、return终止了该代码块、 该方法的继续执行。3、当前线程在同步代码块、同步方法中出现了未处理的Error或Exception,导致异常结束。4、当前线程在同步代码块、同步方法中执行了线程对象的wait()方法,当前线程暂停,并释放锁。原创 2022-11-22 15:15:39 · 284 阅读 · 0 评论 -
Java多线程(二)
1、start():启动当前线程;调用当前线程的run()方法2、run():通常需要重写Thread类中的run()方法,建创建的线程执行的操作声明在此方法中3、currentThread():静态方法,返回执行当前代码的线程4、getName():获取当前线程的名字5、setName():设置当前线程的名字6、yield():释放当前CPU执行权7、join():在线程A中,调用线程B的join()方法,此时线程A就进入阻塞状态,直到线程B执行完后,线程A才结束阻塞状态。原创 2022-11-22 13:51:07 · 309 阅读 · 0 评论 -
Java多线程(一)
程序:程序是为了完成特定任务、用某种语言编写的一组指令集合。即一段静态的代码,静态对象。进程:进程是程序的一次执行过程,或是正在运行的一段程序。是一个动态的过程,有它自身的产生 、存在和消亡的过程(生命周期)。说明:1、程序是静态的,进程是动态的。2、进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。每个线程拥有独立的运行栈和程序计数器(pc)原创 2022-11-21 20:11:27 · 406 阅读 · 0 评论 -
Java面向对象项目三:开发团队调度软件
模拟实现一个基于文本界面的《开发团队调度软件》原创 2022-11-07 21:45:03 · 567 阅读 · 0 评论 -
Java面向对象编程(七)
abstract表示抽象的,可以用来修饰类和方法。用abstract关键字来修饰一个类,这个类叫做抽象类1、抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。2、抽象类中一定有构造器,便于子类实例化时使用3、开发中都会提供抽象类的子类,让子类对象实例化完成相关的操作。4、抽象类中可以没有抽象方法用abstract关键字来修饰一个方法,这个方法叫做抽象方法1、抽象方法只有方法的声明,没有方法体。原创 2022-10-31 10:42:51 · 1218 阅读 · 0 评论 -
Java面向对象编程(六)
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上 的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象, 其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,就用类变量。原创 2022-10-30 20:14:11 · 341 阅读 · 0 评论 -
Java面向对象编程(五)
当我们输出一个对象的引用时,实际上是调用了当前对象的yoString()方法4、基本数据类型转换为String类型是,调用了包装类中的toString()方法5、像String、Date、File、包装类都重写了Object类的toString()方法,使得对象再调用toString()方法时,返回的是“实体内容”信息6、自定义类可以根据需要重写toString()方法,是的方法返回的是对象的“实体内容”原创 2022-10-27 16:00:57 · 1095 阅读 · 0 评论 -
Java面向对象编程(四)
定义一个测试类GeometricTest,编写equalsArea方法测试两个对象的面积是否相等(注意方法的参 数类型,利用动态绑定技术),编写displayGeometricObject方法显示对象的面积(注意方法的参 数类型,利用动态绑定技术)。即有了对象的多态性后,在内存中实际上是加载了子类的属性和方法的,但是由于变量声明的是父类类型,导致编译时只能调用父类中声明的方法和属性,子类特有的属性和方法不能调用。子类中定义了与父类中同名同参数的方法,在多态的情况下 ,将此时的父类的方法称为虚拟方法。原创 2022-10-27 14:59:48 · 1025 阅读 · 0 评论 -
Java面向对象实验三
(2) 父类Account的属性balance被设置为private,但在子类CheckAccount的withdraw 方法中需要修改它的值,因此应修改父类的 balance 属性,定义其为 protected。在用户程序中,创建一个账号为 1122、余额为 20000、 年利率 4.5%的 Account 对象。包含的方法:访问器方法(getter 和 setter 方法),返回月利率的方法 getMonthlyInterest(),取款方法 withdraw(),存款方法 deposit()。原创 2022-10-26 14:11:31 · 995 阅读 · 0 评论 -
Java面向对象编程(三)
在子类中可以对从父类中继承过来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类方法将覆盖父类的方法。原创 2022-10-26 14:18:29 · 595 阅读 · 0 评论 -
尚硅谷Java面向对象项目二:客户信息管理软件
该软件分为以下三个模块:CustomerView为主模块,负责菜单的显示和处理用户的操作。CustomerList为Customer对象的管理模块,内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历方法,供CustomerView调用。Customer为实体对象,用来封装客户信息。这些类设计在不同包下。原创 2022-10-20 17:09:51 · 607 阅读 · 0 评论 -
Java面向对象编程(二)
1、 java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和 Thread,提供常用功能2、 java.net----包含执行与网络相关的操作的类和接口。3、java.io ----包含能提供多种输入/输出功能的类。4、java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日 期日历相关的函数。5、java.text----包含了一些java格式化相关的类。原创 2022-10-18 21:03:28 · 607 阅读 · 0 评论 -
Java面向对象编程(一)
面向对象分析问题的思路和步骤:1、根据问题需要,选择问题所针对的现实世界中的实体。2、从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。3、把抽象的实体用计算机语言进行描述,形成计算机世界中的类的定义。即借助某种程序语言,吧类构造成计算机能识别和处理的数据结构。4、将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。步骤:1、定义类(卡考虑修饰符、类名)2、编写类的属性(考虑修饰符、属性类型、属性名、初始化值)特别:类的属性有默认初始化值。原创 2022-10-18 17:07:04 · 739 阅读 · 0 评论 -
Java面向对象项目实验二
addCustomer 方法必须依照参数(姓,名)构造一个新的 Customer 对象,然后把 它放到 customer 数组中。在提款方法 withdraw()中,需要判断用户余额是否能够满足提款数额的要求,如果不能, 应给出提示。getCustomer 方法返回与给出的 index 参数相关的客户。2. 按照如下的 UML 类图,创建相应的类,提供必要的结构。1.按照如下的 UML 类图,创建相应的类,提供必要的结构。4. 创建 BankTest 类,进行测试。2、Customer类。原创 2022-10-18 12:25:11 · 572 阅读 · 0 评论 -
java流程控制项目实践:家庭收支记账软件
尚硅谷 Java 学习之流程控项目实践。1、FamilyAccount类。2、Utility类。原创 2022-10-17 21:30:44 · 218 阅读 · 0 评论 -
Java面向对象项目实践一
1、写一个名为 Account 的类模拟账户。该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter 方法),取款方法 withdraw(),存款方法 deposit()。提示:在提款方法 withdraw 中,需要判断用户余额是否能够满足提款数额的要求,如果不 能,应给出提示。2. 创建 Customer 类。原创 2022-10-17 21:24:26 · 296 阅读 · 0 评论 -
Java数组
数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组的常见概念:1、数组名2、下标(或索引):从0开始3、元素4、数组的长度数组的特点:数组式有序排列的引用数据类型一块连续的内存空间首地址按照维度分:一维数组、二维数组...按照元素的数据类型分:基本数据类型元素的数组、引用数据元素类型的数组(即对象数组)原创 2022-10-15 15:33:52 · 437 阅读 · 0 评论 -
Java数组的练习
(4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值 (如array[0]=0,array[2]=2)。定义一个int型的一维数组,包含10个元素,分别赋一些随机整数, 然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。(1)创建一个名为ArrayTest004的类,在main()方法中声明array1和array2两个变量, 他们是int[]类型的数组。(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。原创 2022-10-14 19:05:04 · 2124 阅读 · 0 评论 -
Java基本语法(三):程序流程控制
程序流程控制语句就是用来控制程序中各语句执行的顺序,可以把语句组合成能完成一定功能的小逻辑模块。流程控制结构方式采用结构化程序中规定的三种基本流程结构:顺序结构:从上到下逐行执行,中间没有任何判断或跳转;分支结构:根据条件,选择性的执行程序代码;有if...else和switch...case两种分支语句循环结构:根据循环条件,重复性的执行某段代码代码;有for循环、while循环、do...while循环三种循环语句。原创 2022-10-12 20:58:13 · 317 阅读 · 0 评论 -
Java基础语法(二):运算符
如果对负数取模,可以把模数的负号忽略不计,如:5%-2=1。对于除数“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。当符号左边为true时,“|”会执行右边的操作,而“||”不会。当符号左边是false时,符号两边操作时都会执行。比较运算符的结果都是Boolean型,要么是true、要么是false。当符号左边为false时,&会执行右边的运算而&&则不会。扩展运算符:+=、-+、*=、/=,%=2、符号左边为真,都会执行符号右边的操作。1、&和&&运算结果相同。...原创 2022-08-13 11:22:24 · 158 阅读 · 0 评论 -
Java基本语法(一):变量
java对各种变量、方法和类等起名要素时使用的字符序列称为标识符(凡是可以自己起名的地方都叫标识符)1、由26个英文字母大小写,0-9,_或$组成2、数字不可以开头3、不可以使用关键字和保留字进行命名,但其中可以包含关键字和保留字4、java中严格区分大小写,但取名长度无限制5、标识符不能包含空格。......原创 2022-08-13 10:51:09 · 525 阅读 · 0 评论 -
Java语言基础概述
每次执行java的工具都要进入到bin目录下,为了在任何目录下都能执行java工具,根据Windows系统在查找可执行程序的原理,可以将java工具所在的路径定义到path环境变量中,让系统帮我们去查找。吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制(垃圾回收机制)JRE包括Java虚拟机和Java程序所需的核心类库等,如果想要运行一个开发好的java程序,计算机中只需安装JRE即可。负责执行指令,管理数据。...原创 2022-08-01 21:17:03 · 532 阅读 · 0 评论 -
Java初学之标识符
java初学之标识符原创 2022-06-22 16:49:52 · 5598 阅读 · 0 评论 -
java初学之数组
java初学之数组原创 2022-06-21 17:06:52 · 171 阅读 · 0 评论 -
java初学之字面量
java初学之字面量原创 2022-06-20 18:55:15 · 276 阅读 · 0 评论 -
java初学之注释
java初学之注释原创 2022-06-20 18:20:48 · 157 阅读 · 0 评论