




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.3基本类型,第2章Java语言基础,2.3.1整型数据,1整型常量Java的整型常数有三种形式:十进制、十六进制和八进制。十进制整数以10为基数,用09这10个数字和正、负号组成,如123,-456,0等。在Java中,十进制整数的第一位数字不能为0。,整型数据2,十六进制整数以16为基数,用09的10个数字、字母AF(小写也可,代表1015这些整数)和正、负号组成。十六进制整数必须以0X或0 x作为开头。如0 x123,-0 xabc等。八进制整数以8为基数,用07的8个数字和正、负号组成。八进制整数必须用0开始,如0567,-0123等。,整型数据3,每一个整型常数默认为int类型,占有32位(即4个字节)的存储空间。整型常数所表示的范围为2,147,483,6472,147,483,648,若要使用更大的数,可用64位(8字节)的长整型数(long类型)。若把一个整数强制存为一个长整型数,可以在数字后面加字母l或L。,2.3.2实型(浮点型)数据,1.实型常量有标准和科学计数法两种表现形式。(1)标准形式,由数字和小数点组成,且必须有小数点。(2)科学计数法形式,数字中带e或E,其中e或E前必须有数字,且e或E后面的数字(表示以10为底的乘幂部分)必须为整数。实数后面可带后缀F,f或D,d,分别表示单精度实数和双精度实数。,2.3.3字符型数据,字符型char数据是由一对单引号括起来的单个字符。Java使用Unicode格式的16位字符集,而不仅仅为ASCII字符集,因此char类型的范围从0到65535。在Java语言中,以反斜杠()开头的多个字符表示一个转义字符,转义字符一般用于表示某些非图形(非可视)字符。,2.3.4布尔型数据,布尔数据只有两个值:true和false,且都是保留字,表示“真”和“假”这两种状态。关系运算和逻辑运算返回布尔类型的值。布尔型变量用boolean定义,例如:booleanmouseOn=true;booleandone=false;布尔型是一个独立的类型,Java中的布尔类型不能转换成数字。,2.3.5字符串数据,字符串常量是用双引号括起来的零个或多个字符(包括转义字符)。一个长字符串可以用“+”号分成几个短字符串。在Java语言中,每个字符串常量被作为字符串类String的对象来处理。,字符串变量,在Java语言中,字符串变量是对象,是复合类型。有两种字符串变量类型:String类和StringBuffer类。String类是常量类,初始化后不能改变;StringBuffer类是字符串缓冲区,可以修改。例如:Stringstr1=newString(Thisisastring.);Stringstr2=Thisisastring.;StringBufferstr3=newStringBuffer();StringBufferstr4=newStringBuffer(Thisisastring.);,2.3.6缺省初始值,在Java程序中,每个变量都对应一个值,不存在没有值的变量。若一个变量只声明而没有初始化,则使用它的缺省初值。对于数值数据,缺省数值为相应类型的零;字符的缺省初值为u0000;布尔初值为false;Object类型初值为null。,2.4运算符,运算符的作用是与一定的运算数据组成表达式来完成相应的运算。对不同的数据类型,有着不同的运算符。对运算符,有运算对象(操作数)个数及类型、运算优先级、结合性等特性。运算符的优先级、结合性和求值顺序有明确的规定。,2.4.1算术运算符,按操作数的多少可分为一元(单目)和二元(双目)两类,一元运算符一次对一个操作数进行操作,二元运算符一次对两个操作数进行操作。算术运算符的操作数类型是数值类型。一元运算符有+、-、+和-,右结合性。二元运算符有+、-、*、/和%,这些运算符并不改变操作数的值,而是返回一个必须赋给变量的值,二元算术运算符具有左结合性。,2.4.2关系运算符,用于确定一个数据与另一个数据之间的关系,即进行关系运算。所谓关系运算是比较运算,将两个值进行比较。结果值为true、false(布尔型)。(大于)、=(大于或等于)、(算术右移)和(逻辑右移)。其中前四种称为位逻辑运算符,后三种称为算术移位运算符。,2.4.5赋值运算符,赋值运算符都是二元运算符,具有右结合性。1简单赋值运算符(=),用来将一个数据赋给一个变量。在赋值运算符两侧的类型不一致的情况下,若左侧变量的数据类型的级别高,则右侧的数据被转换为与左侧相同的高级数据类型,然后赋给左侧变量。否则,需要使用强制类型转换运算符。2复合赋值运算符,即在赋值符前加上其他运算符。复合赋值运算符是表达式的一种缩写。复合赋值运算符有11种。,2.4.6条件运算符,条件运算符是一种三元运算符,格式:布尔表达式?表达式1:表达式2先计算布尔表达式的真假,若为真,则计算并返回表达式1,若为假,则计算并返回表达式2。例如:(ab)?a:b;/将返回a和b中较大的那个数值。,2.4.7字符串运算符,运算符“+”可以实现两个或多个字符串的连接,也可实现字符串与其他类对象的连接,在连接时,其他类对象会被转换成字符串。运算符“+=”把两个字符串连接的结果放进第一个字符串里。当想把几项输出内容输出在同一行里时使用的就是“+”运算符。,2.5常用Java数值计算方法,类Math中包含了一些数值常量,如E和PI,以及一些基本的数值计算方法。常用的数值方法有:abs()绝对值、sin()正弦值、cos()余弦值、tan()正切值、asin()反正弦值、acos()反余弦值、atan()反正切值、ceil()求不小于参数的最小整数、floor()求不大于参数的最大整数、pow(a,b)求a的b次方、random()产生0.01.0的伪随机数、sqrt()平方根、log()自然对数、max(a,b)求a,b中的大者、min(a,b)求a,b中的小者等。,2.6表达式,表达式是由操作数和运算符按一定的语法形式组成的符号序列。每个表达式结果运算后都会产生一个确定的值,称为表达式的值。表达式的值是有类型的,该类型称为表达式类型。表达式类型由运算符和参与运算的数据的类型决定。可以是简单类型,也可以是复合类型。可按表达式值的类型将表达式分类。,2.6.1类型转换,在一个表达式中可能有不同类型的数据进行混合运算,这是允许的,但在运算时,Java将不同类型的数据转换成相同类型,再进行运算。1.自动类型转换整型、实型和字符型数据可以进行混合运算。在运算中,不同类型的数据先转换成相同类型,然后再进行运算。转换从低级到高级。可混合运算数据类型从低到高排列如下:低byte,short,char,int,long,float,double高,2.强制类型转换,高级数据要转换为低级数据时,需进行强制类型转换。从一种类型转换到另一种类型可以使用下面的语句:inta;charb;b=(char)a;加括号的char告诉编译器想把整型变成字符并把它放在b里。,3.表达式求值中的自动类型提升,在表达式的求值过程中,运算中间值的精度有时会超出操作数的取值范围。如:bytex=30,y=50,z=100;inta=x*y/z;在运算x*y项时,结果1500已经超出了操作数byte类型的范围。为解决这类问题,Java语言在对表达式求值时,自动提升byte或short类型的数据为int类型的。,自动提升规则,自动类型提升对数据的运算带来了方便,但也容易引起编译错误。例如:bytex=30;x=-x;/编译错误!不能向byte变量赋int值,自动提升规则1,所有byte和short类型提升为int类型若有一个操作数是long类型,则整个表达式提升为long类型若有一个操作数是float类型,则整个表达式提升为float类型若有double类型,则表达式值为double类型,2.6.2优先级,Java语言规定了表达式中出现各种运算符的时候,哪种运算符先进行运算,哪种运算符后进行运算的运算符运算顺序,称为运算符的优先级,它指明了同一表达式中多个运算符被执行的次序,同一级里的操作符具有相同的优先级。在表达式中,优先级高的运算符先进行运算。,2.6.3结合性,结合性确定同级运算符的运算顺序。运算符有左结合性和右结合性两种。左结合性指的是从左向右使用运算符。右结合性是从右向左使用运算符。,2.7包装类(wrapperclass),将基本类型包装成类。与基本类型对应的包装类有Byte、Short、Integer、Long、Character、Float、Double、Boolean和Void。使用包装类的方法与其他类一样,定义对象的引用、用new运算符创建对象,用方法来对对象进行操作。格式:包装类对象名=new相应的包装类(值),2.8输入输出初步,2.8.1标准输入输出1.标准输出(1)print和println方法可以用System.out.println在程序中可以将常量、变量或表达式的值输出到屏幕。println方法可有0个或1个参数。若参数是0个,则输出一回车换行,光标移动到下一行行首;若有一个参数,该参数可以是char,byte,int,boolean,float,double,String,char(字符数组)和Object(对象)类型的,各种类型的数据转换成相应的字符串类型输出。输出给定所有内容后,输出一个回车换行。,1.标准输出,常用System.out.print进行输出,print方法需要一个参数来输出,可用的参数类型与println相同,输出参数的值后不输出回车换行,因此,若输出内容本身不包含控制光标的内容或未满行,System.out.print输出后,光标将停留在输出内容后。(2)printf和format格式输出方法要控制输出数据的格式,可使用System.out.printf和类似的System.out.format方法,在方法的参数中对每一输出项(表达式),都可在一个格式控制字符串中用开始的格式符进行格式控制。,2.标准输入,(1)read方法可以用System.in.read()从键盘输入整数值在0255之间的byte值(int类型)。若程序运行时需要从键盘输入其他类型的数据,则需要使用Java提供的输入/输出功能。不论需从键盘输入何种类型的数据,Java从键盘接收数据都是以字符串的形式进行,再根据实际数据的需要进行类型转换。应用本方法时要使用Java的异常处理机制。,(2)使用next方法,若使用Java提供java.util.scanner类中的各种next方法,可从键盘输入各种基本类型和字符串类型的数据。不论需从键盘输入何种类型的数据,Java从键盘接收数据都是以字符串的形式进行,next方法要根据输入数据的类型来选用。有nextByte、nextInt、nextShort、nextLong、nextFloat、nextDouble、nextBoolean和next(以空格和回车为结束标记的字符串输入)等适用于不同类型数据输入的方法。使用next方法进行键盘输入的例子如下。,2.8.2对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年5月广东深圳市光明区应急管理局选聘一般特聘专干1人模拟试卷附答案详解
- 2025年甘肃省天水市第四人民医院招聘编外人员模拟试卷及1套完整答案详解
- 2025年河北雄安新区财政局(国资委)公开选聘兼职外部董事人才库人选模拟试卷及答案详解(典优)
- 2025贵州铜仁开放大学引进专业技术人才考前自测高频考点模拟试题完整参考答案详解
- 2025广东广州市越秀区建设街招聘辅助人员1人考前自测高频考点模拟试题及参考答案详解一套
- 2025河北雄安新区新建片区学校选聘校长及骨干教师13名模拟试卷含答案详解
- 2025年温州永嘉县茗岙乡卫生院招聘劳务派遣人员1人模拟试卷及答案详解(必刷)
- 2025宝鸡石油机械有限责任公司春季高校毕业生招聘10人考前自测高频考点模拟试题附答案详解(完整版)
- 2025年空压机岗位试题及答案
- 2025海南保亭农水投资有限公司第一批人员(代农水投公司发布)模拟试卷及答案详解参考
- 跨境电商股权分配协议范文
- 2025年深圳中考化学试卷真题(含答案)
- 三甲医院影像科管理制度
- T/CCAS 015-2020水泥助磨剂应用技术规范
- 江苏省南京市2024-2025学年高二物理上学期10月月考试题
- TSG D2002-2006燃气用聚乙烯管道焊接技术规则
- GB/T 320-2025工业用合成盐酸
- 2024年公路水运工程助理试验检测师《水运结构与地基》考前必刷必练题库500题(含真题、必会题)
- 2025年社工招聘考试试题及答案
- 病理检查报告审核制度
- 2024秋季新教材人教版体育与健康一年级上册课件:1我们爱运动
评论
0/150
提交评论