Java编程那些事儿23逻辑运算符.docx

上传人:b****6 文档编号:7988074 上传时间:2023-01-27 格式:DOCX 页数:20 大小:25.74KB
下载 相关 举报
Java编程那些事儿23逻辑运算符.docx_第1页
第1页 / 共20页
Java编程那些事儿23逻辑运算符.docx_第2页
第2页 / 共20页
Java编程那些事儿23逻辑运算符.docx_第3页
第3页 / 共20页
Java编程那些事儿23逻辑运算符.docx_第4页
第4页 / 共20页
Java编程那些事儿23逻辑运算符.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Java编程那些事儿23逻辑运算符.docx

《Java编程那些事儿23逻辑运算符.docx》由会员分享,可在线阅读,更多相关《Java编程那些事儿23逻辑运算符.docx(20页珍藏版)》请在冰豆网上搜索。

Java编程那些事儿23逻辑运算符.docx

Java编程那些事儿23逻辑运算符

Java编程那些事儿17——基本数据类型

Java,修饰符,父类,子类,public

  3.5基本数据类型

  程序中最核心的就是一系列的数据,或者叫程序状态,计算机为了方便的管理数据,就为数据设定了一组类型,这样在为数据分配内存以及操作数据时都比较方便,这就是数据类型的由来。

其实现实生活中也存在各种数据类型,例如数字型,字符型等,数字型又可以划分为整数型和小数型,只是没有很可以的划分罢了。

  在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。

可以使用这些类型的值来代表一些简单的状态。

  3.5.1概述

  学习数据类型的目的就是在需要代表一个数值时,能够选择合适的类型。

当然,有些时候好几种类型都适合,那就要看个人习惯了。

  学习数据类型需要掌握每种数据类型的特征,以及对应的细节知识,这样会有助于对类型的选择。

所以在初次学习时,需要记忆很多的内容Java语言的基本数据类型总共有以下8种,下面是按照用途划分出的4个类别:

  整数型:

byte(字节型)、short(短整型)、int(整型)、long(长整型)

  小数型:

float(单精度浮点型)、double(双精度浮点型)

  字符型

  布尔型

  3.5.2整数型

  整数型是一类代表整数值的类型。

当需要代表一个整数的值时,可以根据需要从4种类型中挑选合适的,如果没有特殊要求的话,一般选择int类型。

4种整数型区别主要在每个数据在内存中占用的空间大小和代表的数值的范围。

具体说明参看下表:

类型名称

关键字

占用空间(字节)

取值范围

默认值

 

字节型

byte

1

-27—27-1

0

 

短整型

short

2

-215—215-1

0

 

整型

int

4

-231—231-1

0

 

长整型

long

8

-263—263-1

0

 

  说明:

  1、Java中的整数都是有符号数,也就是有正有负。

  2、默认值指在特定的情况下才自动初始化,具体的情况后续将有叙述。

  3、程序中的整数数值默认是int以及int以下类型,如果需要书写long型的值,则需要在数值后面添加字母L,大小写均可。

  4、程序中默认整数是十进制数字,八进制数字以数字字符0开头,例如016、034等,十六进制数字以数字字符0和字母x(不区分大小写)开头,例如0xaf、0X12等。

  3.5.3小数型

  小数型是一类代表小数值的类型。

当需要代表一个小数的值时,可以根据需要从以下2种类型中挑选合适的。

如果没有特殊要求,一般选择double类型。

  由于小数的存储方式和整数不同,所以小数都有一定的精度,所以在计算机中运算时不够精确。

根据精度和存储区间的不同,设计了两种小数类型,具体见下表:

类型名称

关键字

占用空间(字节)

取值范围

默认值

 

单精度浮点型

float

4

-3.4E+38—3.4E+38

0.0f

 

双精度浮点型

double

8

-1.7E+308—1.7E+308

