《JAVA程序设计ch02.Java语言基础》由会员分享,可在线阅读,更多相关《JAVA程序设计ch02.Java语言基础(46页珍藏版)》请在金锄头文库上搜索。
1、第二章第二章 JavaJava语言基础语言基础JavaJava程序设计程序设计luqianghfut.edu. cn http:/cadcg.hfut.e 路 强Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 2 2 / 46/ 46本章学习提示 本章的重点是介绍Java的语言语言基础。主要包括:数据类型分类,讨论简单数据类型的实例化变量与常量数据类型的优先关系和相互转换规则运算符和表达式。 hapter2 Java语言基础Lu Qiang, 2009 Hefe
2、i University of Technology, School of Computer and Information PagePage 3 3 / 46/ 46目目 录录基本数据类型基本数据类型1字符集与标识符字符集与标识符3运算符和表达式运算符和表达式42数据类型转换数据类型转换hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 4 4 / 46/ 46Java语言的数据类型数据类型基本数据类型复合数据类型类类型布尔类型:b
3、oolean数组接口类型:interface字符类型:char数值类型浮点数类型:float ,double整数类型:byte, short,int,longhapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 5 5 / 46/ 46基本数据类型 基本数据类型也称作简单数据类型。 Java语言有8种简单数据类型,分别是:byte 、short 、int、long、float、double、char 、 boolean这8种数据类型习惯
4、上可分为4大类型:整数类型:byte、short、int、long浮点类型:float、double字符类型:char逻辑类型:booleanhapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 6 6 / 46/ 46整数类型 Java编程语言中的整数类型都是有符号整数, 不存在无符号整数。(与C和C+不同)027-1215-1231-1263-1-27-215-231-26328,216,232,264 整数类型示意图 (各种整型的
5、特点和使用范围)intlongbyteshorthapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 7 7 / 46/ 46整数类型 整型可用十进制、八进制或十六进制表示。 首位 为“0”表示八进制的数值;首位为“0x”表示十六进制的数值。 请看下面的例子:5 表示十进制值5075 表示八进制数值75(也就是十进制数61)0x9ABC 表示十六进制的数值9ABC(也就是十进制数39612) 整型,如在其后有一个字母“L”表示一个lon
6、g常量 (也可以用小写“l”)hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 8 8 / 46/ 46浮点类型 Java语言中有两种浮点类型:float和double.如果一个数值常量中包含小数点或指数部分 ,或者其后跟有字母F或f(float), D或d(double),则该数为浮点数.如果不明确指明浮点数的类型,浮点数缺省 为double类型.3.14159 (double型浮点数)2.08E25 (double型浮点数)6.
7、56f (float型浮点数)float为32位(单精度),double为64位(双精度)hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 9 9 / 46/ 46字符型 关于字符型Java中char是16位的无符号型数据内存分配给2个字节,占16位,最高位不用来表示符号 字符必须用一对单引号括起来,如a,B等 Unicode字符集采用双字节对字符进行编码, 例如:A、 ! 、9、 好 、t 、 与C语言类似,Java也提供转义字符
8、,以反斜杠()开头,将其后的字符转变为另外的含义。hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1010 / 46/ 46字符型之例public class example02_01 public static void main (String args) char chinaWord=你, japanWord=; int p1=36328,p2=38358; System.out.println(“汉字你在unicode表中
9、的顺序位置“ + (int)chinaWord); System.out.println(“日语在unicode表中的顺序位置“ + (int)japanWord); System.out.println(“unicode表中第20328位置上的字符是:“ + (char)p1); System.out.println(“unicode表中第12358位置上的字符是:“ + (char)p2); hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information Pa
10、gePage 1111 / 46/ 46字符型 vs 字符串 值得注意的一点是,用双引号引用的文字, 就是我们平时所说的字符串类型(String),它不是基本类型,而是一个对象类型,Java是将字符串作为对象实现的. 为char类型所规定的字符转义序列在字符串内同样适用,如“threenlines”等. hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1212 / 46/ 46逻辑类型 逻辑类型常量:true ,false变量的定
11、义使用关键字boolean来定义逻辑变量, 定义时也可以赋给初值:boolean x=true, tom=false, jiafei; 小写(与C+不同)hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1313 / 46/ 46复合数据类型 复合数据类型:用户定义的、由一系列简单数据类型及其运算符合而成。(类和接口)引用模型hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Tec
12、hnology, School of Computer and Information PagePage 1414 / 46/ 46复合数据类型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 Jav
13、a语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1515 / 46/ 46基本数据 vs. 数据类型类 对于每一种基本数据类 型,Java分别提供相应的类对其进行封装,以便提供更强大的数据处理能力。int a = Integer.parseInt(“3”);Float f = Float.MAX_VALUE;基本 数据类型数据 类型类byteByteshortShortintIntegerlongLongcharCharbooleanBooleanfl
14、oatFloatdoubleDoublehapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1616 / 46/ 46数据类型的默认值 为了提高程序的健壮性,JAVA为所有的数据类型设置了默认值booleanfalsechar000 (空格)byte(byte)0short(short)0int0long0Lfloat0.0fdouble0.0hapter2 Java语言基础Lu Qiang, 2009 Hefei Universit
15、y of Technology, School of Computer and Information PagePage 1717 / 46/ 46目目 录录基本数据类型基本数据类型1字符集与标识符字符集与标识符3运算符和表达式运算符和表达式42数据类型转换数据类型转换hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information PagePage 1818 / 46/ 46类型转换 各类型所占用的位数从短到长依次为:(byte,short,char)-int-long-float-double 简单数据类型之间的转换又可以分为:低级到高级的自动类型转换高级到低级的强制类型转换hapter2 Java语言基础Lu Qiang, 2009 Hefei University of Technology, School of Computer and Informati