自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第五章 继承、多态、抽象类与接口 (1)

继承的基本思想是基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法,或者直接重写父类中的某些方法。例如,平行四边形是特殊的四边形,可以说平行四边形类继承了四边形类,这时平行四边形类将所有四边形具有的属性和方法都保留下来,并基于四边形类扩展了一些新的平行四边形类特有的属性和方法。继承在面向对象开发思想中是一个非常重要的概念,它使整个程序架构具有一定的弹性,在程序中复用已经定义完善的类不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性。

2024-09-16 22:02:47 224

原创 第四章 类和对象 合集

在程序开发初期,人们使用结构化开发语言,但随着软件的规模越来越庞大,结构化语言的弊端也逐渐暴露出来,开发周期被无休止地拖延,产品的质量也不尽如人意,结构化语言已经不再适合当前的软件开发。这时,人们开始将另一种开发思想引入程序中,即面向对象的开发思想。面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及行为,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了面向对象设计的概念,面向对象设计实质上就是对现实世界的对象进行建模操作。

2024-09-16 21:56:48 869

原创 第四章 类和对象 实践与练习(2)

创建一个类,在该类中,个体Random Number()方法可以被所有人使用,setNumber()方法可以被同包下的类用,sort()方法只能自己使用。创建一个类,该类无法通过构造方法创建对象,只能通过该类提供的getInstance()静态方法获得该类对象。尝试编写一个矩形类,将长和宽作为举行的属性,在构造方法中将长宽初始化,定义一个成员方法求此矩形的面积。编写一个类,将main方法所有运行参数输出到控制台中,如果没有运行时参数,则输出“无运行参数”提示。

2024-09-13 22:04:19 565

原创 第四章 类和对象 实践与练习(1)

购买电影票有优惠:满18岁的付40元,未满18岁的享受半价。使用成员变量,成员方法,构造方法和this关键字,控制台输出姓名,年龄,票价。使用成员变量,成员方法,构造方法和this关键字,先记录4名学生的语文,数学,英语3科成绩,在计算每个人的平均分。使用静态方法模拟一个只能进行两个数加减乘除的简易计算器。编写工具类,提供厘米与英寸之间的相互交换的工具方法。

2024-09-13 21:47:40 676

原创 第四章 类和对象 课后训练(4)

在Run Configrations对话框中选择Arguments选项卡,在Program arguments文本框中输入字符串“张三”和“123456”,利用main函数给程序添加权限判断。否则,输出“您的权限无法运行此程序”在Run Configrations对话框中选择Arguments选项卡,在Program arguments文本框中输入字符串 where、r、和u,利用main函数参数分别将字符串where、u、和h转换为大写并输出 “WHERE R U?训练 8 将运行时参中的字母转为大写。

2024-09-12 23:03:48 278

原创 第四章 类和对象 课后训练(3)

创建一个水池类,在类中先定义一个静态变量表示水池中的水量,并初始化为0;再定义两个静态方法,即注水(依次放入三个单位)方法和放水(一次放出2个单位)方法。用过调用两个静态方法,控制水池中的水量。使用静态变量定义使用信用卡消费的总次数,控制台先输出使用信用卡消费时的每一条消费记录,在输出使用信用卡消费的总次数。

2024-09-12 22:43:34 386

原创 第四章 类和对象 课后训练(2)

创建信用卡类,有两个成员变量,分别是卡号和密码,如果用户开户的时候没有设置密码,则使用“123456”作为默认密码。设计两个不同的个构造方法,分别用于用户设置密码和没有设置密码的两种构造场景。张三去KFC买可乐,商家默认不加冰块,但是张三可以要求加三块冰块,请用构造方法实现该功能。

2024-09-10 20:47:18 362

原创 第四章 类和对象 课后训练(1)

现有一个整型数组int a[] = {1,3,5,7},编写一段代码,将这个数组的第一个元素和第三个元素交换,把第二个元素和第四个元素交换,最后输出交换后的结果。一辆汽车的油箱为30L,,油箱里现剩余6L汽油,加油站每5秒给这辆车加油2L直到加满,控制台输出加油过程和加油时间。训练2 交换数组元素。

2024-09-10 20:24:11 427