0.0

 

  说明:

  1、取值范围以科学计数法形式进行描述。

  2、在程序中,小数的运算速度要低于整数运算。

  3、float类型的小数,需要在小数后加字母f,不区分大小写,例如1.01f.

  3.5.4字符型

  字符型代表特定的某个字符,按照前面介绍的知识,计算机中都是以字符集的形式来保存字符的,所以字符型的值实际只是字符集中的编号,而不是实际代表的字符,由计算机完成从编号转换成对应字符的工作。

  Java语言中为了更加方便国际化,使用Unicode字符集作为默认的字符集,该字符集包含各种语言中常见的字符。

  在程序代码中,字符使用一对单引号加上需要表达的字符来标识,例如‘A’、‘a’等,当然也可以直接使用字符编码,也就是一个非负整数进行表示。

字符型参数表

 

类型名称

关键字

占用空间(字节)

默认值

 

字符型

char

2

0-216-1

0

 

  说明:

  1、字符型的编号中不包含负数。

  2、字符型由于存储的是编号的数值,所以可以参与数学运算。

  3、字符型可以作为Java语言中的无符号整数使用。

  4、字符型的默认值是编号为0的字符,而不是字符0

  3.5.5布尔型

  布尔型代表逻辑中的成立和不成立。

Java语言中使用关键字true代表成立,false代表不成立。

布尔型是存储逻辑值的类型,其实很多程序中都有逻辑值的概念,Java把逻辑的值用布尔型来进行表达。

布尔型参数表

 

类型名称

关键字

占用空间(字节)

取值范围

默认值

 

布尔型

boolean

 

true或false

false

 

  说明:

1、布尔型占用的空间取决于Java虚拟机(JVM)的实现,可能是1位也可能是1个字节。

  3.5.6小结

  这里简单的介绍了8种基本数据类型的基本特征,在实际的程序设计中,可以根据需要选择对应的类型。

  由于Java语言是一种强类型的语言,所以在使用数据类型是需要小心。

 

Java编程那些事儿18——变量和常量

Java,变量,常量

3.6变量和常量

  在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。

  在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表。

  3.6.1变量

  变量代表程序的状态。

程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。

  为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。

例如在2D游戏程序中,需要代表人物的位置,则需要2个变量,一个是x坐标,一个是y坐标,在程序运行过程中,这两个变量的值会发生改变。

  由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:

  数据类型变量名称;

  例如:

intx;

  在该语法格式中,数据类型可以是Java语言中任意的类型,包括前面介绍到的基本数据类型以及后续将要介绍的复合数据类型。

变量名称是该变量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量的用途对应,这样便于程序的阅读。

数据类型和变量名称之间使用空格进行间隔,空格的个数不限,但是至少需要1个。

语句使用“;”作为结束。

  也可以在声明变量的同时,设定该变量的值,语法格式如下:

  数据类型变量名称=值;

  例如:

intx=10;

  在该语法格式中,前面的语法和上面介绍的内容一致,后续的“=”代表赋值,其中的“值”代表具体的数据。

在该语法格式中,要求值的类型需要和声明变量的数据类型一致。

  也可以一次声明多个相同类型的变量,语法格式如下:

数据类型变量名称1,变量名称2,…变量名称n;例如:

intx,y,z;在该语法格式中,变量名之间使用“,”分隔,这里的变量名称可以有任意多个。

  也可以在声明多个变量时对变量进行赋值,语法格式如下:

  数据类型变量名称1=值1,变量名称2=值2,…变量名称n=值n;

  例如:

intx=10,y=20,z=40;

  也可以在声明变量时,有选择的进行赋值,例如:

intx,y=10,z;以上语法格式中,如果同时声明多个变量,则要求这些变量的类型必须相同,如果声明的变量类型不同,则只需要分开声明即可,例如:

  intn=3;

  booleanb=true;

  charc;

  在程序中,变量的值代表程序的状态,在程序中可以通过变量名称来引用变量中存储的值,也可以为变量重新赋值。

