资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章 JavaJava语言基础语言基础JavaJava程序设计程序设计PagePage 2 2 / 44/ 44目目 录录基本数据类型基本数据类型1字符集与标识符字符集与标识符3运算符和表达式运算符和表达式42数据类型转换数据类型转换hapter2 Java语言基础PagePage 3 3 / 44/ 44Java语言的数据类型数据类型基本数据类型复合数据类型类类型布尔类型:boolean数组接口类型:interface字符类型:char数值类型浮点数类型:float ,double整数类型:byte, short,int,longhapter2 Java语言基础PagePage 4 4 / 44/ 44基本数据类型 基本数据类型也称作简单数据类型。 Java语言有8种简单数据类型,分别是:byte 、short 、int、long、float、double、char 、 boolean这8种数据类型习惯上可分为4大类型:整数类型:byte、short、int、long浮点类型:float、double字符类型:char逻辑类型:booleanhapter2 Java语言基础PagePage 5 5 / 44/ 44整数类型 Java编程语言中的整数类型都是有符号整数, 不存在无符号整数。(与C和C+不同)027-1215-1231-1263-1-27-215-231-26328,216,232,264 整数类型示意图 (各种整型的特点和使用范围)intlongbyteshorthapter2 Java语言基础PagePage 6 6 / 44/ 44整数类型 整型可用十进制、八进制或十六进制表示。 首位 为“0”表示八进制的数值;首位为“0x”表示十六进制的数值。 请看下面的例子:5 表示十进制值5075 表示八进制数值75(也就是十进制数61)0x9ABC 表示十六进制的数值9ABC(也就是十进制数39612) 整型,如在其后有一个字母“L”表示一个long常量 (也可以用小写“l”)hapter2 Java语言基础PagePage 7 7 / 44/ 44浮点类型 Java语言中有两种浮点类型:float和double.如果一个数值常量中包含小数点或指数部分 ,或者其后跟有字母F或f(float), D或d(double),则该数为浮点数.如果不明确指明浮点数的类型,浮点数缺省 为double类型.3.14159 (double型浮点数)2.08E25 (double型浮点数)6.56f (float型浮点数)float为32位(单精度),double为64位(双精度)hapter2 Java语言基础PagePage 8 8 / 44/ 44字符型 关于字符型Java中char是16位的无符号型数据内存分配给2个字节,占16位,最高位不用来表示符号 字符必须用一对单引号括起来,如a,B等 Unicode字符集采用双字节对字符进行编码, 例如:A、 ! 、9、 好 、t 、 与C语言类似,Java也提供转义字符,以反斜杠()开头,将其后的字符转变为另外的含义。hapter2 Java语言基础Lu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 9 9 / XX/ XXLu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 9 9 / 44/ 44字符型之例public class example02_01 public static void main (String args) char chinaWord=你, japanWord=; int p1=36328,p2=38358; System.out.println(“汉字你在unicode表中的顺序位置“ + (int)chinaWord); System.out.println(“日语在unicode表中的顺序位置“ + (int)japanWord); System.out.println(“unicode表中第20328位置上的字符是:“ + (char)p1); System.out.println(“unicode表中第12358位置上的字符是:“ + (char)p2); hapter2 Java语言基础PagePage 1010 / 44/ 44字符型 vs 字符串 值得注意的一点是,用双引号引用的文字, 就是我们平时所说的字符串类型(String),它不是基本类型,而是一个对象类型,Java是将字符串作为对象实现的. 为char类型所规定的字符转义序列在字符串内同样适用,如“threenlines”等. hapter2 Java语言基础PagePage 1111 / 44/ 44逻辑类型 逻辑类型常量:true ,false变量的定义使用关键字boolean来定义逻辑变量, 定义时也可以赋给初值:boolean x=true, tom=false, jiafei; 小写(与C+不同)hapter2 Java语言基础PagePage 1212 / 44/ 44复合数据类型 复合数据类型:用户定义的、由一系列简单数据类型及其运算符合而成。(类和接口)引用模型hapter2 Java语言基础PagePage 1313 / 44/ 44复合数据类型Point p = new Point(1,1);ClassInfo *x=1Y=1p p类数据 (装载信息) static String color void move()class Pointstatic String color;int x,y;Point(int x, int y) this.x = x ; this.y = y ;public void move(int dx,int dy) x+=dx; y+=dy; hapter2 Java语言基础PagePage 1414 / 44/ 44基本数据 vs. 数据类型类 对于每一种基本数据类 型,Java分别提供相应的类对其进行封装,以便提供更强大的数据处理能力。int a = Integer.parseInt(“3”);Float f = Float.MAX_VALUE;基本 数据类型数据 类型类byteByteshortShortintIntegerlongLongcharCharbooleanBooleanfloatFloatdoubleDoublehapter2 Java语言基础PagePage 1515 / 44/ 44数据类型的默认值 为了提高程序的健壮性,JAVA为所有的数据类型设置了默认值booleanfalsechar000 (空格)byte(byte)0short(short)0int0long0Lfloat0.0fdouble0.0hapter2 Java语言基础PagePage 1616 / 44/ 44目目 录录基本数据类型基本数据类型1字符集与标识符字符集与标识符3运算符和表达式运算符和表达式42数据类型转换数据类型转换hapter2 Java语言基础PagePage 1717 / 44/ 44类型转换 各类型所占用的位数从短到长依次为:(byte,short,char)-int-long-float-double 简单数据类型之间的转换又可以分为:低级到高级的自动类型转换高级到低级的强制类型转换hapter2 Java语言基础PagePage 1818 / 44/ 44自动类型转换 JAVA中整型、字符型和浮点型数据可以互相自动转换 (低级向高级),混合运算. 操作数1类类型操作数2类类型计计算结结果byte或shortintintbyte或shart或intlonglongbyte或shart或int或longfloatfloatbyte或shart或int或long或floatdoubledoublecharintinthapter2 Java语言基础PagePage 1919 / 44/ 44强制数据类型转换 由低级向高级可以自动转换,但是由高级向低级转换必须显示说明、进行强制转换.short s = 1 ; s = s+1 ; System.out.println(s);s+=1;In Java规范:e1+=e2; e1=(T1)(e1+e2);Where T1 is the Type of e1hapter2 Java语言基础Lu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 2020 / XX/ XXLu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 2020 / 44/ 44高级变量转换为低级变量之例/简单类型强制转换 public class example02_02 public static void main (String args ) int c=2200; long d=8000; float f; double g=123456789.123456789; c=(int)d; f=(float)g; /导致精度的损失. System.out.println(“c= “+c); System.out.println(“d= “+d); System.out.println(“f= “+f); System.out.println(“g= “+g); hapter2 Java语言基础Lu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 2121 / XX/ XXLu Qiang, 2007 Hefei University of Technology, School of Computer and Information PagePage 2121 / 44/ 44目目 录录基本数据类型基本数据类型1字符集与标识符字符集与标识符3运算符和表达式运算符和表达式42数据类型转换数据类型转换hapter2 Java语言基础PagePage 2222 / 44/ 44字符集 编码方式 在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312.GB2312:6763个汉字和682个其它符号95年GBK1.0:1886个符号GBK18030:收录了27484个汉字,同时还收录了藏文、蒙
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号