原创 第四章 类和对象(6)

如果用户在类中定义了finalize()方法,在垃圾回收时会首先调用该方法,在下一次垃圾回收动作发生时, 才真正回收被对象占用的内存。每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,对象就变成垃圾,由JAVA虚拟机自带的垃圾回收机制处理,不能再破使用(对于垃圾回收机制的知识将在4.6.4 节中进行讲解)。前文已经提到过,对象的属性和行为在类中是通过类的成员变量和成员方法的形式来表示的,因此当对象获取类成员时,也相应地获取了对象的属性和行为。

2024-09-09 21:59:42 1122

原创 第四章 类和对象(5)

其中args[0]~args[n]分别代表程序的第一个参数到第n+1个参数,可以使用args.length获取参数的个数。主方法是类的入口点,它指定了程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的。

2024-09-09 21:34:25 449

原创 第四章 类和对象(4)

很多时候,不同的类之间需要对同一个变量进行操作,比如一个水池,同时打开入水口和出水口,进水和出水这两个动作会同时影响到水池中的水量,此时水池中的水量就可以认为是一个共享的变量。如果想要使用类中的成员方法,需要先将这个类进行实例化,但有些时候不想或者无法创建类的对象时,还要调用类中的方法才能够完成业务逻辑,这种情况下就可以使用静态方法。定义一块静态代码块,可以完成类的初始化操作,在类声明时就会运行。由static关键字修饰的变量、常量和方法分别被称作静态变量、静态常量和静态方法,也被称作类的静态成员。

2024-09-08 21:08:13 589

原创 第四章 类和对象(3)

在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化。如果类中没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。构造方法的主要作用是完成对象的初始化工作,它能把定义对象的参数传给对象成员。Book :构造方法的名称,与类同名。构造方法的名称要与本类的名称相同。

2024-09-08 20:59:42 338

原创 第四章 类和对象(2)

调用方法时可以给该方法传递一个或多个值,传给方法的值叫作实参,在方法内部,接收实参的变量叫作形参,形参的声明语法与变量的声明语法一样。值参数表明实参与形参之间按值传递,当使用值参数的方法被调用时,编译器为形参分配存储单元,然后将对应的实参的值复制到形参中,由于是值类型的传递方式,所以,在方法中对值类型的形参的修改并不会影响实参。引用参数,如果在给方法传递参数时,参数的类型是数组或者其他引用类型,那么,在方法中对参数的修改会反映到原有的数组或者其他引用类型上,这种类型的方法参数被称之为引用参数。

2024-09-07 20:06:17 875

原创 第四章 类和对象(1)

在程序开发初期,人们使用结构化开发语言,但随着软件的规模越来越庞大,结构化语言的弊端也逐渐暴露出来,开发周期被无休止地拖延,产品的质量也不尽如人意,结构化语言已经不再适合当前的软件开发。这时,人们开始将另一种开发思想引入程序中,即面向对象的开发思想。面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及行为,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了面向对象设计的概念,面向对象设计实质上就是对现实世界的对象进行建模操作。

2024-09-07 19:43:32 978

原创 第三章 数组 实践与练习(2)

编写一个建议五子棋游戏,在控制台上绘制棋盘,奇葩马上每个点都有对应的坐标,下棋者输入俩五子棋对应的坐标表示棋子的落点,其中,第一个数字表示横坐标,第二个数字表示纵坐标。现有学号为1-8的八名学生和十道题目,将学生的答案存储在一个二维数组中,通过学号找到并输出该学生的答案和回答正确的题目总数。输入学生的语文数学英语成绩,输出学生各科成绩信息,平均分和总成绩。一辆大巴有9排4列的座位,编写一个程序模拟大巴车的售票过程。综合练习6 统计学生成绩。综合练习7 模拟客车售票。综合练习8 自动批卷程序。

2024-09-05 20:22:10 389

原创 第三章 数组 实践与练习(1)

编写一个简易的推箱子游戏,使用10x8的二维字符数据表示游戏画面,H表示墙壁,&表示玩家角色,o表示箱子。玩家可以通过输入ADWS字符控制角色移动,当箱子推到目的地的时候显示游戏结束。交换二维数组int[][]array= {{91,25,8},{56,14,2},{47,3,67}}的行列数据。将1-9的数字放入3x3的数组中,判断该数组每行每列以及每个对角线的值是否相等。使用二维数组实现杨辉三角。

