- 博客(27)
- 收藏
- 关注
原创 day21 异常(一)
我们写程序,关注的是发生异常后如何处理所有的异常和错误的父类是Throwble>object有两个子类:一个是Error(了解) 一个是ExceptionException中分为两派,一个是检查异常(Runtimelei),一个是运行时异常检查异常在我们的代码编写阶段必须处理,否则编译不通过运行时异常不是必须处理基本语法 重点try...catch(异常类型 e)...try括住可能出异常的代码块,catch 捕获异常 使用异常处理可以保证我们的代码正常执行p
2022-03-16 19:18:28
164
原创 day20 集合(三)
1、Collections工具类针对集合提供的工具类常用方法:sort() 排序binarySearch() 二分查找max() 最大值min() 最小值reverse() 反转shuffle() 乱序1.1 排序对当前集合进行升序排序,实现Comparable接口的类只能使用一种排序方案,这种方案叫作“自然比较”方案。List<Integer> list = new ArrayList<Integer>(); list.add(10
2022-03-07 21:30:31
151
1
原创 day19 集合(二)
1. Map接口1.1 HashMap1.1.1 常用方法put()remove()get()size()clear()replace()package com.qfedu.test1;import java.util.HashMap;/** * Map * HashMap * * put() * remove() * get() * size() * clear() * replace() * @author WHD
2022-03-04 21:12:40
396
2
原创 day18 集合(一)
1.Collection接口2. List接口2.1 ArrayList2.1.1 常用方法增add删remove改set查getpackage com.qfedu.test2;import java.util.ArrayList;/** * Collection * List * ArrayList * * 增add * 删remove * 改set * 查get * @author WHD * */public cla
2022-03-03 20:02:04
345
2
原创 day17 常用类
1. 枚举枚举可以用于规范属性的值,使用enum声明类package com.qfedu.test1;public enum Week { MON,TUE,WED,THUR,FRI,SAT,SUN}package com.qfedu.test1;/** * 使用枚举作为参数传入switch 实现一周中每天的打印 * @author WHD * */public class TestWeek { public static void main(String[] ar
2022-03-02 20:22:28
278
2
原创 day16 抽象类和接口(一)
1.抽象类1.抽象方法没有方法体,使用abstract关键字修饰,必须存在于抽象类中2.抽象类不能直接new对象,必须通过new子类的方式类创建对象(也就是多态向上转型的方式)3.子类必须重写父类的所有抽象方法,除非子类也是抽象类4.抽象类中可以书写普通属性,普通方法,构造方法,用于给子类使用5.抽象类依然可以实现多态。实现的方式与之前一致:父类作为形参和父类作为返回值N.静态方法可以被继承,不能被重写package com.qfedu.test1;/** * 抽象类
2022-03-01 20:51:24
342
4
原创 day15 方法重写和多态(三)
1. 概念生活中的多态:同一个动作,指令在不同的环境下,产生不同的效果程序中的多态:同一段代码,因为实际参数或者具体返回值的不同,产生不同的效果,提升代码的灵活性2. 表现形式11.父类作为形参,子类作为实参 这种方式属于父类引用指向子类对象,属于自动向上转型 Pet pet = new Dog()/new Penguin(); double a = 20; 此时,通过父类的引用,可以访问的是子类重写父类的方法(以及继承父类的方法),不能访问子类独有方法 pa
2022-03-01 20:32:54
232
3
原创 学习实践 面向对象综合应用(一)
定义一个类学校类School,有属性name:校名,area:面积,teacher:老师人数定义一个类学生类,Student,有属性name:学生姓名,age:年龄,address:地 址,?:所属学校?不是乱码,?为学生所属的学校,根据自己的分析来定义类型定义一个测试类Test,本类中只有main方法,用于测试代码结果 在学生类中定义方法,实现遍历打印学生信息。要求: 1.统一使用面向对象思想,编写对应的getter,setter方法以及全参构造&无参构造2.学生对象使用.
2022-02-26 20:48:52
1417
12
原创 day14 方法重写和多态(二)
1. 重写hashCode()hashCode属于一种杂凑算法:是指将一些杂乱的条件拼凑在一起计算出来一个值Java中hash值是根据地址加上其他的一些条件所计算出来的一个十进制的数值为什么要重写hashCode?因为在一些散列数据结构中,是根据两个对象的equals比较为true,并且hashCode相同,则认为是重复的对象,这种规则来存储元素的。所以我们在实际开发中,通常重写了equals方法,也会重写hashCodepackage com.qfedu.test1;/
2022-02-25 19:46:33
327
5
原创 day13 方法重写和多态 (一)
1. 方法重写方法重写Override特点:1.存在于父子类之间2.方法名与父类相同3.参数列表与父类相同4.返回值与父类相同(或者是其子类)5.访问权限不能严于父类(不能窄化父类的访问权限)6.不能抛出比父类更多的异常7.静态方法可以被继承,不能被重写package com.qfedu.test1;/** * 宠物类 父类 * 父类中保留子类共有的属性和方法 * @author WHD * */public class Pet { pro
2022-02-24 19:34:16
170
2
原创 day12 封装和继承 (二)
1.static关键字实现原理方法区:方法区是SUN公司提出的一个规范,JDK8之前称之为永久代,JDK8开始称之为元数据。静态区:是指static相关的信息存储的区域。创建对象的过程:1.当我们new对象,JVM会先在方法区中检查,是否此类的class文件已经被加载。如果没有加载,则先将class文件加载到方法区,此时静态相关的信息将初始化如果已经加载,则直接执行第二步2.在堆中开辟空间,此时实例属性将有默认值3.将栈中的引用指向堆中的空间永久代/元数据:因为在方法区
2022-02-23 17:35:18
461
2
原创 day11 封装和继承(一)
从昨天开始,学习进行到了JAVA基础的核心部分“面向对象”,这也是java与c语言的其他面向过程语言的本质区别,这一部分务必掌握,后面的学习才会轻松1. this关键字this关键字:表示当前对象适用场景: 1.可以访问属性 2.可以访问方法 3.可以访问构造方法,必须在构造方法的第一句 package com.qfedu.test1;/** * 名字 * 年龄 * 性别 * * this关键字:表示当前对象 * 适用场景:
2022-02-22 19:44:18
246
5
原创 day10 初识面向对象
1. 万物皆对象万物皆对象是指可以将自然界中的任何事物都理解为一个对象。分析其共有的特征,称之为属性;分析其共有的行为,称之为方法。类是由属性和方法组成的。类是对象的抽象,对象是类 的具体。package com.qfedu.test1;/** * 学生类 * 类的组成包括:属性和方法 * 属性:一组对象共同拥有的特征,称之为属性 * 方法:一组对象共同拥有的行为,称之为方法 * * 属性: * 姓名 * 年龄 * 学号 * 性别 *
2022-02-21 19:10:31
153
2
原创 day09 数组(二)
1. 数组参数和返回值数组作为参数和作为返回值与之前的使用方式一致。package com.qfedu.test1;import java.util.Scanner;/** * 需求: * 1.编写方法实现 让用户输入5门成绩 并且返回这些成绩 * * 2.编写方法根据用户传入的成绩数组 遍历成绩 并且打印 * @author WHD * */public class Test1 { public static void main(String[] args)
2022-02-18 19:17:56
179
2
原创 学习实践: 学生成绩操作
按照学习计划,基础语法不久就要告一段落,马上将开启面向对象的全新领域。给自己过去的一段时间学到的知识做了全面的总结,设计出了如下系统,尽可能涵盖所学到的知识点。为接下来面向对象的学习筑牢基础。 * 能够对任意数量的同学的成绩进行录入* 能够实现多次求最大值、最小值和平均值的操作*尽可能的涵盖输入输出、循环和分支结构、数组等这段时间学习 过的知识点源码如下:其中main方法主要实现用...
2022-02-17 20:37:53
638
2
原创 day08 数组(一)
1. 概念一组连续的存储空间,存储多个数据类型相同的值,空间连续,长度固定。2. 创建方式先声明、再分配空间: 数据类型[] 数组名;数组名 = new 数据类型[长度]; 声明并分配空间:数据类型[] 数组名 = new 数据类型[长度]; 声明并赋值(繁):数据类型[] 数组名 = new 数据类型[]{value1,value2,value3,...};声明并赋值(简): 数据类型[] 数组名 = {value1,value2,value3,...}; //显示初始化,注
2022-02-17 19:06:55
409
原创 day07 静态方法
1. 方法的概念用来解决特定的问题(实现特定的功能)的一段代码,可以反复使用。2.定义语法public static void 方法名称( ){ //方法主体 }3. 定义位置与main方法平级4.调用在需要调用方法的位置,直接书写方法名();即可实现调用代码执行到调用方法的位置,会先执行方法内部的代码,再接着执行后续的代码package com.qfedu.test1;/** * 以两种 方式打印诗句 每句诗以后有十个横线 * @author
2022-02-16 19:26:12
248
3
原创 学习实践:循环与分支结构综合应用(二)
银行ATM用户操作系统demo要求:按照用户的输入执行相应的开户、存款、修改密码等操作,可重复操作,输入0退出、package homework2;import java.util.Scanner;/** * 银行ATM操作demo * 要求使用:switch、do while * @author ICErain * */public class Test1 { public static void main(String[] args) { Scanner i.
2022-02-15 17:39:35
199
4
原创 day06 分支结构与循环(三)
1.continue关键字continue :继续适用场景:只能用在循环中作用:表示跳出本次循环,继续执行下一次循环break和continue的区别?适用场景不同,break可以用于switch和循环中,continue只能用在循环中作用不同:break表示中断循环,未执行完的循环次数不再执行continue表示跳出本次循环,继续执行下一次循环package com.qfedu.test1;/** * continue :继续 * 适用场景:只能用在
2022-02-15 17:12:51
119
2
原创 学习实践:循环与分支结构综合应用(一)
1、使用双重循环输出九九乘法表public class Test1 { public static void main(String[] args) { int i ,j; //外面的循环输出第一个乘数,里面的循环输出第二个乘数 for(i = 1;i <= 9;i++) { for(j = 1;j <= i;j++) { System.out.print(i+" * "+j+" = "+i * j+"\t"); if(j == i) { .
2022-02-14 21:00:53
191
3
原创 day05 分支与循环(二)
1. 局部变量概念:声明在方法内部的变量,必须先赋值再使用。 描述 定义位置 必须定义在方法中 位置1234 不可以 作用范围 离当前变量最近的大括号以内 关于重名 在重合的作用范围内容,不能重名 存储位置 基本数据类型,全部存放在栈(stack)中 引用数据类型,名字存放在栈(stack)中,值存放在堆(heap)中 生命周期 随着方法的入栈(压栈)而生效,随着方法的出栈(弹栈)而死亡 package com..
2022-02-14 17:49:19
276
1
原创 第1周练习作业(java)
import java.util.Scanner;public class Test01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入结果数"); int m = input.nextInt(); System.out.println("请输入每页记录数"); int n = input.nextInt(...
2022-02-12 10:54:09
607
11
原创 day04 分支结构与循环(一)
1. 包的概念包用于区分同名的文件,包实际上就是文件夹。包的命名规范:全部小写,以点分割,域名倒置,不能以点开头或者结尾举例com.baidu.具体的名称,com.qfedu.test1包的 声明表示此类属于哪个包 永远在第一句package com.qfedu.test1; // 包的 声明表示此类属于哪个包 永远在第一句public class Test1 {}2. if结构语法: if(布尔表达式){ //代码块1 }后续代码...执行流程:对布尔
2022-02-11 19:08:59
303
5
原创 学习实践: 婚姻登记年龄判断demo
尝试用这三天学到的基本操作再加上简单的"if"循环做一个婚姻登记年龄年龄验证的demo。主要功能为输入姓名、性别、年龄判断是否到结婚年龄,若未到达结婚年龄,则提示到达时间。注:根据《中华人民共和国民法典》:男性婚姻登记不低于22岁,女性不低于20岁...
2022-02-10 20:15:42
623
2
原创 day03 Java概述与环境搭建(三)
1. 类型转换自动提升,手动下降1.1 自动类型转换自动类型转换 (自动类型提升)1.两种类型要兼容 比如 数值与数值之间相互兼容2.目标类型(等号左边)大于源类型(等号右边)public class Test1{ public static void main(String [] args){ // 类型转换 (自动提升 手动下降) // 自动类型转换 (自动类型提升) // 1.两种类型要兼容 比如 数值与数值之间相互兼容 // 2.目标类型(等号左
2022-02-10 17:57:17
283
4
原创 day02 Java概述与环境搭建(二)
1. NotePad设置设置---首选项---进行如下设置2. 注释单行注释://多行注释:/* */文档注释:(生成外部文档:javadoc -d . HelloWorld.java)/****/注:注释不参与编译。public class Test1{ public static void main(String [] args){ // 注释 注释不参与编译 也就是说 注释不会影响代码的执行结果 // 仅仅作为解释说明 /.
2022-02-09 17:35:30
264
27
原创 day01 Java概述与环境搭建(一)
Java概述与环境搭建1. Java语言特点面向对象(使用计算机模拟现实世界,解决现实问题,贴近人类思维模式)简单(相对C、C++,不易造成内存溢出、减少代码量、代码可读性强)跨平台(操作系统、服务器、数据库)2. 计算机语言执行特点编译执行: 将源文件编译成机器码,一次编译,多次执行。 执行效率高,不可跨平台。解释执行: 将源文件一行一行解释,一行一行执行。不同的操作系统具备不同的解释器。 执行效率低,可以跨平台。3. Java语言执行特点先编译、再解释:将源
2022-02-08 18:59:15
876
21
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人