《《基本数据类型》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《基本数据类型》PPT课件.pptx(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章 基本数据类型Java的基本数据类型【例2-1】计算二个整数的和:class Example2_1 public static void main(String args)int x,y,sum;/变量声明变量声明 x=3;y=5;sum=x+y;/求和求和 System.out.println(二数之和为:二数之和为:+sum);在在Java中,使用变量要遵守中,使用变量要遵守“先声明后使用先声明后使用”的原则。的原则。类型转换自动转换自动转换需要满足两个条件:需要满足两个条件:1 1、类型相容;、类型相容;2 2、目标数据类型比原数、目标数据类型比原数据类型分配的内存空间大据类型分配
2、的内存空间大(即由低到高即由低到高)。强制转换强制转换发生在相容数据类型发生在相容数据类型之间之间(即精度由高到低即精度由高到低)。语法形式:语法形式:(目标类型目标类型)值值基本数据类型按精度从基本数据类型按精度从“低低”到到“高高”的顺序为:的顺序为:byte short int long float double从命令行输入与输出输入基本型数据Scanner 类 Scanner reader=new Scanner(System.in);Scanner类的方法:nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFl
3、oat()、nextDouble()实例 Example2_3.java输出基本型数据System.out.println()System.out.print()System.out.printf()从JDK1.5开始新增的2.4 数组数组是一组相同类型变量的集合,可以使用共同的名字引用它。2.4.1 创建和使用数组 1、声明数组(1)声明一维数组的格式:数组元素的类型 数组的名字;数组元素的类型 数组名字;(2)声明二维数组的格式:数组元素的类型 数组的名字;数组元素类型 数组名 ;2.创建数组为为数组分配内存空间的格式如下数组分配内存空间的格式如下:数组名字=new 数组元素的类型数组元素
4、的个数;例如:例如:boy=new float4;数数组组变变量量boy中中存存放放着着这这些些内内存存单单元元的的首首地地址址,该该地地址址称称作作数数组组的的引引用用,这这样样数数组组就可以通过索引操作这些内存单元就可以通过索引操作这些内存单元 。boy图图2.4 2.4 数组的内存模型数组的内存模型 0 x785BAboy0boy1boy2boy3声明数组和创建数组可以一起完成,例如:float boy=new float4;二维数组和一维数组一样,在声明之后必须用new运算符分配内存空间,例如:int mytwo;mytwo=new int 34;或 int mytwo=new int
5、34;2.4.1 创建和使用数组 构成二维数组的一维数组不必有相同的长度,在创建二维数组时可以分别制定构成该二维数组的一维数组的长度。如:int a=new int3;a0=new int6;a1=new int12;a2=new int8;Java允许使用int型变量的值制定数组元素的个数。如:int size=30;double num=new doublesize;2.4.1 创建和使用数组 2.4.4 lengthlength的使用的使用 一数组的元素的个数称作数组的长度。对于一维数组,“数组名字.length”的值就是数组中元素的个数。对于二维数组“数组名字.length”的值是它含
6、有的一维数组的个数。对于 float a=new float12;a.length的值12对于 int b=new int36;b.length的值是3 2.4.5 2.4.5 数组的初始化数组的初始化创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。在声明数组时同时也可以给数组的元素一个初始值,如:float boy=21.3f,23.89f,2.0f,23f,778.98f;也可以直接用若干个一维数组初始化一个二维数组。2.4.5 2.4.5 数组的初始化数组的初始化 创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。在声明数组时同时也可以给数组
7、的元素一个初始值,如:float boy=21.3f,23.89f,2.0f,23f,778.98f;也可以直接用若干个一维数组初始化一个二维数组。如:int a=1,1,1,1,2,1,1,3,3,1,1,4,6,4,1 2.4.6 2.4.6 数组的引用数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素。例如,对于 int int a a=1,2,3,b 1,2,3,b=4,5;4,5;如果使用了下列赋值语句(a和b的类型必须相同):a=b;那么a中存放的引用和b的相同。例例2-42-4 2.4.8 2.4.8 复制复制数组(数组(Arrays
8、Arrays类的方法)类的方法)1 1arraycopy方法方法 public public static static void void arraycopyarraycopy(sourceArraysourceArray,int int index1index1,copyArray,int copyArray,int index2index2,int int lengthlength)例例2-52-5 2copyOf和和copyOfRange()方法方法 public public static static double double copyOf(double copyOf(doubl
9、e original,int newLength)original,int newLength)public public static static double double copyOfRange(double copyOfRange(double original,int from,int to)original,int from,int to)例例2-62-62.4.9 2.4.9 排序与二分查找排序与二分查找Array类调用 public static void sort(double a)方法可以把参数a指定的double类型数组按升序排序。Array类调用 public sta
10、tic void sort(double a,int start,int end)方法可以把参数a指定的double类型数组中索引star至end-1的元素的值按升序排序。Array类调用(二分法)public static int binarySearch(double a,double number)方法判断参数number指定的数是否在参数a指定的数组中。例例2-72-72.5 2.5 枚举类型枚举类型Java使用关键字enum声明枚举类型,语法格式如下:enum 枚举名 常量列表 其中的常量列表是用逗号分割的字符序列,称为枚举类型的常量(枚举类型的常量要符合标识符之规定,即由字母、下划
11、线、美元符号和数字组成,并且第一个字符不能是数字字符)。例例2-82-8,例例2-92-93、数组元素的使用数组可以通过下标访问自己的元素:int a=new int10;for(int i=0;i 大于大于x1 x2x1 x2x1x1大于大于x2x2=不小不小于于x1 =x2x1 =x2x1 x1 大于或等于大于或等于x2x2 小于小于x1 x2x1 x2x1x1小于小于 x2x2=不大不大于于x1=x2x1 右移x n将x各位右移n位,左边按符号补0或补111110101左移x 无符号右移x n将x右移n位(无符号的),左边补000110101&与x&y将x,y按位与操作01010000|
12、或x|y将x,y按位或操作11011111异或x y将x,y按位异或操作10001111位反 x将x各比特位按位取反00101001右移运算符“”将一个数的二进制位序列右移若干位,移出右端的低位被舍弃,最高位则移入原来高位的值。例如:a=00110111,则 a2=00001101 b=11010011,则 b2=11110100左移运算符“”将一个数的二进制位序列左移若干位,高位左移后溢出舍弃,不起作用。当移位运算符通过对运算对象左移位或者右移位来对数据执行位操作时,一个数每左移1位,相当于这个数乘以2,每右移1位,相当于除以2。例如,设x=8,则x 1表示左移1位,相当于作x21的运算,其
13、结果为16。x 1表示右移1位,相当于作x21的运算,其结果为4,x 2表示右移2位,相当于作x22的运算,其结果为2。一般地:x n表示右移n位,相当于作x2n的运算。逻辑右移运算符“”将一个数的二进制位右移若干位,右端移出的低位被舍弃,最高位也是补0,这点与“”不同。当运算对象为数字的时候,“&”运算符为每一个运算对象的每位执行按位与功能。它在两个运算对象的对应位为1时结果才为1,反之结果都为0。即:0&0=0、0&1=0、1&0=0、1&1=1 “|”运算符执行或操作。当两个操作对象都是数字的时候,或操作只要有一个运算对象为1结果就为1。即:0|0=0、0|1=1、1|0=1、1|1=1
14、“”运算符执行异或操作。异或是指当运算对象不同时结果才为1,否则结果为0。即:0 0=0、0 1=1、1 0=1、1 1=0如果c=a b那么a=c b即用同一个数b对数a进行二次异或运算的结果仍是数a。2.3程序控制语句语句分为五类:语句分为五类:1 1、方法调用语句;、方法调用语句;2 2、表达式语句;、表达式语句;3 3、复合语句;、复合语句;4 4、控制语句;、控制语句;5 5、package和和import语句。语句。2.3.2 控制语句通常语句在程序中都是按先后顺序执行,控制语句通常语句在程序中都是按先后顺序执行,控制语句用于改变程序执行的顺序。用于改变程序执行的顺序。Java的控
15、制语句有:的控制语句有:if-else语句语句switch语句语句while do-while语句语句for语句语句跳转语句跳转语句异常处理语句异常处理语句2.3.3if条件语句1、if 语句的一般形式语句的一般形式 if(表达式)(表达式)若干语句;若干语句;2.3.4 switch语句switch语句是一个多分支选择语句,也叫开关语句。它可以根据一个整型表达式有条件地选择一个语句执行。switch(变量名称或表达式)case 符合数字或字符:语句块1;break;case 符合数字或字符:语句块2;break;default:语句块3;switch语句首先计算条件表达式的值,如果表达式的值
16、和某个case后面的常量数值相同,就执行该case里的若干条语句,直到break语句为止。若没有一个常量与表达式的值相同,则执行default后面的若干条语句。default是可有可无的,如果它不存在,并且所有的常量数值都和表达式的值不相同,那么switch语句就不进行任何处理。2.3.5 循环语句1、for循环语句循环语句for循环语句的语法结构如下:循环语句的语法结构如下:for(初始条件;终止条件;增量)(初始条件;终止条件;增量)循环体循环体;图2.7 循环语句的执行过程 2.6 字符串的简单介绍 1、字符串声明与创建下面是声明并创建字符串的语句:String str;str=this
17、 is a Stirng.;也可以将上面二条语句合并为一条语句:String str=this is a String.;2、字符串操作方法说明length()取得字符串的字符长度equals()判断两个字符串中的字符是否等于toLowerCase()转换字符串中的英文字符为小写toUpperCase()转换字符串中的英文字符为大写(1)求字符串的长度例:String str1=Hello!;String str2=你身体好吗?;System.out.println(str1.length();System.out.println(str2.length();(2)比较两个字符串 String
18、类中有三个方法可以比较两个字符串是否相同。public int compareTo(String str);public boolean equals(Object obj);public boolean equalsIgnoreCase(String str);这里需要特别说明,比较二个数值这里需要特别说明,比较二个数值x、y是否相等,我们使用是否相等,我们使用x=y。而比较二个字符串相等则不能使用而比较二个字符串相等则不能使用“=”来比较。请看下面的程序段:来比较。请看下面的程序段:(3)字符串与数值的转换字符串str转换为整型:int x=Integer.paresInt(str);字符
19、串str转换为float型:float n=Integer.paresFloat(str);例如:String str=String.valueOf(123.4);(4)字符串与字节数组的转化 要将一个字符串转化为字节数组,可用下列方法:byte d=字符串对象.getBytes();反之,要将一个字节数组转化为字符串,则用字符串的构造方法就能达到目的。String(byte,int offset,int length)3、使用StringTokenizer字符分析器 有时我们需要将字符串分解成可被独立使用的单词,这些单词叫做语言符号。当我们分析一个字符串并将字符串分解成可被独立使用的单词时,
20、可以使用java.util包中的StringTokenizer类。StringTokenizer对象被称为字符分析器。其构造方法为:StringTokenizer(String str,String delim)将指定字符串str按字符delim为分隔符进行分解。StringTokenizer类的常用方法:hasMoreTokens():检测字符串中是否还有语言符号,若有语言符号就返回true,否则返回false。nextToken():逐个获取字符串中的语言符号。countTokens():计算调用了nextToken()方法的次数,用于统计字符串中的语言符号的个数。4、main()方法中的参数 在Java应用程序中必须要有public static void main(String args)主方法。Main()方法中的参数是一个字符串数组args,这个数组的元素args0,args1,argsn的值都是字符串。args是命令行参数,其功能是接收运行程序时通过命令行输入的参数。其一般形式为:java 类文件名字符串1字符串2 字符串n其中,类文件名和各字符串间用空格分隔。