2024-09-05 19:58:44 518

原创 第三章 数组 合集

变量可以理解成为一个“容器”,然后保存可以变化的值。虽然变量的值不是固定的,但变量一次却只能保存一个值。开发程序是通常会使用非常多的变量,如果一个一个的创建变量,工作量大,严重影响效率,于是所有的开发语言都引入了数组这个概念。数组就是具有相同类型的数据的集合,也就是说一个数组可以同时保存多个值。数组可以根据阶数分为一维数组、二维数组......

2024-09-04 19:08:00 986

原创 第三章 数组 课后训练(4)

10名学生在一次英语竞赛中的成绩分别为71,89,67,53,78,64,92,56,74,85,使用冒泡排序编写一个JAVA程序,将这十个学生的英语竞赛成绩由小到大进行排序。10名学生在一次英语竞赛中的成绩分别为71,89,67,53,78,64,92,56,74,85,使用冒泡排序编写一个JAVA程序,将这十个学生的英语竞赛成绩由大到小进行排序。

2024-09-04 19:05:30 445

原创 第三章 数组(5)

例如,一个拥有6个元素的数组,在排序过程中每一次循环的排序过程和结果如下图所示,绿色的数字处于正在进行比较的状态,蓝色的数字表示处于等待排序的状态,黑色的数字表示已经完成排序的状态。冒泡排序的基本思路是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。算法比较的次数为数组长度减1,因为最后一次比较时,只剩下两个等待比较的元素,完成这两个元素的比较之后,整个数组就完成了排序。

2024-09-03 21:25:09 1032

原创 第三章 数组 课后训练(3)

某公司准备好十个包装箱,每箱装60枚鸡蛋。由于机器故障,后6箱少装了2枚鸡蛋,使用数组的相关知识体现该过程。某公司准备好十个包装箱,每箱装60枚鸡蛋。由于机器故障,每箱少装了2枚鸡蛋,使用数组的相关知识体现该过程。

2024-09-03 21:11:00 388

原创 第三章 数组(4)

如果新数组的长度大于数组arr的长度,则用默认值填充(整型的默认值为0,char类型的默认值为null);如果复制后的数组长度小于数组arr的长度,则会从数组arr的第一个元素开始截取至满足新数组长度为止。fill()方法方法将指定的int值分配给int型数组指定范围中的每个元素。数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。arr:要进行复制的数组对象,数组的类型决定了返回值的类型。arr:要进行复制的数组,数组的类型决定了返回值的类型。

2024-09-02 19:31:51 829

原创 第三章 数组 课后训练(2)

一个私人书柜有三层二列,分别向书柜第一层第一列放入历史类读物,向该书柜第二层第一列放入经济类读物,向该书柜第二层第二列放入现代科学类读物。创建一个二维数组,并给该二维数组赋值。创建一个poetry类,声明一个字符型的二维数组,将古诗《春晓》的内同存储在这个二维数组中,然后分别用横板和竖版两种方式输出。

2024-09-02 19:17:09 423

原创 第三章 数组(3)

二维数组每一个元素也是一个数组,所以第一种直接赋值方式,在大括号内还有大括号,因为每一个元素都是一个一维数组;第三种方法比较特殊,在分配内存空间之后,还有两种赋值的方式,给某一行直接赋值一个一维数组,或者给某一行的每一个元素分别赋值。如果一维数组中的各个元素仍然是一个一维数组,那么它就是一个二维数组。二维数组有两个下标,第一个下标代表元素所在的行,第二个下标代表元素所在的列。二维数组的初始化方法与一维数组类似,也有多种创建方式。但不同的是,二维数组有两个索引(即下标),构成由行列组成的一个矩阵。

2024-08-31 18:46:49 277

原创 第三章 数组 课后训练(1)

超市有20个储物箱,现第2、3、5、8、12、13、16、19、20号尚未被使用,使用数组长度输出未使用的储物箱的个数和已经使用的储物箱的个数。分别把键盘上的每一排字母案件都保存为一个一维数组,利用数组长度输出键盘各排字母的个数。

