要从键盘读取数据可以使用Scanner类的nextInt()方法或nextDouble()方法。首先创建Scanner类的一个实例,然后调用nextDouble()方法读取double数据:
Java的引用数据类型包括以下几种:
类(Class):类是Java中最基本的引用数据类型,用于定义对象的属性和行为。通过类可以创建对象的实例。
接口(Interface):接口是一种抽象的数据类型,用于定义一组方法的规范。类可以实现接口,实现接口中定义的方法。
数组(Array):数组是一种容器,可以存储多个相同类型的元素。数组可以是一维的、二维的,甚至是多维的。
枚举(Enum):枚举是一种特殊的类,用于定义一组常量。枚举常量是有限且固定的,可以通过名称来引用。
字符串(String):字符串是一种特殊的引用数据类型,用于表示一串字符。字符串在Java中是不可变的,即创建后不能修改。
集合(Collection):集合是一种用于存储和操作一组对象的容器。Java提供了多种集合类,如List、Set、Map等。
自定义引用数据类型:除了上述内置的引用数据类型,Java还允许用户自定义引用数据类型,通过定义类来实现。
这些引用数据类型在Java中都是通过引用来操作的,即变量存储的是对象的引用地址,而不是对象本身。通过引用,可以对对象进行操作和访问对象的属性和方法。
一个注意点:
在Java中,存储的其他进制数(如二进制、八进制、十六进制)在打印输出时都会被转换为十进制进行显示。无论是使用System.out.println()还是其他输出方法,Java都会将存储的其他进制数转换为十进制后输出。
例如,如果将一个二进制数1010存储在int类型的变量中,那么在打印输出时会显示为十进制的数值10。同样地,如果将一个八进制数0123存储在int类型的变量中,打印输出时会显示为十进制的数值83。对于十六进制数,如将0xFF存储在int类型的变量中,打印输出时会显示为十进制的数值255。
如果需要以其他进制形式输出,可以使用Java提供的格式化输出方法,如使用String.format()方法或System.out.printf()方法,并指定相应的格式化字符串,以实现以其他进制形式输出。
浮点型字面值有两种表示方法。(1)十进制数形式,由数字和小数点组成,且必须有小数点,如0.256、.345、256.、256.0等。(2)科学记数法形式,如256e3、256e?3,它们分别表示256×103和256×10?3。e之前必须有数字,e后面的指数必须为整数。
注意:浮点型字面值默认是double型数据。如果表示float型字面值数据,必须在后面加上F或f,double型数据也可加D或d。
浮点数运算结果可能溢出,但不会因溢出而导致异常。如果下溢,则结果为0;如果上溢,结果为正无穷大或负无穷大(显示为Infinity或?Infinity)。此外,若出现没有数学意义的结果,则用NaN(Not a Number)表示,如0.0/0.0的结果为NaN。这些常量已在基本数据类型包装类中定义。浮点数计算可能存在舍入误差,因此,浮点数不适合做财务计算,而在财务计算中的舍入误差是不能接受的.
month.toLowerCase()是将字符串转换成小写字符串。
break语句是用来跳出while、do、for或switch结构的执行,该语句有两种格式:[插图]break语句的功能是结束本次循环,控制转到其所在循环的后面执行。对各种循环均直接退出,不再计算循环控制表达式。
continue语句与break语句类似,但它只终止执行当前的迭代,导致控制权从下一次迭代开始
在现实世界中,对象(object)无处不在。人们身边存在的一切事物都是对象
对象是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的实体。一个对象可以非常简单,也可以非常复杂。复杂的对象往往是由若干个简单对象组合而成的。例如,一辆汽车就是由发动机、轮胎、车身等许多其他对象组成。
对象是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的实体。一个对象可以非常简单,也可以非常复杂。复杂的对象往往是由若干个简单对象组合而成的。例如,一辆汽车就是由发动机、轮胎、车身等许多其他对象组成。
对象与对象之间不是孤立的,它们之间存在着某种联系,这种联系是通过消息传递的。例如,开汽车就是人向汽车传递消息。一个对象发送的消息包含三方面的内容:接收消息的对象;接收对象采用的方法(操作);方法所需要的参数。
1.封装性
封装(encapsulation)就是把对象的状态(属性)和行为(方法)结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。例如,一辆汽车就是一个封装体,封装了汽车的状态和操作。封装使一个对象形成两个部分:接口部分和实现部分。对用户来说,接口部分是可见的,而实现部分是不可见的。封装提供了两种保护。首先封装可以保护对象,防止用户直接存取对象的内部细节;其次封装也保护了客户端,防止对象实现部分的改变可能产生的副作用,即实现部分的改变不会影响到客户端的改变。在对象中,代码或数据对该对象来说都可以是私有的(private)或公有的(public)。私有代码和数据仅能被对象本身的其他部分访问,不能被该对象外的任何程序所访问。当代码或数据是公有的时,虽然它们定义在对象中,但程序的其他部分也可以访问。
2.继承性
继承(inheritance)的概念普遍存在于现实世界中。它是一个对象获得另一个对象属性的过程。继承之所以重要,是因为它支持层次结构类的概念。可以发现,在现实世界中,许多知识都是通过层次结构方式进行管理的。例如,一个富士苹果是苹果类的一部分,而苹果又是水果类的一部分,水果类则是食物类的一部分。食物类具有的某些特性(可食用,有营养)也适用于它的子类水果。除了这些特性以外,水果类还具有与其他食物不同的特性(多汁、味甜等)。苹果类则定义了属于苹果的特性(长在树上,属于非热带植物)。图4-1给出了食物及其子类的继承关系。[插图]图4-1 食物类及子类层次如果不使用层次结构,那么对象就不得不明确定义自己的特征。如果使用继承,那么对象就只需定义自己特有的属性就可以了,至于基本的属性则可以从父类继承。继承性体现了类之间的是一种(IS-A)关系。类之间的关系还有组合、关联等。
3.多态性
多态性(polymorphism)是面向对象编程语言的一个重要特性。所谓多态,是指一个程序中相同的名字表示不同含义的情况。面向对象程序中的多态有多种情况。在简单的情况下,在同一个类中定义了多个名称相同的方法,即方法重载;另一种情况是子类中定义的与父类中的方法同名的方法,即方法覆盖。这两种情况都称为多态,且前者称为静态多态,后者称为动态多态
5.5OOP的优势:
1.易维护;
2.可重用;
3.可扩展;
OO技术主要包括下面三个领域:面向对象分析(object oriented analysis,OOA)、面向对象设计(object oriented design,OOD)和面向对象编程(object oriented programming,OOP)。