好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基本数据类型与表达式.ppt

33页
  • 卖家[上传人]:枫**
  • 文档编号:577267244
  • 上传时间:2024-08-21
  • 文档格式:PPT
  • 文档大小:265.50KB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第2讲 基本数据类型与表达式c标识符标识符cJava基本数据类型基本数据类型c常量、变量和赋值常量、变量和赋值c类型转换类型转换c运算符与表达式运算符与表达式 目标•在程序中定义合适的标识符•理解3种基本数据类型并能正确地使用•根据需要定义变量•正确地构造表达式 引例•已知三角形的三条边,计算它的周长与面积u分析:逐步求精,分解,逐步逼近u根据第1章讨论的知识,我们知道Java程序是由类组成的因此可以将问题转化为“设计一个计算三角形周长与面积的类”u先假设类已经定义好了,直接考虑如何根据需要处理数据 //文件名Ex2_1.javaimport java.io.*; public class Ex2_1 { public static void main (String[] args) {int a,b,c,p; float area;a=8; b=5; c=10;p=a+b+c; area=(float)Math.sqrt((p-a)*(p-b)*(p-c)*p/2); System.out.println("The length of three side is"+a+","+b+","+c); System.out.println("The sides of triangle is:"+p);System.out.println("The area of triangle is:"+area); }}引入类引入类定义主类定义主类定义定义main()方法方法声明变量声明变量给变量给变量a、、b、、c赋值赋值计算周长和面积计算周长和面积输出结果输出结果 标识符•标识符可以由字母、数字、下划线(_)及美元符号($)按一定的顺序组合而成,但不能以数字开头。

      uaverage、table12、$price等均为有效的标识符u5_step则为非法标识符 •Java语言对标识符还有如下规定:u标识符的长度不限,但不宜过长u一般遵循“见名知义”原则,即为标识符取一个能代表其意义的名称u标识符区分字母的大小写如Student和student是两个不同的标识符u标识符不能是关键字 关键字•关键字是指被系统所保留使用并赋予特定意义的一些标识符,这些关键字不能被编程人员用作标识符它们只能按照预先定义好的方式使用,不能作为其他用途true、false、nullcast、future、generic、inner、operator、outer、rest、var Java基本数据类型•Java中的数据类型分为基本数据类型和复杂数据类型两类 •基本数据类型包括数值型、字符型及布尔型•复杂数据类型包括类、接口和数组等,也称为引用类型,即通过对象的创建,获得引用类型的值 数值型(一)•Java的数值型数据又分为整数和浮点数两种类型,整数不带小数点,浮点数含有小数点•整数有byte(字节型)、short(短整型)、int(整型)及long(长整型)等4种在数值后加l或L表示该数值是long类型•浮点型数据有float(单精度浮点型)和double(双精度浮点型)两种。

      在数值后面加一个F或者f表示float类型的数据•Java默认所有的浮点值属于double类型的数据•例如: int i=3;long j=26L;double k=0.5float m=5.0f; 数值型(二) 存储数据要占用一定的存储空间,不同类型的数据所占用的存储空间不同所有数值类型依据其占用的内存空间大小进行区分在设计程序的过程中,程序员需要选择大小合适的变量类型,否则有可能造成内存空间的浪费 字符型•Java中的字符型数据用char表示,它的值用16个bit来存储,取值范围是0~65536它表示的是Unicode码表所定义的国际化字符集中所收集的所有字符•Java中的字符可以比较大小,类似于ASCII码的大小比较•例如,char grade1='A', grade2='B'; •Java用单引号来表示字符型数据如'A'、'c'、'#'、'&'与'9'等等 布尔型int grade;boolearn passing;if (grade>=60) passing=true;else passing=false;•布尔型(boolean)是一种表示逻辑值的简单数据类型它的取值只能是常量true或false这两个值中的一个,在存储器中占8个bit。

      通常用于程序中的一些逻辑判断从而对程序的运行进行控制•例如,根据成绩的及格线60分,判断考试是否通过 常量•常量(constant),顾名思义就是在程序运行过程中其值不会被改变的量,常量也叫常数,也被称为“字面量”在Java语言中,常量按其数据类型可分为整型常量、浮点型常量、字符型常量、字符串常量与布尔型常量等5种类型•整型常量和浮点型常量都属于数值型•字符型常量是指Unicode字符集中的所有单个字符,包括可以打印的字符和不可打印的控制字符 字符常量•字符型常量的表示形式有四种:(1)以单引号括起来的单个字符,如‘a’2)以单引号括起来的“\”加三位八进制数,形为'\ddd',其中d可以是0~7中的任一个数,如'\141'表示字符'a'其中ddd的取值范围只能在八进制数的000~777之间,因而它不能表示出Unicode字符集中的全部字符3)以单引号括起来的“\u”加四位十六进制数,可以表示出Unicode字符集中的所有字符 (4) 对于那些不能被直接包括的字符以及一些控制字符,如‘\\’、‘\’’ final 数据类型 常量名称=常量值;字符串常量•字符串常量就是用双引号括起来的由零到多个字符组成的字符序列。

      如“Hello World!”,“I am a programmer.\n”等字符常量的八进制、十六进制表示法和转义序列在字符串中同样可用 •布尔型常量只有两个值,true和false•常量定义格式: public class Ex2_2{ public static void main(String args[]) { final int Day=30; final double Pay=45.6; final String Str="It is begin!!"; double total; total=Day*Pay; System.out.println(Str); System.out.println("*_________________________*"); System.out.println("Day="+Day+"\tPay="+Pay); System.out.println("total="+total);; }} 定义了三个常量定义了三个常量定义了三个常量定义了三个常量常量举例例例2.2 一套房子每天的租金是一套房子每天的租金是45.6元,元,如果租如果租30天,试编程计算应付房租。

      天,试编程计算应付房租 变量•变量(variables)是Java程序中的一个基本存储单元,是在程序运行过程中其值可以改变的量•一个变量蕴含有三个含义:(1)变量的名称变量的名称简称变量名,变量名是用户自己定义的标识符,它表明了变量的存在性和唯一性;(2)变量的属性即变量的数据类型;(3)变量的值是指存放在变量名所标记的存储单元中的数据•例如,int math=78,english=80; //字符型变量和布尔型变量的定义及赋值public class Ex2_4{ public static void main(String args[]) { char c1='a'; char c2='\141'; char c3='\u0061';char c4='\\'; boolean f1=true,f2; f2=4<3; System.out.println(“字符型变量的值:c1=” +c1+ “c2=” +c2+ “c3=” +c3); System.out.println(“字符型变量的值:c4=”+c4); System.out.println(“布尔型变量的值:f1=” +f1+“f2=”+f2); } }程序中定义了四个字符型变量,用关键字程序中定义了四个字符型变量,用关键字char 定定义字符型变量,其中义字符型变量,其中c1、、c2、、c3的定义分别使用字符型的的定义分别使用字符型的三种表示方法,三种表示方法,c1以单引号括起来,以单引号括起来,c2以十六进制表示,以十六进制表示,c3以以Unicode编码表示,运行结果均是字符编码表示,运行结果均是字符'a'。

      c4用转义用转义字符输出字符输出'\'布尔型变量布尔型变量f1定义时赋值为定义时赋值为true,,f2赋值为赋值为4<3,这是一个比较表达式,结果为,这是一个比较表达式,结果为false •赋值语句的一般形式为:•例子:float value, price; value=0.0f; //value初值为0price=0.5f; value=12*price; 变量名=表达式; 赋值语句执行的过程中,先计算出表达式的值,然后把该值存储到赋值运算符(=)左边的变量所代表的存储单元,并覆盖其原有的值 赋值语句 类型转换——自动转换•自动转换是在程序运行过程中不需人为干预而自动进行的从一种数据类型到另一种数据类型的转换有两种类型:u赋值转换Ø两种数据类型必须是兼容的,并且目标数据类型的取值范围比源数据类型的取值范围大u表达式中的自动转换低-------------------------------------------->高byte,short,char->int->long->float->doubleint a;float b;double c; c=a+b+c;short a,b;a=50;b=a/2; •对于不能自动进行的类型转换,就要强制类型转换。

      •强制类型转换的一般格式为:u其中,目标数据类型是指要将被转换数据转换成的数据类型;被转换数据可以是变量、表达式等u如要把double型变量money的值转换成int型,形式为:(int)money目标数据类型)被转换数据类型转换——强制类型转换 ////从键盘读入一个字符,并输出这个字符从键盘读入一个字符,并输出这个字符import java.io.*;public class Ex2_6 { public static void main(String args[]) { char ch=‘ ’; System.out.println("Input a interger or character:"); try { ch=(char)System.in.read(); ////从键盘中读入一个字符从键盘中读入一个字符 } catch (IOException e){ } System.out.println("The input is \’"+ch+"\’"); } } 程序定义了一个字符型变量程序定义了一个字符型变量ch,,接收输入的字符。

      接收输入的字符System.in.read()表示从键盘输入流中读入一个字节并返回它的值,返回表示从键盘输入流中读入一个字节并返回它的值,返回值是值是0到到255的的int 值,需要进行异常处理由于返回值为值,需要进行异常处理由于返回值为int型,因此要输出这个字符,须强制转换为型,因此要输出这个字符,须强制转换为char型程序中用了中用了try-catch语句进行异常处理语句进行异常处理 运算符与表达式•一个常量或一个变量是最简单的表达式•一般的表达式是指由数据和运算符连接在一起的符合Java语法规则的式子如a=1、a+b-c*d、a

      包括:+(和运算)、-(差运算)、*(积运算)、/(除运算)及%(求余运算) •算术运算符连接的操作数为数值型由算术运算符连接的式子称为算术表达式 public class Ex2_7 { public static void main(String args[]) { char a=97; int b,c=14, f=3; float d=0.6f, e, g; a++;b=c/f;c=c=c%fc%f; ; d++;e=f*d;g=g=e%fe%f; ; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); System.out.println("e="+e); System.out.println("g="+g); }} 算术运算示例 关系运算符和关系表达式•关系运算符:用来比较两个值之间的大小关系。

      关系运算的结果是布尔(boolean)型,为真(true)或假(false)•Java中关系运算符有6种:u==、!=、>、<、>=、<=u例如,int a=5, b=8;boolean c=a>b;则结果c=false 逻辑运算符和逻辑表达式•Java中共有6个逻辑运算符:!、&、^、|、&&、|| •如果它们的操作数是布尔类型的数据,其结果也是布尔类型•&&和||也被称为“短路逻辑运算符”,在运算过程中会产生“短路效应”:ua&&b,当a为false时不再判断b,直接判断a&&b的值为false;ua||b,当a为true时不再判断b,直接判定a||b的值为true•另外,当&、^和|的操作数为整数及字符时,它们会作为位运算符进行位运算 public class Ex2_8 { public static void main(String args[]) { int a=3,b=8;   boolean c,d,e=false,f1,f2,g=true; c=a>b; d=c&&(e=ab);    //g值被改变值被改变    System.out.println("a="+a); System.out.println("b="+b); System.out.println("a>b="+c); System.out.println("c&&(e=a点击阅读更多内容

      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.