2024-08-31 18:42:43 327

原创 第三章 数组(2)

初始化一维数组的时候都会在内存中分配内存空间,内存空间的大小决定了一维数组能够存储多少个元素,也就是数组长度。声明数组后,还不能访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。数组的初始化可分别初始化数组中的每个元素。用逗号“,”分割数组中的各个元素,系统自动为数组分配一定的空间。由于创建的数组arr中有5个元素,因此数组中元素的下标为0~4。数组元素个数:指定数组中元素的个数,即数组的长度。

2024-08-30 21:04:12 378

原创 第三章 数组(1)

变量可以理解成为一个“容器”,然后保存可以变化的值。虽然变量的值不是固定的,但变量一次却只能保存一个值。开发程序是通常会使用非常多的变量,如果一个一个的创建变量,工作量大,严重影响效率,于是所有的开发语言都引入了数组这个概念。数组就是具有相同类型的数据的集合,也就是说一个数组可以同时保存多个值。数组可以根据阶数分为一维数组、二维数组......

2024-08-30 20:56:01 468

原创 第二章 流程控制合集

while循环语句执行的过程是:先执行一次语句组,然后再判断条件表达式,如果条件表达式的值为true,则重复执行语句组,否则退出循环。同简单的if条件语句一样,如果if...else语句的语句序列中只有一条语句(不包括注释),则可以省略该数据序列外面的“{}”。(1)switch语句中不是所有case语句都会被执行,所以这里使用两种颜色的区域进行划分,如图1所示,绿色区域是会执行的区域,红色区域是不会执行的区域,也就是红框中的代码会被switch略过。简而言之,复合语句是很多条语句的组合。

2024-08-29 21:09:54 1295

原创 第二章 流程控制 实践与练习(2)

五文钱可以买一只公鸡,三文钱可以买一只母鸡,一文钱可以买五只小鸡,现在用100文钱买100只鸡,那么公鸡、母鸡、小鸡各有多少只?使用do...while循环,在控制台上输出摄氏温度与华氏温度的对照表。对照表从-30度到50度,每行间隔10度。使用for循环,判断在1-100中有多少个素数,并在控制台上输出所有的素数。使用switch多分支语句判断某一年对应的中国生肖。综合练习7 摄氏度转华氏度。综合练习8 百钱买百鸡。综合练习5 查找素数。综合练习6 判断生肖。

2024-08-29 21:04:52 369

原创 第二章 流程控制 实践与练习(1)

编写JAVA程序,使用while循环语句计算1+1/2!+...+1/20!使用for循环,在控制台输出由4,5,6,7能组成的互不相同且没有重复数字的三位数。编写JAVA程序,实现判断变量x是奇数还是偶数。编写JAVA程序,使用for循环输出菱形。综合练习3 计算1-20的阶乘的倒数之和。综合练习1 判断奇偶数。综合练习4 无重复组合。综合练习2 输出菱形。

2024-08-27 22:49:20 365

原创 第二章 流程控制课后训练(3)

某剧院发售演出门票,演播厅观众席有四行,每行有十个座位。为了不影响观众视角,在发售门票时,屏蔽掉最左一列和最右一列的座位,请编写程序,结合本节知识点模拟整个售票过程。有一口井,深10米,一只蜗牛从井底向井口爬,白天向上爬2米,晚上向下滑1米,问多少天可以爬到井口?

2024-08-27 22:29:19 228

原创 第二章 流程控制(8)

与break语句一样,continue也支持标签功能,可以让continue跳过指定的循环。如果遇到循环嵌套的情况,break关键字只能结束当前正在执行的、包含此break的内层的循环,外层循环不会受此影响。continue标签名:continue跳出指定的循环体,此循环体的标签名必须与continue的标签名一致。break标签名:break结束指定的循环,此循环的标签名必须与break的标签名一致。给break添加标签之后,就可以结束指定的循环,该循环可以是内层循环,也可以是外层循环。

2024-08-26 19:13:48 502

原创 第二章 流程控制课后训练(2)

