数据类型和运算符

一、理解面向对象的编程 

     面向对象编程具有三个基本的特征:封装;继承;多态。

    对于Java而言,类是对象的抽象,对象则是类的实例

    UML(统一建模语言)介绍:UML2.0一共包括13种正式图形:活动图、类图、通信图、组件图、复合结构图、部署图、交互概观图、对象图、包图、顺序图、状态机图、定时图、用例图。

二、程序的注释

    Java语言的注释一共有三种类型:单行注释;多行注释;文档注释。

    在开发中定义类、方法是可以先添加文档注释,然后使用javadoc工具来生成API文档。javadoc默认只处理public或protected修饰的内容,如果开发者确实希望javadoc工具能够提取private修饰的内容,可以在使用javadoc时增加-private选项。

    在API文档中,包注释并不直接放在Java源文件中,而必须另外指定。通常通过一个标准的HTML文件来提供包注释,这个文件被称为包描述文件。包描述文件的文件名通常是package.html,并于该包下所有的Java源文件放在一起,javadoc工具会自动寻找对应的包描述文件,并提取该包描述文件中的<body/>元素里的内容,作为该包的描述信息。

三、标识符和关键字

    标识符可以由字母、数字、下划线和美元符($)组成,其中数字不能打头。

    Java中所有的关键字都是小写的,所以TRUE、FALSE、NULL都不是Java关键字。

四、数据类型的介绍

    Java语言支持的类型分为两类:基本类型和引用类型。基本类型包括boolean类型和数值类型;引用类型包括类、接口和数组类型。

(1)整型

    整型实际上指如下四种类型:byte、short、int、long。

    int是最常用的整数类型,在通常情况下,直接给出一个整数值默认就是int类型。

    如果直接将一个较小的整数值(在byte或short类型的表述范围内)赋给一个byte或short类型变量,系统会自动把这个整数值当成byte或short类型来处理。

    如果希望系统把一个整数值当成long类型来处理时,应在这个整数值后面增加l或者L作为后缀,否则Java不会自动将这个整数值当成long类型来处理。

(2)字符型

    Java语言中的单引号、双引号和反斜线都有特殊的用途,如果一个字符串中包含了这些特殊字符,则应该使用字符转义的表示形式。

(3)浮点型

    浮点数有两种表示形式:十进制数形式(浮点数必须包含一个小数点,否则会被当成int类型处理);科学计数法形式。

    Java提供了三个特殊的浮点数值:正无穷大、负无穷大和非数,用于表示溢出和出错。正无穷大通过POSITIVE_INFINITY表示,负无穷大通过NEGATIVE_INFINITY表示,用0.0除以0.0或者对一个负数开方将得到一个非数,非数通过NaN表示。

    在Java中,可以在数值中使用下划线,不管是整型数值,还是浮点型数值,都可以自由地使用下划线。通过下划线分隔,可以直观地分辨数值中到底包含多少位。

(4)布尔型

    字符串“true”和“false”不会直接转换成boolean类型,但如果使用一个boolean类型的值和字符串进行连接运算,则boolean类型的值将会自动转换成字符串。

五、基本类型的类型转换

    把一个浮点数强制类型转换为整数时,Java将直接截断浮点数的小数部分。

    将int型强制转换为byte或者short型时,可能会发生溢出。

    一个错误的例子:float a = 5.6;  直接把5.6赋给float类型变量将出现错误,因为5.6默认是double类型。正确的表述应为:float a = (float) 5.6;

    一个自动类型提升错误的例子:short sValue = 5; sValue = sValue - 2;  表达式中sValue将自动提升到int类型,则右边的表达式类型为int,将int型数赋给short型变量将发生错误。但sValue -=2; 则是正确的。因此如果可以使用扩展后的运算符,则推荐使用它们

六、直接量

    直接量是指在程序中通过源代码直接给出的值。

    String类型的直接量不能赋给其他类型的变量,null类型的直接量可以直接赋给任何引用类型的变量,包括String类型,boolean类型的直接量只能赋给boolean类型的变量,不能赋给其他类型的变量。

    当程序第一次使用某个字符串直接量时,Java会使用常量池来缓存该字符串直接量,如果程序后面的部分需要用到该字符串直接量时,Java会直接使用常量池中的字符串直接量。

    String类是一个不可变类,因此String对象创建出来就不能被改变

七、运算符

(1)算术运算符

    Java中允许取余运算的操作数不是整型,取余运算的结果有可能是浮点数。如果取余运算的两个操作数中有一个或者两个都是浮点数,则允许第二个操作数是0或者0.0,只是取余运算的结果是非数NaN。

(2)位运算符

    &:按位与    |:按位或    ~:按位非    ^:按位异或    <<:左移    >>:右移    >>>:无符号右移

    >>把第一个操作数的二进制码右移指定位数后,左边空出来的位以原来的符号位填充;>>>把第一个操作数的二进制码右移指定位数后,左边空出来的位总以0填充

    对于int类型的整数移位a>>b,当b>32时,需要先对b对32求余再进行运算(因为int类型只有32位); 对于long类型的整数移位a>>b,当b>64时,需要先对b对64求余再进行运算(因为long类型只有64位)

(3)比较运算符

    如果两个引用类型之间没有父子继承关系,则它们的变量不能使用==进行比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值