Java程序设计入门教程
Java程序设计入门教程,每章内容进行单独讲解,附有详细案例进行联系讲解。
信知阁
终身学习的科技分享者。
展开
-
Java程序设计入门教程--学习目录(带链接跳转)
Java程序设计入门教程,从零开始学习Java语法内容,建议收藏学习,点击链接直接跳转学习内容,每周进行内容更新。原创 2023-05-05 13:54:15 · 1008 阅读 · 0 评论 -
Java程序设计入门教程--对象的创建过程
错误示例程序继承情况下对象的创建过程示例程序。本例不能正确通过Java编译,出现如上所示错误,原因在于执行Square的构造方法时出错。Java规定子类构造方法在真正被执行之前,需回溯执行父类的构造方法。由于该Square类是Rectangle类的子类,系统在执行:Squaresquare时,首先执行父类Rectangle类的构造方法,缺省情况下是执行父类的空构造方法,而此例Rectangle类中已经定义了显式的inta,intb)原创 2023-06-10 11:33:20 · 259 阅读 · 1 评论 -
Java程序设计入门教程--调用父类构造方法
子类对象实例化示例程序。子类对象在实例化时会先调用父类的构造方法,再调用自身的构造方法。所以在实例化子类对象时需要先将父类的属性初始化。在继承中,子类对象在实例化前必须先调用父类中的构造方法,再调用自身的构造方法。原创 2023-06-10 11:32:47 · 579 阅读 · 0 评论 -
Java程序设计入门教程--扩展性重写
扩展性重写是指在保留父类方法原有内容的基础上增加新的内容,可以在子类中使用super调用父类方法。扩展性重写是指在保留父类方法原有内容的基础上增加新的内容,可以在子类中使用。调用父类方法基础上增加新的内容,如此处。方法,同学们区分两种重写的区别。这是扩展性重写的示例程序。这个类中,覆盖重写了。原创 2023-06-10 11:10:53 · 242 阅读 · 0 评论 -
Java程序设计入门教程--覆盖性重写
这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义包含不同内容的方法,来代表多种具体实现形式。在运行阶段,具体调用哪个覆盖方法,系统会根据该方法调用者类型的不同(父类还是子类),来决定调用哪个方法。覆盖,也称为重写,是指子类中定义了一个与父类某一方法具有相同型构(即同方法的返回类型,同方法名,同方法参数列表)的方法。当父类方法被重写后,子类或子类对象调用的将是被重写后的方法,父类或父类对象还是可以调用自身已经被重写的方法。原创 2023-06-10 10:54:13 · 105 阅读 · 0 评论 -
Java程序设计入门教程--继承的特点
当子类执行自身定义的方法时,操作的是自己重新定义的变量,隐藏父类继承来的变量。当子类执行父类继承来的方法时,若需要使用同名的成员变量,所使用的是父类的成员变量。在Java中,只有非私有型(public型、或缺省型)的变量和方法能被同包子类所继承并直接访问,而对于父类中私有型(private型)的属性,子类将无权直接访问。关键字指明新定义类的父类,新定义的类称为指定父类的子类,这样就在两个类之间建立了继承关系。被继承的类称为父类或超类,继承了父类或超类数据和方法的类称为子类。中的属性和方法,也具有类。原创 2023-06-09 11:55:04 · 228 阅读 · 0 评论 -
Java程序设计入门教程--使用枚举类
枚举类型是一个常量集合的数据类型,在任何可以使用常量的地方都可使用枚举常量,例如 switch 语句中的case标签,控制增强型for 语句。语句使用枚举类型的示例程序。原创 2023-06-09 11:46:37 · 54 阅读 · 0 评论 -
Java程序设计入门教程--枚举类的属性与方法
枚举类的构造方法与属性枚举类的构造方法与属性枚举类型本质上也是类,不过是一个特殊的类。枚举的声明也可包含类所应有的其他部分,比如构造方法,成员变量、成员方法。枚举类型的构造方法常用于为各个枚举成员添加附加的说明。枚举类型的构造方法的权限必须是private,不能在其他类中调用。声明构造方法后,枚举常量的声明就必须调用对应的构造方法。枚举类的构造方法与属性。原创 2023-06-09 11:35:31 · 580 阅读 · 0 评论 -
Java程序设计入门教程--枚举类的作用
注意: 一个源文件只能定义一个public类型的枚举类型,枚举类经过Java编译器编译后,也将产生一个字节码文件(.class)。枚举类型本质上也是类,不过是一个特殊的类。枚举成员之间用逗号隔开,每一个成员代表一个唯一的值,枚举类型的变量只能赋予声明的常量值之一。在某些情况下,一个类的对象是有限且固定的,比如方向类,它只有东南西北这。个对象,其他的任何值都是非法的,此时就可以考虑使用枚举类。枚举类型的对象只能赋予声明的常量值之一,程序运行结果如图所示。原创 2023-06-09 11:29:16 · 97 阅读 · 0 评论 -
Java程序设计入门教程--实体属性,访问器设置器
类的实体由成员变量和成员方法构成。成员变量也称为类的属性,生成对象时属性应该有具体的值,给成员变量赋值可以通过构造方法给成员变量赋初始值,也可以通过"对象.成员属性"格式给成员变量赋值。按照Javabean规范,修改Person类,成员属性的访问修饰符修改为为private。但若仍旧使用对象.成员属性格式给成员变量赋值的示例程序。该示例程序将产生编译错误。成员属性格式给成员变量赋值的示例程序。方法,访问类的私有成员的示例代码。修饰符的两个成员属性,并使用对象。原创 2023-06-09 11:07:09 · 254 阅读 · 0 评论 -
Java程序设计入门教程--访问修饰符
Java语言中,访问修饰符可以出现在类、成员变量、成员方法及构造方法前,用来控制访问权限,Java语言提供了4种级别的访问控制。原创 2023-06-09 11:00:50 · 59 阅读 · 0 评论 -
Java程序设计入门教程--JavaBean规范
如图所示,类B可直接访问类A的公有数据,但不能直接访问类A 中的私有数据,只能先访问类A中的公有方法,再通过该方法来访问类A中的私有数据,这样的处理机制就允许类中一些公开的信息(公有数据)向外界开放,而避免保密性强的数据(私有数据)暴露于外界。型),公有数据允许被外部环境直接访问,而私有数据则不允许与外部环境直接发生联系,它只能被本类的方法所访问和修改。的主要作用是用来对系统中要用到的数据进行封装,这些数据包括用户从前台的输入和从数据库中读取的数据等等,是。通常,一个类的数据包含两种:公有数据(原创 2023-06-09 10:55:23 · 592 阅读 · 0 评论 -
Java程序设计入门教程--构造方法重载
重载的方法主要通过形式参数列表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分。在同一类中定义了多个同名而不同内容的成员方法时,我们称这些方法是重载。构造方法可以通过重载实现不同的初始化方法。编译器检查每个方法所用的参数数目和类型。然后调用正确的方法。原创 2023-06-03 21:09:27 · 229 阅读 · 0 评论 -
Java程序设计入门教程--this
构造方法重载时,可以在构造方法中使用this( )调用其他构造方法。当一个实例方法被某个特定对象调用时,在该方法体内会隐式地使用关键字this来引用对象的实例变量和其他方法,使类的代码可以知道应该对哪个对象进行操作。使用this调用本类中的其他构造方法,重用类的另一个构造方法的代码,而不是定义类似的代码在没有参数的构造方法体内,是一种流行的方式。在一个类的方法或者构造方法内部,当成员变量被局部变量隐藏时,想使用成员变量的话,可以使用“this.成员变量名”来引用成员变量。原创 2023-06-03 20:42:13 · 103 阅读 · 0 评论 -
Java程序设计入门教程--默认构造方法
在缺省的情况下,编译器提供缺省的构造方法,也称为默认的构造方法,该构造方法是无参构造方法,并不需要在类中显式定义,将实例变量初始化为其缺省值。值得注意的是,在一个类中,如果我们已经显示地声明了一个构造方法,那么程序编译时就不会再生成默认的构造方法了。类的默认构造方法将对象的属性初始化为缺省值,成员变量如果是基本数据类型,其初始化是缺省的。所以在定义类时,若要显示地写出有参数的构造方法,最好写上无参数的构造方法。成员变量如果是引用类型,其缺省的初始值是。变量其缺省的初始值是。原创 2023-06-03 21:41:13 · 811 阅读 · 0 评论 -
Java程序设计入门教程--类的创建过程
的每个类中都有一种特殊的成员方法,它的方法名和类名是一致的。在创建对象时,调用这种特殊方法对成员变量进行初始化,这种方法称为构造方法。5. 构造方法可在类中由用户定义,若用户没有定义,系统将自动生成一个空构造方法。6. 构造方法可以通过重载实现不同的初始化方法。1. 构造方法的名字与其所属类的类名相同。2. 构造方法是给对象赋初值,没有返回值。3. 构造方法不能被程序显式调用,而是在。4. 构造方法可以有零个或多个形式参数。格式二:有参数构造方法。格式一:无参构造方法。构造对象时系统自动调用。原创 2023-06-03 17:08:06 · 392 阅读 · 0 评论 -
Java程序设计入门教程--装箱与拆箱
拆箱是指将封装类转变为对应的基本数据类型过程。装箱和拆箱可以分为手动装箱与拆箱和自动装箱与拆箱。装箱时指把基本数据类型变为对应的封装过程,如将。对象类型,其他基本数据类型也可以封装成相对应的封装类。,其他封装类型也可以拆装成相对应的基本类型。原创 2023-06-03 16:41:09 · 152 阅读 · 0 评论 -
Java程序设计入门教程--原始类与包装类
另外还有两个包装类BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数, BigDecimal支持任意精度带小数点的运算。存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。原创 2023-06-03 16:38:15 · 342 阅读 · 0 评论 -
Java程序设计入门教程--成员变量
类成员属于类的,类成员包括类属性(也称为类变量)和类方法,通过类名可以直接访问类成员属性和类成员方法,即使没有创建对象,也能够引用类成员,类成员也可以通过对象引用。实例成员是属于对象的,即属于对象级别,包括实例成员属性(也称为实例成员变量)和实例成员方法,只有创建了对象之后才能访问实例成员属性和实例成员方法。类变量的使用能满足这样的需求,即有时想有一个可以在类的所有实例中共享的变量。实例的成员属性称为成员属性(成员变量),成员变量与类变量相对,没有用。声明的其他变量,它是与具体对象相关的,保持对象的状态。原创 2023-06-03 16:27:40 · 542 阅读 · 0 评论 -
Java程序设计入门教程--创建对象
对象名表是指一个或多个对象名,若为多个对象名时,用逗号进行分隔。初始化对象,是指由一个类生成一个对象时,为这个对象确定初始的状态,即给它的成员变量赋初值的过程。在声明对象时,只确定了对象的句柄和它所属的类,并没有为对象分配存储空间,此时对象还不是类的实例。所谓声明对象,就是确定对象的名称,并指明该对象所属的类。也可以在声明对象的同时建立对象,这称为创建一个对象。声明对象的作用是创建对象空间的管理者,即对象名,也称为对象句柄。创建一个类的对象通常包括三个步骤,即声明对象、建立对象和初始化对象。原创 2023-06-03 16:24:33 · 577 阅读 · 0 评论 -
Java程序设计入门教程--类的定义
需要注意的是,除了类体中定义的变量与方法外,该类还继承了来自父类的变量与方法。程序需要完成其中某一功能的时候,就可直接利用现成的类库,而不需要一切从头编写,这样既可提高编程效率,也可保证软件的质量。系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。程序模块,每个模块通常对应一种特定的基本功能和任务,且这些模块都是经过严格测试的,因而也总是正确有效的。其中,第一项属于访问控制符,它不仅针对于类,类的变量、方法的访问也有该项的限制,后面章节中会详细介绍。原创 2023-06-03 16:23:24 · 671 阅读 · 0 评论 -
Java程序设计入门教程--字符类String
编译器总是先到缓冲池去找是否存在相同内容的字符串,如果存在,就直接使用,若不存在,就在缓冲池内创建一个新的字符串。运算符,可以用于判断基本数据类型的变量值是否相等,或者判断引用数据类型变量的引用地址是否相等。这两种格式生成的字符串效果是相同的,但是存储机制却有很大区别。方法,用于判断引用对象的引用地址所指向的存储内容是否相等。指定了子串结束后的下一个字符的下标。关键字调用构造方法的方式,则每次都会生成一个新的。方法可以获取字符串的长度该属性值。类提供的常见的字符串处理方法。指定了子串开始字符的下标,原创 2023-06-02 12:52:09 · 205 阅读 · 0 评论 -
Java程序设计入门教程--随机类Random
随机数字原创 2023-06-02 11:38:49 · 496 阅读 · 0 评论 -
Java程序设计入门教程--日期格式化类SimpleDateFormat
在程序设计中,经常用到特定的日期格式,此时就可以使用 java.text 包中的 SimpleDateFormat 类来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。SimpleDateFormat类中的方法 format() 被调用的实例程序:该方法将时间转换为指定的格式的字符串。既可以标记,也会根据语言环境的不同,显示不同的星期几。表示小时中的分钟数,一般使用。表示月份中的天数,一般使用。表示分钟中的秒数,一般使用。表示年中的天数,一般使用。表示星期中的天数,使用。原创 2023-06-02 11:33:17 · 563 阅读 · 0 评论 -
Java程序设计入门教程--日期类Date
java.util.Date类是一个简单的日期处理类,它包含了一些关于时间和日期的操作方法,精确到毫秒。对象并用当前时间初始化此对象,以表示分配它的时间(精确到毫秒)。对象并初始化此对象,以表示自从标准基准时间(称为“历元(测试此日期是否在指定日期之后。测试此日期是否在指定日期之前。比较两个日期的相等性。)以来的指定毫秒数。比较两个日期的顺序。对象转换为以下形式的。原创 2023-06-02 11:29:46 · 620 阅读 · 0 评论 -
Java程序设计入门教程 -- 二维数组
二维数组创建定义数组。原创 2023-06-02 11:02:07 · 743 阅读 · 0 评论 -
Java程序设计入门教程-- 嵌套循环
在解决某些复杂问题时,若在for、while或do-while循环语句的循环体内再包含一个循环语句,就形成了嵌套循环(nested loop)。乘法表共有九行,可用循环变量i来记录行数(1~9行),第1行,有1个乘法算式;第2行,有2个乘法算式;这3种循环语句之间可相互嵌套,构成多层的嵌套逻辑结构,外层的循环称为外循环,内层的循环称为内循环。同嵌套选择一样,理论上Java支持多级循环嵌套,但从可读性角度考虑,建议嵌套循环不宜超过三层。该程序巧妙的是,循环变量i和j正巧是每个乘法算式的被乘数和乘数。原创 2023-06-02 11:02:32 · 1076 阅读 · 0 评论 -
Java程序设计入门教程--for语句
表达式2:是判断表达式,用来判断循环是否结束,也就是循环的终点。通常判断表达式是关系表达式,当关系表达式的值为真时,程序继续进行循环,当关系表达式的值为假时,循环结束;2.执行 判断表达式(表达式2),若其值为真(true),则执行循环体,然后继续第 ③ 步;每次循环中循环变量增长(或减少)的值,称为循环步长;循环体: 即每次循环要执行的操作,此处,若该语句体只有一个语句,则可以不加{},若超过一个语句,则必须用 {} 括起。表达式1:通常是初始化表达式,用来设定循环变量的初始值,也就是循环计数的起点;原创 2023-06-02 11:01:28 · 164 阅读 · 0 评论 -
Java程序设计入门教程-- switch选择语句
当switch后面“表达式”的值与某个case后面的“常量表达式”的值相同时,就执行该case后面的语句(组);)时,跳出整个switch语句,转向执行switch语句的下一条。如果没有任何一个case后面的“常量表达式”的值与“表达式”的值匹配,则执行default后面的语句(组)。5. 用switch语句实现的多分支结构程序,完全可用if语句或if语句的嵌套来实现。2.每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象。语句通过嵌套可以处理多分支的情况,但分支不宜太多,在。原创 2023-05-31 00:15:00 · 1149 阅读 · 0 评论 -
Java程序设计入门教程-- if 条件语句
单分支选择语句(if当判断条件满足时,执行语句体S,而不满足则什么都不做。案例解释:判断是否是偶数,取模计算余数,为0即为偶数。原创 2023-05-31 00:00:00 · 855 阅读 · 0 评论 -
Java程序设计入门教程--运算符优先级
该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。表达式中运算的先后顺序由运算符的优先级确定,掌握运算的优先次序是非常重要的,它确定了表达式的表达是否符合题意,表达式的值是否正确。原创 2023-05-30 11:03:58 · 168 阅读 · 0 评论 -
Java程序设计入门教程--赋值运算符和条件运算符
其功能是:若逻辑(关系)表达式的值为true,取表达式1的值,否则取表达式2的值。条件运算符及条件表达式常用于简单分支的取值处理。表达式1 : 表达式2。取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数。加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数。减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数。乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数。除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数。简单的赋值运算符,将右操作数的值赋给左侧操作数。原创 2023-05-30 10:58:28 · 896 阅读 · 0 评论 -
Java程序设计入门教程--逻辑运算符和位运算符
< 用于整数的二进制位左移运算,在移位操作的过程中,左边的位移出(舍弃),右边位补0。在按位或操作过程中,如果对应两位的值只要有一个为1,则该位的运算结果为1,否则为0。>>> 用于整数的二进制位右移运算,在移位操作的过程中,右边位移出,左边位补0。在按位与操作过程中,如果对应两位的值均为1,则该位的运算结果为1,否则为0。>> 用于整数的二进制位右移运算,在移位操作的过程中,符号位不变,其他位右移。在按位异或操作过程中,如果对应两位的值相异,则该位的运算结果为1,否则为0。,则逻辑非运算符将得到。原创 2023-05-30 10:58:16 · 910 阅读 · 0 评论 -
Java程序设计入门教程--关系运算符
关系运算符就是表示两个参加运算的对象关系的运算符。左边数据的值是否大于或等于右边的值,如果是那么条件为真。左边数据的值是否小于或等于右边的值,如果是那么条件为真。左操作数的值是否大于右操作数的值,如果是那么条件为真。左操作数的值是否小于右操作数的值,如果是那么条件为真。如果两个操作数的值是否相等,如果值不相等则条件为真。如果两个操作数的值是否相等,如果相等则条件为真。原创 2023-05-30 10:57:57 · 80 阅读 · 0 评论 -
Java程序设计入门教程--算术运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几种:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格2-3中的实例假设整数变量A的值为10,变量B的值为20。右操作数除左操作数的余数。左操作数减去右操作数。左操作数除以右操作数。原创 2023-05-30 10:56:52 · 68 阅读 · 0 评论 -
Java程序设计入门教程--格式化输出
通过前面一系列的讲解,常用的一个输出方法就是System.out.println(),该方法将指定内容直接输出,之后回车换行;与之对应的一个方法就是System.out.print(),该方法与System.out.println()的不同之处在于输出指定后不进行回车。如果想要将输出的内容按照指定的格式输出,而不是直接输出,以上两个方法就无法完成了。System.out.printf(控制格式列表,表达式1(或变量),表达式 2...表达式n)以小数形式输出单、双精度实数。原创 2023-05-30 10:55:11 · 951 阅读 · 0 评论 -
Java程序设计入门教程--控制台输入数据
除了以上所提到的对于整数和字符串数据的输入方法,Scanner类还提供了对于输入其他类型数据的方法,nextByte()、nextShort()nextLong()、nextFloat()、nextDouble()这些方法。我们声明一个int类型的变量i,然后使用Scanner类的nextInt()方法来接收数据,且将接收的数据赋值给变量i,这样变量i中就存放了从输入设备输入的整数了。我们一般在程序代码的最开始引入所有需要用到的包和类。程序能够对我们指定的值进行计算,这样的话就需要我们的。原创 2023-05-30 10:54:54 · 2680 阅读 · 0 评论 -
Java程序设计入门教程--强制类型转换
一个双操作数以及位运算等算术运算式中,会根据操作数的类型将低级的数据类型自动转换为高级的数据类型,如果在必须情况下,结果要获取低级数据类型的数据,可以使用下述的强制类型转换。这里直接把int类型转换为对应的ASCII码字符了,十进制的101对应的字符是小写字母e。级别数据类型间的强制转换,可能会导致溢出或精度的下降。高级到低级的强制类型转换(会导致溢出或丢失精度);在布尔值和任何数字类型间强制类型转换;作自动数据运算类型的提升,字母,数字,低级到高级的自动类型转换;基本类型向字符串的转换;原创 2023-05-30 10:55:24 · 675 阅读 · 0 评论 -
Java程序设计入门教程--自动(隐式)类型转换
浮点型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,一般情况下,系统自动将两个运算术中低级的运算术转换为和另一个较高级运算术的类型相一致的数,然后再进行运算。这时输出的结果是112.3,因为在System.out.println(f1+i);语句中,将i自动转换为float类型后,在进行相加运算。低--------------------------------------------------->从低级到高级顺序示意如下。原创 2023-05-26 12:57:25 · 171 阅读 · 0 评论 -
Java程序设计入门教程--变量和常量的声明与使用
变量的有效范围也叫变量的作用域,是指变量自定义的地方起,可以使用的有效范围。在程序中不同的地方定义的变量具有不同的作用域。一般情况下,在本程序块(即以大括号“{}”括起的程序段)内定义的变量在本程序块内有效。(2)声明可以在代码内的任何一个位置出现,但在方法的任何代码块内只可对一个变量声明一次。(1)在Java中绝对不能出现未初始化的变量,在使用一个变量前必须给变量赋值。条语句中进行多个变量的声明,不同变量之间用逗号分隔。要求在使用一个变量之前要对变量的类型加以声明。变量的定义,就是程序中值可以改变的量。原创 2023-05-26 12:45:37 · 840 阅读 · 0 评论