生物实验室做单细胞细菌繁殖实验,每一代细菌数量都会成倍增长,一代菌落中只有一个细菌,二代菌落中的细胞经过分裂变成两个细菌,三代菌落中的细胞经过分裂变成四个细菌,以此类推,请计算第十代菌落的细菌数量。1,1,2,3,5,8,13,21,34,...是一组经典的斐波那契数列,前面两个数相加等于第三个数,那么请问这组数中第n个数为多少?

2024-08-26 19:08:17 410

原创 第二章 流程控制(7)

循环有for、while、do…while 3种方式,这3种循环可以相互嵌套。利用循环嵌套可以写出很多复杂、有趣的算法。

2024-08-24 19:14:16 414

原创 第二章 流程控制(6)

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写为for语句版本。Java中的for循环有两种形式:一种是传统的、灵活性强、代码量大的for语句,另一种是“全自动化”、灵活性较弱的foreach语句。我们可以简单的理解为,对数组或集合中的所有元素,逐一访问,依次读取一遍。(2)判断表达式2,若其值为true,则执行语句组,若其值为false,则结束循环。表达式2:该表达式是一个布尔表达式,作为循环的条件。(3)执行表达式3。

2024-08-24 19:10:41 467

原创 第二章 流程控制(5)

while循环语句执行的过程是:先执行一次语句组,然后再判断条件表达式,如果条件表达式的值为true,则重复执行语句组,否则退出循环。while循环语句中的循环体至少被执行一次。如果使用while循环实现此场景,需要在循环外对用户的输入信息做一次判断,在循环内还要做一次判断,这样就出现了重复代码。while循环可以很好地解决这个问题。do是Java关键字,必须与while配对使用。循环语句中的布尔表达式与while语句中布尔表达式相同,但特别值得注意的是do…while语句后要有分号“;

2024-08-23 19:34:23 301

原创 第二章 流程控制课后训练(1)

使用if...else if语句判断成绩等级,并输出与改成绩所对应的等级。使用switch多分支语句判断某个月份属于哪个季节。良好:大于或等于80分,小于90分。合格:大于或等于60分,小于80分。优秀:大于或等于90分。不合格:小于60分。

2024-08-23 19:30:46 436

原创 第二章 流程控制(4)

布尔表达式的值是一个逻辑值(true和false),当布尔表达式的值为true时开始循环执行语句组,当表达式的值为false时则停止循环。循环每次执行完语句组后,都会重新判断布尔表达式值。

2024-08-22 19:12:56 280

原创 第二章 流程控制(3)

(5)如果没有任何一个case可以匹配成功,switch则会跳过所有case,直接运行default中的代码,过程如图5所示。switch语句会将圆括号中的值与case后面的表达式一一匹配,如果有存在两者相等的情况,switch会执行此表达式冒号之后的语句。(1)switch语句中不是所有case语句都会被执行,所以这里使用两种颜色的区域进行划分,如图1所示,绿色区域是会执行的区域,红色区域是不会执行的区域,也就是红框中的代码会被switch略过。在不同的场景下,switch的流程稍显复杂。

2024-08-22 19:08:33 438

原创 第二章 流程控制(2)

同简单的if条件语句一样,如果if...else语句的语句序列中只有一条语句(不包括注释),则可以省略该数据序列外面的“{}”。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行if语句中的语句组;若为false,则不执行语句组。语句组1~n:可以是一条或多条语句,当布尔表达式1的值为true时,执行语句组1;语句组:可以是一条或多条语句,当布尔表达式的值为true时执行这些语句。if语句和if...else语句都可以嵌套判断语句,在if语句中嵌套if...else语句。

2024-08-21 19:44:46 607

原创 第二章 流程控制(1)

与C语言及其他语言相同,Java语言的复合语句是以整个块区为单位的语句,所以又称块语句。简而言之,复合语句是很多条语句的组合。在语法格式方面,复合语句由开括号“{”开始,闭括号“}”结束。在使用复合语句时要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中某个变量被创建并能够被使用。如果在某个变量的作用域外使用该变量,则会发生错误。在Java语言中,语句是最小的组成单位,每条语句都必须使用分号作为结束符。如果想把多条语句看作单条语句,Java 提供的方法又是什么呢?

2024-08-21 19:21:32 310

空空如也

空空如也

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

TA关注的人

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