Java中的数据类型和运算.ppt

上传人:小飞机 文档编号:6509634 上传时间:2023-11-07 格式:PPT 页数:43 大小:479KB
返回 下载 相关 举报
Java中的数据类型和运算.ppt_第1页
第1页 / 共43页
Java中的数据类型和运算.ppt_第2页
第2页 / 共43页
Java中的数据类型和运算.ppt_第3页
第3页 / 共43页
Java中的数据类型和运算.ppt_第4页
第4页 / 共43页
Java中的数据类型和运算.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Java中的数据类型和运算.ppt》由会员分享,可在线阅读,更多相关《Java中的数据类型和运算.ppt(43页珍藏版)》请在三一办公上搜索。

1、第二讲 Java中的数据类型和运算,本讲主要内容:Java输入/输出的初步运用Java的标识符和保留字Java的基本数据类型Java基本数据类型转换Java中的运算,一、Java输入/输出的初步运用,输入/输出需求,大多数程序都需要输出数据,有一部分程序需要在运行时输入数据。考虑如下一个问题:读取一个整数,输出该数的平方,问题解析,问题:读取一个整数,输出该数的平方。Java可将该问题分解成如下几个步骤:创建一个来自标准输入设备的扫描器;从扫描器上读取一个整数;做求平方运算,自乘一次即可;将运算结果向标准输出设备输出。,程序解决,Square.javaimport java.util.Scan

2、ner;public class Square public static void main(String args)Scanner sc=new Scanner(System.in);int n=sc.nextInt();int s=n*n;System.out.println(s);,程序解析,1)扫描器的类型是“Scanner”,System.in指准输入设备(默认键盘)。2)可通过扫描器的nextInt方法取得整数,类似有nextDouble等方法。3)输出数据:System.out.println(“”),项与项之间直接用“+”连结即成。“+”号可以连接不同类型数据。,程序解析(续

3、),1)Scanner是一个类,它在java.util.包中,所以本程序的首行为import java.util.Scanner;,意为载入此类。2)要创建一个扫描器,需要给Scanner指出扫描源,如new Scanner(System.in);3)Scanner扫描器拥有很多扫描输入数据的方法,如nextInt()即是其中之一;4)System为系统类,它在java.lang包中,该包在程序编译时自动载入,故不用在程序开头加对应的载入语句;5)System.out为数据标准输出流,该流拥有print和println方法,print方法的意义是不换行输出,println是换行输出。,二、Ja

4、va的标识符和保留字,标识符,标识符:Java程序中的类、属性、方法、对象、变量等元素都应有自己的名称,各元素的名称通称标识符。标识符定义规则:由字母、数字、_和$组成 开头字符必须是字母、下划线或$(不可以数字开头)注意:大小写敏感。myname与Myname是不同的标识符。例:从以下字符串中挑出合法的Java标识符。2tow Mary5 else Hello world bob do cheese_eat Hello!,保留字,保留字:是 Java 语言规定了特定含义的标识符。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。保留字一律用小写字母表示。数据类型相关的保留字:bool

5、ean、int、long、short、float、double、char、class和interface。流程控制相关的保留字:if、else、do、while、for、switch、case、default、break、continue、return、try、catch和finally。修饰符相关的保留字:public、protected、private、final、void、static、strictfp、abstract、transient、synchronized、volatile和native。动作相关的保留字:package、import、throw、throws、extends、

6、implements、this、super、instanceof和new。其他保留字:true、false、null、goto和const。,三、Java的基本数据类型,Java中的数据类型,在Java中,每个存放数据的变量都是有类型的,赋值前需确定类型,如:char ch;float x;int a,b,c;变量的类型确定了数据需分配的内存空间的大小和数据在内存的存储方式。如ch是字符型的,就会分配到2个字节内存。,Java中的数据类型(续),Java中的数据类型有基本数据类型和引用数据类型两大类,数据类型的概貌如下图所示:,Java中的数据类型(续),布尔型boolean 布尔型常量:tr

7、ue和false(它们不对应于任何整数值!)布尔型变量的定义如:boolean b=true;字符类型char 字符常量:用单引号括起来的一个字符,如a,A;字符型变量的定义如:char c=a;说明:Java中的字符型数据是16位无符号型数据,它采纳Unicode集。,Java中的数据类型(续),与C相同,Java也提供转义字符,如下图:,Java中的数据类型(续),练习:编程测试16进制数41,51对应的字符,并相隔一个tab位输出。public class HDTest public static void main(String args)char a=u0041;char b=u00

8、51;System.out.println(a+t+b);,Java中的数据类型(续),定点型(整型)整型常量可用三种进制表示:十进制整数:如:123,456,0 八进制整数:0ddd(注意:ddd=377)如0123表示十进制数83,011表示十进制数9。十六进制整数:以0 x或0X开头 如0 x123表示十进制数291,0X12表示十进制数18。,Java中的数据类型(续),例:分析程序运行结果。public class DataTest public static void main(String args)int x=010;System.out.println(x=+x);int y

9、=0 x10;System.out.println(y=+y);,Java中的数据类型(续),整型变量可细分为字节型变量、整型变量、短整型变量和长整型变量四种:byte:8位带符号整数,-27-27-1short:16位带符号整数,-215-215-1 int:32位带符号整数,-231-231-1 long:64位带符号整数,-263-263-1 注意:在进行处理时应注意变量的范围 byte x=129;出错!byte x=(byte)129;结果x的取值是-127 原因:整数在内存中以补码保存。12910000001-127,Java中的数据类型(续),浮点型(实型)实型常量有两种表示形式