例如:

  intn=5;

  n=10;

  在实际开发过程中,需要声明什么类型的变量,需要声明多少个变量,需要为变量赋什么数值,都根据程序逻辑决定,这里列举的只是表达的格式而已。

  3.6.2常量

  常量代表程序运行过程中不能改变的值。

  常量在程序运行过程中主要有2个作用:

  代表常数,便于程序的修改

  增强程序的可读性

  常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。

在Java编码规范中,要求常量名必须大写。

  则常量的语法格式如下:

  final数据类型常量名称=值;

  final数据类型常量名称1=值1,常量名称2=值2,……常量名称n=值n;

  例如:

  finaldoublePI=3.14;

  finalcharMALE=‘M’,FEMALE=‘F’;

  在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:

  finalintUP;

  UP=1;

  常量的两种用途对应的示例代码分别如下:

  代表常数

  finaldoublePI=3.14;

  intr=5;

  doublel=2*PI*r;

  doubles=PI*r*r;

  在该示例代码中,常量PI代表数学上的∏值,也就是圆周率,这个是数学上的常数,后续的变量r代表半径,l代表圆的周长,s代表圆的面积。

  则如果需要增加程序计算时的精度,则只需要修改PI的值3.14为3.1415926,重新编译程序,则后续的数值自动发生改变,这样使代码容易修改,便于维护。

  增强程序的可读性

  intdirection;

  finalintUP=1;

  finalintDOWN=2;

  finalintLEFT=3;

  finalintRIGHT=4;

  在该示例代码中,变量direction代表方向的值,后续的四个常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4,这样在程序阅读时,可以提高程序的可读性。

  3.6.3语句块

  在程序中,使用一对大括号{}包含的内容叫做语句块,语句块之间可以互相嵌套,嵌套的层次没有限制,例如:

  {

  inta;

  }

  语句块的嵌套:

  {

  intb;

  {

  charc;

  }

  }

  以上代码只是演示语法,没有什么逻辑意义。

在后续的语法介绍中,还会有语句块的概念,就不再重复介绍了。

  3.6.4变量的作用范围

  每个变量都有特定的作用范围,也叫做有效范围或作用域,只能在该范围内使用该变量,否则将提示语法错误。

通常情况下,在一个作用范围内部,不能声明名称相同的变量。

  变量的作用范围指从变量声明的位置开始,一直到变量声明所在的语句块结束的大括号为止。

例如以下代码:

  {

  {

  inta=10;

  a=2;

  }

    charc;

  }

  在该代码中,变量a的作用范围即从第三行到第五行,变量c的作用范围即从第六行到第七行。

  3.6.5常量的作用范围

  常量的作用范围和变量的作用范围规则完全一致。

  3.6.6总结

  对于变量和常量的内容就介绍这么,下面是一个完整的代码,可以在JDK或Eclipse中进行编译和运行。

代码文件名为VariableAndConst.java,示例代码如下:

  publicclassVariableAndConst{

  publicstaticvoidmain(String[]args){

  intn=0;

  charc=‘A’;

  System.out.println(n);

  n=10;

  System.out.println(n);

  System.out.println(c);

  }

  }

  说明:

在该代码中,System.out.println的功能是输出变量中存储的值

Java编程那些事儿19—数据类型转换

Java,数据类型转换

3.7数据类型转换

  Java语言是一种强类型的语言。

强类型的语言有以下几个要求:

  变量或常量必须有类型

  要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。

  赋值时类型必须一致

  值的类型必须和变量或常量的类型完全一致。

  运算时类型必须一致

  参与运算的数据类型必须一致才能运算。

  但是在实际的使用中,经常需要在不同类型的值之间进行操作,这就需要一种新的语法来适应这种需要,这个语法就是数据类型转换。

  在数值处理这部分,计算机和现实的逻辑不太一样,对于现实来说,1和1.0没有什么区别,但是对于计算机来说,1是整数类型,而1.0是小数类型,其在内存中的存储方式以及占用的空间都不一样,所以类型转换在计算机内部是必须的。