10、:十进制数形式:由数字和小数点组成,如0.123,.123,123.,123.0 科学计数法形式:如:123e3或123E3 其中e或E之前必须有数字,且e或E后面的指数必须为整数。实型变量有两种:float:32位标准浮点数,以f结尾表示,如 3.5f double:64位标准浮点数,以d结尾表示(可省略),如 35.7d,Java中的数据类型(续),例:输入一个圆的半径,求圆的面积。import java.util.Scanner;public class CircleArea public static void main(String args)Scanner sc=new Scann

11、er(System.in);double r=sc.nextDouble();double area=Math.PI*r*r;System.out.println(area);,Java中的数据类型(续),字符串型字符串常量是用双引号作为起止符的字符序列。如:”Hello”字符串变量定义如:String s1,s2;String s1=”Hello”;注意:字符串是非基本数据类型,Java中的数据类型(续),例:试分析下面程序中的各变量,并更正错误。class Assign public static void main(String args)byte x=300;int y=12;floa

12、t z=1.234;double w=1.234;int flag=true;char c=A;String str=bye;,四、Java基本数据类型转换,自动类型转换,整型、实型、字符型数据可以混合运算。运算前统一为同一数据类型,结果为运算前统一的类型。这里的“统一”就是自动类型转换。自动类型转换总是从低级到高级,按下图所示:,byteshortchar,int,long,float,double,低,高,byte、char、short型数据只要参与运算,就首先将类型转换为int后进行运算,所以即使short型数据之间的运算,运算结果也是int型。,自动类型转换(续),例题:如有以下变量定

13、义,请回答算式:x+y、x+y+z、a+b、a-x-y、x+c的结果分别是何种类型。int x;byte y;long z;float a;double b;char c;,强制类型转换,高级数据要转换成低级数据,需用到强制类型转换,其形式为:(类型)数据如:int x=10;byte y=20;float a=3.5f;double b=18.1;y=(byte)x;x=(int)(a+b);a=(float)b;,练习,例:阅读程序,分析运行情况。程序一:public class CharandInt1 public static void main(String args)char y=

14、a;System.out.println(y);,程序二:public class CharandInt2 public static void main(String args)int x=2;char y=a;System.out.println(y+x);,思考:如何修改程序二使之输出结果为“c”?,练习(续),例:阅读程序,分析运行情况。程序三:class Test1 public static void main(String args)char a=u0041;int b=a;float c=b;double d=c;System.out.println(a+t+b+t+c+t+d

15、);,练习(续),例:阅读程序,分析运行情况。程序四:class Test2 public static void main(String args)double e=65.5;float f=(float)e;int g=(int)f;char h=(char)g;System.out.println(e+t+f+t+g+t+h);,五、Java中的运算,双目运算符说明:(1)Java对“+”运算进行了扩展,字符串连接、数字与字符串连接。如:String s;s=s=+4*5;(2)Java中的“%”取模运算,可对浮点数进行。符号同第一个操作数。如52.3%10等于2.3,算术运算,自增自减

16、运算符说明:(1)+与-运算符只能用于变量。错例:5+,+(a+b)(2)+与-运算时结合方向自右向左。-i+相当于-(i+)(3)两个+号(或-号)之间不能有空格。(4)应避免使用复杂的表达式。,算术运算(续),算术表达式:用算术运算符与括号将运算对象连接起来的、符合 Java 规则的式子。运算级别:先*、/、%后+、-,“左结合”原则。如:n*-2,-n/-2例:阅读程序,分析程序运行结果。class TestMod public static void main(String args)int x=3,y=10;System.out.println(y-%+x);System.out.p

17、rintln(-y%-x);,算术运算(续),基本赋值运算 形式:=作用:将右边表达式的值计算赋给左边的变量。赋值语句:赋值表达式加上分号。例:class AssignTest public static void main(String args)int a,b;int c=(a=5)+(b=13);System.out.println(a+b+c);,赋值运算,复合赋值运算 形式:=等价于:=()类型转换 赋值时如果赋值号两边类型不同,则有如下两种可能:自动转换。条件:等号右式类型比左边变量类型简单。出错。出错信息:possible loss of precision,赋值运算(续),关系

18、运算亦即比较运算,需要两个操作数参与。注意:=不要写成=,关系运算,(1)Java中,任何类型的数据(包括简单类型和复合类型),都可以通过=或!=来比较是否相等;(2)浮点数的比较小心慎用;(3)不同类型的数值量以及字符之间可以进行各种大小比较;class T1 public static void main(String args)char x=4;int y=4;if(x=y)System.out.println(y);else System.out.println(char)y);(4)关系运算的结果是true和false(而不是1或0、T或F!);(5)关系运算符优先级低于算术运算符,高于赋值运算符。关系运算亦即比较运算,需要两个操作数参与。,关系运算(续),逻辑运算可以表达复合的条件,逻辑运算可以对结果是布尔型的数据进行复合或否定。,逻辑运算,逻辑运算的截断性:“,逻辑运算(续),加入逻辑运算后的优先级(从高到低):,逻辑运算(续),条件运算:形式:e1?e2:e3 意义:若e1为真,则取值e2;为假取值e3。如:max=a b?a:b;说明:(1)e1的类型必须为boolean型。(2)e2与e3的数据类型必须一致。,条件运算,Java运算符的优先级:,运算符优先级,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号