Java语言中的数据类型转换有两种:

  自动类型转换

  编译器自动完成类型转换,不需要在程序中编写代码。

  强制类型转换

  强制编译器进行类型转换,必须在程序中编写代码。

  由于基本数据类型中boolean类型不是数字型,所以基本数据类型的转换是出了boolean类型以外的其它7种类型之间的转换。

下面来具体介绍两种类型转换的规则、适用场合以及使用时需要注意的问题。

  3.7.1自动类型转换

  自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。

由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。

  转换规则从存储范围小的类型到存储范围大的类型。

  具体规则为:

  byte→short(char)→int→long→float→double

  也就是说byte类型的变量可以自动转换为short类型,示例代码:

  byteb=10;

  shortsh=b;

  这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh.在类型转换时可以跳跃。

示例代码:

  byteb1=100;

  intn=b1;

  注意问题

  在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。

  3.7.2强制类型转换

  强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。

该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。

  转换规则

  从存储范围大的类型到存储范围小的类型。

  具体规则为:

  double→float→long→int→short(char)→byte

  语法格式为:

(转换到的类型)需要转换的值

  示例代码:

  doubled=3.10;

  intn=(int)d;

  这里将double类型的变量d强制转换成int类型,然后赋值给变量n.需要说明的是小数强制转换为整数,采用的是“去1法”,也就是无条件的舍弃小数点的所有数字,则以上转换出的结果是3.整数强制转换为整数时取数字的低位,例如int类型的变量转换为byte类型时,则只去int类型的低8位(也就是最后一个字节)的值。

  示例代码:

  intn=123;

  byteb=(byte)n;

  intm=1234;

  byteb1=(byte)m;

  则b的值还是123,而b1的值为-46.b1的计算方法如下:

m的值转换为二进制是10011010010,取该数字低8位的值作为b1的值,则b1的二进制值是11010010,按照机器数的规定,最高位是符号位,1代表负数,在计算机中负数存储的是补码,则该负数的原码是10101110,该值就是十进制的-46.

  注意问题

  强制类型转换通常都会存储精度的损失,所以使用时需要谨慎。

  3.7.2其它

  后续的复合数据类型,如类和接口等,也存在类似的转换。

Java编程那些事儿20—空白、语句结束和注释

Java

3.8空白

  在前面的内容中,已经介绍了在编写代码中,单词和单词之间需要使用空格进行间隔,至于空格的数量则不限制。

  而实际的编码中,为了使代码的结构清晰,一般需要在代码的前面加入一定数量的空格,例如如下格式:

  publicclassBlank{

  publicstaticvoidmain(String[]args){

  intn;

  {

  n=10;

  }

  System.out.println(n);

  }

  }

  在该代码中,除了第一行和最后一行外,每行都包含一定数量的空格,这种编码的格式称为代码缩进。

  在实际代码中,只要存在包含关系,则代码就应该缩进,语句块是最典型的包含关系之一。

说明:

在编译时,每行开始的空格都会被忽略掉。

  3.9语句结束

  Java语法中,语句以“;”作为行结束符,例如:

  intn=2;

  通常情况下,代码中每行只写一句代码,但是也可以写多句,例如:

  intn=2;byteb=10;

  但是一般为了代码结构清楚,只在一行中书写一句代码。

  有些时候代码本身比较长,则也可以把一句代码写在多行,而代码语句结束的地方书写一个“;”即可。

  在实际代码中,一般大括号开始和结束的地方,以及大部分小括号结束的地方都不需要书写“;”来进行结束。

  3.10注释

  注释(comment)是对代码功能和用途的说明。

在程序中编写适当的注释,将使程序代码更容易阅读,增强代码的可维护性。

  注释在程序编译时都会被忽略,所以注释不会增加class文件的大小。

  Java语言中注释的语法有三种:

单行注释、多行注释和文档注释。

  3.10.1单行注释

  单行注释指只能书写一行的注释。

单行注释属于注释中最简单的语法格式,用于对于代码进行简单的说明,例如变量功能等。

  单行注释的语法格式为:

//注释内容注释以两个斜线开始,该行后续的内容都是注释的内容,注释内容不能换行。

  单行注释一般书写在需要说明的代码的上一行,或者该行代码的结束处,示例结构如下:

  //循环变量

  inti=0;

  charsex;//性别

  3.10.2多行注释

  多行注释指可以书写任意多行的注释。

多行注释一般用于说明比较复杂的内容,例如程序逻辑或算法实现原理等。

  多行注释的语法格式为:

  /*

  注释内容

  */

  注释以一个斜线和一个星号开始,后续是注释内容,注释内容可以书写任意多行,最后注释以一个星号和一个斜线结尾。

  很多多行注释在每行以星号开始,这个不是语法必需的。

  3.10.3文档注释

  文档注释指可以被提取出来形成程序文档的注释格式,这是Java语言有特色的注释格式。

一般对于程序程序的结构进行说明,例如类、属性、方法和构造方法进行说明,这些概念在后续将详细介绍。

  文档注释的语法格式为:

  /**

  注释内容*/

  注释以一个斜线和两个星号开始,后续是注释内容,注释内容可以书写任意多行,最后注释以一个星号和一个斜线结尾。

  在后续内容中还将完善该注释的语法格式。

  3.10.4其它

  在规范的代码中,一般有10%-20%的注释,也就是每100行代码中包含10-20行注释的内容,但是国内很多开发公司都远远达不到这个要求。

  另外需要特别注意的是,在实际的项目开发中,在修改代码后,一定要对应的修改注释的内容,保持代码和注释内容的同步。

Java编程那些事儿21——算术运算符

Java,运算符,算数运算符,Java基础

第四章运算符

  计算机,顾名思义,就是计算的机器,所以在编程中,也要进行大量的计算(运算),运算的符号简称为运算符。

  由于计算机可以进行各种运算,所以提供了很多的运算符号,这些运算符号一部分是现实里经常使用的,也有不少是计算机中新增的。

  学习运算符,首先要掌握每种运算的运算规则,然后在适当的时候使用对应的运算符。

这需要对于运算符最够的熟悉,并具备一定的计算机基础知识。

  运算符的种类很多,为了方便学习,以下按照类别来进行介绍。

  4.1算术运算符

  算术运算符,也称数学运算符,是指进行算术运算的符号,语法中对应的符号、功能以及说明参看下表

表4-1算术运算符

符号

    

名称

    

功能说明

+

    

    

加法运算

-

    

    

减法运算

*

    

    

乘法运算

/

    

    

除法运算

%

    

取余

    

求两个数字相除的余数

  在算术运算符中,+、-、*和/的运算规则和数学基本相同,在四则运算中,乘除优先于加减,计算时按照从左向右的顺序计算,不同的地方在于:

  程序中乘号不能省略,在数学上可以写y=2x,但是程序中必须写成y=2*x.

  运算结果的类型和参与运算的类型中最高的类型一致,例如整数加整数还是整数。

影响最大的是除法,整数除整数结果还是整数,例如10/3的结果是3,而不是3.333.

  接着来说说取余运算符,%的功能是取两个数字相除的余数,例如10%3表示计算10除以3的余数,则结果应该是1.取余运算在编程中的用途也比较大,比较常见的用途有:

控制规则变化,控制随机数字的区间等。

  算术运算符基本使用的示例代码如下:

  intn=3+5;

  inta=10;

  intb=20;

  intc=a*b;

  doubled=100.2;

  doubled1=d+a;

  在算术运算符部分,需要特别注意的一个语法现象是“晋升”。

晋升指低于int的3种数字类

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1