当前位置:文档之家› 实验2基本数据类型与数组(最新整理)

实验2基本数据类型与数组(最新整理)

实验2基本数据类型与数组(最新整理)
实验2基本数据类型与数组(最新整理)

民族学院实验报告

计算机科学 系

级 班 指导教师 报告人20 年 月 日

成 绩

课程名称

JAVA 语言程序设计实验名称实验二 基本数据类型与数组实验

目的

1.掌握基本数据类型及其相互之间的转换2.掌握JAVA 中数组的使用实验仪器

和器材具有JDK 环境的计算机一台

实验内容和要求

一、输出希腊字母表

1.请按模板要求,将【代码】替换为Java 程序代码,运行该程序时在命令窗口中输出希腊字母表。其运行效果如图

2.1所示。

图2.1 输出希腊字母表

GreekAlphabet.java

public class GreekAlphabet {

public static void main(String[] args) {

int startPosition=0,endPosition=0;

char cStart='α',cEnd='ω';

startPosition=(int )cStart; //cStart 做int 型数据转换,并将结果赋值给startPosition endPosition=(int )cEnd; //cEnd 做int 型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode 表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:");

for (int i=startPosition;i<=endPosition;i++){

char c='\0';

cStart=(char )i; //i 做char 型转换运算,并将结果赋值给c System.out.print(" "+c);

if ((i-startPosition+1)%10==0)

System.out.println();

}

}

} 2.实验后练习

(1)将一个double 型数据直接赋值给float 型变量,程序编译时提示怎样的

错误?

答:程序提示的内容为:“可能损失精度”。

(2)在应用程序的main 方法中增加语句:

2.实验后练习

(1)比较程序中源数组修改前后的值以及对复制的数组的影响;

(2)比较数组a = b与arraycopy()的异同。

四、数组的排序

1.请查询Java API中Arrays类中的静态方法sort()的使用方法,并编写一个程序。要求

对上述生成的保存学生成绩的数组进行排序;

显示排序后的数组。

2.实验后练习

(1)了解Arrays类中的其它静态方法;

(2)练习你所感兴趣的方法。

System.out.printf("%5d",b[j]);

if((j+1)%10==0){

System.out.printf("\n");

}

}

}

}

答:(1)值随这原数组的值变化;

(2)都是赋值的作用;a=b是直接赋值,而arraycopy()是通过函数赋值。

四程序如下:

import java.util.Arrays;

public class Arraysort{

public static void main(String atgs[]){

int[] a=new int[24];

int[] b=new int[24];

int i;

int grest=0;

System.out.printf(" a数组:\n");

for( i=0;i<24;i++){

grest=60+(int)(Math.random()*41);

a[i]=grest;

System.out.printf("%5d",a[i]);

if((i+1)%10==0){

System.out.printf("\n");

}

}

System.out.printf("\n");

System.out.printf(" b数组:\n");

Arrays.sort(a);

for(i=0;i<24;i++){

System.out.printf("%5d",a[i]);

if((i+1)%10==0){

System.out.printf("\n");

}s

}

}

}

2 给数组赋值用fill方法;数组排序用sort方法;用binarySearch方法可以对数组进行二分查找。

实验2---数据类型、运算符和简单的输入输出

实验2 数据类型、运算符和简单的输入输出 【实验目的】掌握C语言数据类型,了解字符型数据和整型数据的内在关系;掌握对各种数值型数据的正确输入方法学会使用C的有关算术运算符以及包含这些运算符的表达式,特别是自加(++)和自减(––)运算符的使用;学会编写和运行简单的应用程序。 【实验内容】 1、输入教材第3章第4题(P83)给出的程序,按照(1)(2)(3)的要求分别运行,并分析其结果。 2、P83第5题。 用下面的scanf函数输入数据,使得a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入? #include int main( ) { int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“%f %e”,&x,&y); scanf(“%c %c”,&c1,&c2); printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2); return 0; } 3、输入以下程序: #include int main() { int i,j,m,n; i=8;

j=10; m=++i; n=j++; printf(”%d,%d,%d,%d\n”,i,j,m,n); return 0; } (1)编译和运行程序,注意i,j,m,n各变量的值。(2)将第7,8行改为 m=i++; n=++j; 再编译和运行,分析结果。 (3)把第7,8删掉,将程序中的printf语句改为printf(“%d,%d\n”,i++,j++); 再编译和运行,查看结果。 (4)在(3)的基础上,将printf语句改为 printf(”%d,%d,%d,%d\n”,i,j, i++,j++); 再编译和运行,分析结果。 (5)程序改为: #include int main() { int i,j,m=0,n=0; i=8; j=10; m+=i++; n–=––j; printf(”i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n); return 0; } 再编译和运行,分析结果。

实验1 类的基本使用

实验一类的基本使用 一、实验目的 1.掌握类的定义; 2.熟悉方法及属性的定义与使用; 3. 掌握对象中的对象用法。 二、实验要求 1.认真完成实验内容并得到正确的程序运行结果。 2.为你的程序加上注释,使得其清晰可读。 3.利用调试程序来修改你程序的逻辑错误 三、实验原理 1.类定义:客观世界中的事物往往需要从属性与行为两个方面进行描述,在JAVA中,分别用数据成员与函数成员来表现,并且将它们封装在一起,形成一种抽象数据类型——类。 类具有数据成员和成员函数两种成员,类成员分为公开的(public)和私有的(private)两类。外界不能访问一个对象的私有部分,它们与对象间的信息传送只能通过公开成员函数等特定方法进行。 类接口定义的基本格式为

四、主要仪器及耗材 计算机及eclipse软件 五、实验内容与步骤 1. 设计一个商品类,在edu.dali包里实现类Commodity,要求: ①包括编号、名称、产地、单价属性; ②通过构造函数对各属性附值; ③定义一个取得折扣价的方法,输入折扣值返回折扣价。 ④在CommodityTest的main( )里创建对象创建,输出对象属性及6.5价的价格。 2.编写一类似开心农场游戏中的植物类,要求: ①在edu.dali包里实现类Plant ②具有名称、颜色、种类、金钱数、经验值(exp)、生长周期(天)、果实; ③“种类”为PlantType类型(代码、名称属性) ④植物可以有多个果实,每个果实为Fruit类型的对象,具有编号、名称、重量、颜色、形状、卖出价格属性。 ⑤通过一个方法取得果实卖出总价。 ⑥在PlantTest类的main方法里创建Plant对象,并输出名称、颜色、种类、金钱数、经验值、生长周期属性,输出该Plant对象的果实数量及总价。 提示:植物果实可用对象集合实现 public class Class { private String classNo; private String className; List studentList;

实验2基本数据类型与数组(最新整理)

民族学院实验报告 计算机科学 系 级 班 指导教师 报告人20 年 月 日 成 绩 课程名称 JAVA 语言程序设计实验名称实验二 基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换2.掌握JAVA 中数组的使用实验仪器 和器材具有JDK 环境的计算机一台 实验内容和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java 程序代码,运行该程序时在命令窗口中输出希腊字母表。其运行效果如图 2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int )cStart; //cStart 做int 型数据转换,并将结果赋值给startPosition endPosition=(int )cEnd; //cEnd 做int 型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode 表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char )i; //i 做char 型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double 型数据直接赋值给float 型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main 方法中增加语句:

c++实验2 数据类型与表达式

实验2 数据类型与表达式 实验目的 ●掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值 的方法; ●懂得转义字符的使用; ●了解基本数据类型的字节宽度; ●进一步熟悉C++程序的编辑、编译、连接和运行的过程; ●掌握数据的输入输出的方法; ●掌握运算符的优先级和结合性,能够正确书写表达式; ●掌握不同的类型数据之间运算的类型转换规则,理解自动类型转换和会使用强制类型转 换。 实验内容: 1、基本数据类型的长度 验证你的C++编译环境中每个基本数据类型的长度(即在内存空间所占的字节个 数)。用sizeof运算符获取类型或数据的所占字节数。 # include using namespace std; int main() { cout << "字符'a' 所占字节数: " << sizeof('a') << endl; cout << "字符\"a\"所占字节数: " << sizeof("a") << endl; cout << "字符串\"China\" 所占字节数: " << sizeof("China") << endl; cout << "整型常量默认为int,int型所占字节数: " << sizeof(136) << endl; cout << "短整型short类型所占字节数: " << sizeof(short) << endl; cout << "实型常量.23456默认为double类型,double字节数:" << sizeof(1.23456) << endl; cout << "float型数据所占字节数:" << sizeof(float) << endl; cout << "double型数据所占字节数:" << sizeof(double) << endl; cout << "bool型数据所占的字节数:" << sizeof(bool) << endl; return 0; } 1)人工分析程序,写出应得结果,上机后将二者对照。 2)仿照上述程序输出基本数据类型char, short, int, long double, float, double,bool的数据类型长度。 3)为什么字符串长度比总字符个数还要多1? 2、先阅读下列程序,写出执行结果(有些程序可能存在错误,请调试、改正) (1) #include using namespace std; int main()

常用数据类型转换使用详解

VC常用数据类型使用转换详解 CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。 CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR; typedef const char * LPCTSTR; vc++中各种字符串的表示法 首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。 LP的含义是长指针(long pointer)。LPSTR是一个指向以‘/0’结尾的ANSI字符数组的指针,与char*可以互换使用,在win32中较多地使用LPSTR。 而LPCSTR中增加的‘C’的含义是“CONSTANT”(常量),表明这种数据类型的实例不能被使用它的API函数改变,除此之外,它与LPSTR是等同的。 1.LP表示长指针,在win16下有长指针(LP)和短指针(P)的区别,而在win32下是没有区别的,都是32位.所以这里的LP和P是等价的. 2.C表示const 3.T是什么东西呢,我们知道TCHAR在采用Unicode方式编译时是wchar_t,在普通时编译成char. 为了满足程序代码国际化的需要,业界推出了Unicode标准,它提供了一种简单和一致的表达字符串的方法,所有字符中的字节都是16位的值,其数量也可以满足差不多世界上所有书面语言字符的编码需求,开发程序时使用Unicode(类型为wchar_t)是一种被鼓励的做法。 LPWSTR与LPCWSTR由此产生,它们的含义类似于LPSTR与LPCSTR,只是字符数据是16位的wchar_t而不是char。 然后为了实现两种编码的通用,提出了TCHAR的定义: 如果定义_UNICODE,声明如下: typedef wchar_t TCHAR; 如果没有定义_UNICODE,则声明如下: typedef char TCHAR; LPTSTR和LPCTSTR中的含义就是每个字符是这样的TCHAR。 CString类中的字符就是被声明为TCHAR类型的,它提供了一个封装好的类供用户方便地使用。

实验2 简单数据类型和流程控制

实验二简单数据类型和流程控制 一、实验目的 1.掌握Java语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型。 2.掌握Java语言中具各种运算符表达式的基本知识。 3.熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。4.熟练掌握使用if语句的嵌套及switch语句进行多分支结构程序设计的基本方法。 5.熟练掌握while、do-while和for三种语句组成循环结构的基本方法。熟练掌握特殊流程控制语句如break,continue,标号语句。 二、实验内容与要求 1、仔细读下面的JA V A语言源程序,自己给出程序的运行结果然后编译、运行进行验证。 public class Ch21 { public static void main(String args[]) { char x,y,z; x='K'; y='\\'; z='\117'; System.out.print(x); System.out.print(y); System.out.print(z); } } 2、仔细读下面的JA V A语言源程序,自己给出程序的运行结果然后编译、运行进行验证。 public class Ch22 { public static void main(String args[]) { boolean x,y,z; int a=12,b=24; x=(a>b); y=(a!=b); z=(a+b==36); System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }

matlab数据类型及转换

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。 1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127; 2、浮点:(single;double) 浮点数:REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。 3、逻辑:(logical) Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0: A = rand(5); A(A>0.5)=0; 4、字符:(char) Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个元素占用一个ASCII字符。如日期字符:DateString=’9/16/2001’ 实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相同。可以使用char函数构建字符数组,使用strcat函数连接字符。 例如,命令name = ['abc' ; 'abcd'] 将触发错误警告,因为两个字符串的长度不等,此时可以通过空字符凑齐如:name = ['abc ' ; 'abcd'],更简单的办法是使用char函数:char(‘abc’,’abcd’),Matlab自动填充空字符以使长度相等,因此字符串矩阵的列纬总是等于最长字符串的字符数. 例如size(char(‘abc’,’abcd’))返回结果[2,4],即字符串’abc’实际存在的是’abc ’,此时如需提取矩阵中的某一字符元素,需要使用deblank函数移除空格如name =char(‘abc’,’abcd’); deblank(name(1,:))。 此外,Matlab同时提供一种更灵活的单元格数组方法,使用函数cellstr可以将字符串数组转换为单元格数组: data= char(‘abc’,’abcd’) length(data(1,:)) ->? 4 cdata=cellstr(data) length(cdata{1}) ->?3 常用的字符操作函数 blanks(n) 返回n个空字符 deblank(s) 移除字符串尾部包含的空字符 (string) 将字符串作为命令执行 findstr(s1,s2) 搜索字符串 ischar(s) 判断是否字符串 isletter(s) 判断是否字母 lower(s) 转换小写 upper(s) 转换大写 strcmp(s1,s2) 比较字符串是否相同 strncmp(s1,s2,n) 比较字符串中的前n个字符是否相同 strrep(s1,s2,s3) 将s1中的字符s2替换为s3 5、日期和时间 Matlab提供三种日期格式:日期字符串如’1996-10-02’,日期序列数如729300(0000年1月1日为1)以及日期向量如1996 10 2 0 0 0,依次为年月日时分秒。 常用的日期操作函数

java基本数据类型习题(选择24)

1、下列哪一个是合法的标识符: A、12class; B、+viod; C、-5; D、_black; 2、下列哪一个不是JAVA语言中保留字: A、if; B、sizeof; C、private; D、null; 3、下列描述中正确的一项是: A、标识符首字符的后面可以跟数字; B、标识符不区分大小写; C、复合数据类型变量包括布尔型、字符型、浮点型; D、数组属于基本数据类型; 4、下列哪一项不属于变量的组成部分: A、变量名; B、变量属性; C、变量初值; D、变量大小; 5、下列关于变量组成部分描述正确的一项是: A、变量名不是标识符;

B、变量名是标识符; C、浮点型属于复合类型; D、变量属性分为:基本类型和符合类型; 6、下列选项中,哪一项不属于JAVA语言的简单数据类型: A、整数型; B、数组; C、字符型; D、浮点型; 7、下列关于变量作用域的描述中,不正确的一项是: A、变量属性是用来描述变量作用域的; B、局部变量作用域只能是它所在的方法的代码段; C、类变量能在类的方法中声明; D、类变量的作用域是整个类; 8、下列关于基本数据类型的说法中,不正确的一项是: A、boolean是JAVA非凡的置值,或者为真或者为假; B、float是带符号的32位浮点数; C、double是带符号的64位浮点数; D、char应该上是8位的Unicode字符; 9、下列关于溢出的说法中,正确的一项是: A、一个整型的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最大值; B、一个整型的数据达到整型能表示的最小数值后,再减1,

《Python程序设计》实验3---Python基本数据类型及分支结构实验报告

**大学数学与信息工程学院 《Python程序设计》实验报告 实验名称:实验3 Python基本数据类型及分支结构 … 班级: 姓名:学号:[ 实验地点:日期: 、 一、实验目的: [实验目的和要求] 1、熟练掌握Python三种数字类型及其应用 \ 2、熟练判断条件表达式的真假 3、熟练掌握Python分支结构 二、实验环境: 1、计算机,局域网,python 软件 三、实验内容和要求:(直接将实验步骤及截图写在题目下面,结果必须截图) 1、# 2、复数z=-3+4j,用Python程序求得对应的实部和虚部并计算z的绝对值,并思考输出的绝对值代表什么含义 3、请将下列数学表达式用Python程序写出来,并运算结果 1) 4 2734 5 x +-?= 代码:~

a=2**4 b=7 c=3 d=4 e=5 [ x=(a+b-c*d)/e print(x) 2)2 131677()(mod )/x =+? 代码: | a=3**2 b=1 c=16 d=7 x=(a+b)*(c%d)/7 # print(x) 4、编写程序,根据输入的长和宽,计算矩形的面积并输出。要求:输入语句input 实现同步赋值。 lw=input('请输入矩形的长和宽,以空格分隔:') length,width=map(float,()) ~ s=length*width

print("矩形面积为:",s) 5、编写程序,用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。例如用户输入1234,则程序输出12。(提示:使用整除运算。) 代码: [ a=eval(input('请输入一个三位以上的整数:')) b=int(a/100) if(a<99): print('输入错误') else: … print(b)

实验二JAVA基本数据类型(1)

实验二JA V A基本数据类型(1) 【实验目的】 1.掌握标识符的定义规则。 2.掌握表达式的组成。 3.掌握Java 基本数据类型及其使用方法。 4.理解定义变量的作用,掌握定义变量的方法。 5.掌握各种运算符的使用及其优先级控制。 6.通过以上内容,掌握Java 语言的编程规则。 【预习内容】 1.一个声明Java 不同数据类型:整形、浮点型、字符型等类型的特点。 2.JA V A各类运算符:算术运算符、关系运算符、逻辑运算符的使用方法。 3. JA V A各类表达式:算术表达式、关系表达式、逻辑表达式的综合应用。 【实验内容及步骤】 1.编写一个JA V A程序,设置各数据类型的相应变量,并赋予初值,最后在屏幕上显示如图1所示的结果。 图1 [程序清单] public class shiyan1 { public static void main(String[] args) { byte b = 85;

short s = 22015; int i=1000000; long l = 65535; char c ='a'; float f =0.23F; double d = 7.0E-4; boolean B =true; String S ="这是字符串数据类型"; System.out.println("字节型变量b=" + b); System.out.println("短整型变量s=" + s); System.out.println("整型变量i=" + i); System.out.println("长整型变量l=" + l); System.out.println("字符型变量c=" + c); System.out.println("浮点型变量f=" + f); System.out.println("双精度变量d=" + d); System.out.println("布尔型变量B=" + B); System.out.println("字符串类对象S=" + S); System.out.println(); System.out.println("输出完成(耗时0秒)-正常终止"); } } [程序运行结果(截图)]

实验报告_实验2 数据类型与表达式

实验报告_实验 2 数据类型与表达式(学生学号__姓名) 一、实验目的: 1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据; 2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用; 3、熟悉字符常量与一般常量的定义、使用; 4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果; 5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。 二、实验内容 1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。 回答下列问题: (1)sizeof运算符如何使用?它的操作数可以是类型关键字吗? 答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。可以。 (2)整数的占用长度与其数值大小有关吗? 答:有。 (3)字符串中’\’’、’\n’、’\t’的功能各是什么? 答:单引号,换行,水平制表。 (4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字 符? 答:1个字节;4个字节;结束符‘\0’。 (5)整数的存储形式是什么? 答:二进制补码。

2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。 回答下列问题: (1)字符数据在内存中是以什么方式存储的? 答: ASCII码。 (2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符” 方式输出字符? 答:能,整数:”%d”,字符:”%c”。 (3)大小写字母的ASCII有什么关系?(如:’G’与’g’) 答:ASCII码相差32。 (4)如何由’A’、’a’分别得到后续的大写字母、小写字母? 答:’A+1’,’a+1.’ (5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个 字符吗?若能,如何得到? 答:两个ASCII码绝对值相减,’a’-5,’a’+10. (6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’? 答:”C”字符串,’c’字符,能. 3、(基础题)符号常量与常变量(即用const关键字定义)的使用: 回答问题: (1)写出用符号常量定义PI的格式; #define PI (2)写出用“常变量”方式定义PI值的语句。 Const float PI=; 4、(基础题)运行下列程序,体会/、%运算符的用法: 回答下列问题: (1)运算符/的操作数有什么要求? 答:被除数不能为0.

2.3 基本数据类型的转换

2.3基本数据类型的转换 本章目标 掌握基本数据类型间的自动转换 掌握任何基本数据类型的数据都会自动向String转换 掌握基本数据类型间的强制转换 Java的数据类型在定义时就已经确定了,因此不能随意转换成其他的数据类型,但Java允许用户有限度地做类型转换处理。数据类型的转换方式可分为“自动类型转换”及“强制类型转换”两种。 1 数据类型的自动转换 在计算机中完成一个计算时,要求参与计算的两个数值必须类型一致,如果不一致,计算机会自动将其中一个数值类型转换成另外一个数值的类型,然后完成计算。自动转换的原则如下: (1)转换前的数据类型与转换后的类型兼容。 (2)转换后的数据类型的表示范围比转换前的类型大。 例如,将short类型的变量a转换为int类型,由于short与int皆为整数类型,符合上述条件(1);而int的表示范围比short大,符合条件(2)。因此Java 会自动将原为short类型的变量a转换为int类型。 要注意的是,类型的转换只限该行语句,并不会影响原先所定义的变量的类型,而且通过自动类型的转换可以保证数据的精确度,它不会因为转换而损失数据内容。这种类型的转换方式也称为扩大转换。 范例:数据类型的转换 程序运行结果: x / y = 1.3519603 10 / 3.5 = 2.857142857142857 10 / 3 = 3 从程序的输出结果可以发现,int类型与float类型进行计算之后,输出的结

果会变成float类型,一个整型常量和一个浮点型常量进行计算之后,结果也会变为一个浮点数据,而如果两个int类型的常量进行计算,最终结果还是int类型,而其小数部分将会被忽略。 也就是说,假设有一个整数和双精度浮点数据做运算时,Java会所整数转换成双精度浮点数后再做运算,运算结果也会变成双精度浮点数。 提示:任何类型的数据都向String转型。 有一种表示字符串的数据类型String,从其定义上可以发现单词首字母大写了,所以此为一个类,属于引用数据类型,但是此类属于系统类,而且使用上有些注意事项,对于此种类型后面会有介绍,在此处所需要知道的只有以下两点: (1)String可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用“””括起来的。两个字符串之间可以使用“+”进行连接。 (2)任何数据类型碰到String类型的变量或常量之后都向String类型转换。 范例:定义字符串变量 程序运行结果: str = lixinghua30 从运行结果来看,可以发现整型数据30自动转换成了字符的“30”,与字符串“lixinghua”进行了连接操作,变成了一个新的字符串“lixinghua30”。 范例:字符串常量操作的问题

大一上期C语言实验报告2 数据类型、运算符和表达式

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对它们赋值的方法 (2)掌握不同的数据类型之间赋值的规律 (3)学会使用关系运算符,以及包含这些运算符的表达式,特别是自增和自减运算符的使用 2.实验内容 (1)要将China译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如A后面第4个字母是E,用E代替A,因 此,China应翻译为Glmre。请编译一个程序,用赋初值的方式是 c1,c2,c3,c4,c5,五个变量的值分别 为’C’、’h’、’i’、’n’、’a’,经过运算,使 c1,c2,c3,c4,c5,分别为’G’、’l’、’m’、’r’、’e’ ①画出算法流程图,输入事先已编好的程序,并运行该程序,分 析是否符合要求。 ②改变c1,c2,c3,c4,c5的值分别为Today,修改程序并运行 ③修改程序,完成上述译码规则的解码操作,并将密码PSZI解码 成明文 3.流程图

4.源代码 #include void main() {char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);} 修改后的程序 #include void main() {char c1='T',c2='o',c3='d',c4='a',c5='y'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);} 将密码PSZI解码成明文 #include void main() {char c1='P',c2='S',c3='Z',c4='I'; c1-=4; c2-=4; c3-=4; c4-=4; printf("%c%c%c%c\n",c1,c2,c3,c4);} 5.运行结果 将China翻译成密码 将China改成Today

java的基本数据类型有八种

java的基本数据类型有八种 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! java的基本数据类型有八种四类八种基本数据类型1. 整型byte(1字节)short (2个字节)int(4个字节)long (8个字节)2.浮点型float(4个字节)double(8个字节)3.逻辑性boolean(八分之一个字节)4.字符型char(2个字节,一个字符能存储下一个中文汉字)基本数据类型与包装类对应关系和默认值short Short (short)0int Integer 0long Long 0Lchar Char '\u0000'(什么都没有)float Floa t0.0fdouble Double 0.0dboolean Boolean false 若某个类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值,如上所示。(这种初始化方法只是用于成员变量,不适用于局部变量)。jdk1.5支持自动拆装箱。可以将基本数据类型转换成它的包装类装箱Integer a = new Integer ();a = 100;拆箱int b = new Intger(100);一个字节等于8位,一个字节等于256个数,-128到127一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节一个汉字两个字符,占用两个字节基本数据类型自动转换byte->short , char->int->longfloat->doubleint ->floatlong->double小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

实验2 C语言基本数据类型

实验2 C语言基本数据类型 一、实验目的: 1.掌握C语言的基本数据类型(整型、字符型和实型)。 2.掌握C语言变量的定义和赋值方法。 3.进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容: 1.验证性实验 (1) 分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。 #include void main() { int x=010,y=10,z=0x10; /*前导中的'0'是数字0而不是字母o*/ char c1='M',c2='\x4d',c3='\115',c4=77,c; /*字符型数据表示*/ /* 整型数据的输出 */ printf("x=%o,y=%d,z=%x\n",x,y,z); /* 数据以原进制输出,注意是否有前导0或0x */ printf("x=%d,y=%d,z=%d\n",x,y,z); /* 数据以10进制输出,换算到10进制,结果对吗? */ /* 字符型数据的输出 */ printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4); /* 数据以原进制输出,注意是否有前导0或0x */ printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4); /*结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */ printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4); /*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */ /* 字符型数据参与算术运算 */ c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */ printf("c=%c,c=%d\n",c,c); /*看看这个字符是什么?'M'+32就变为'm'了字母的大小写转换原来如此!*/ } (2)分析下面程序结果,并上机验证(整型、实型数据的表示、输入和输出)。 #include void main() { int i,j; float m,n; long x,y; unsigned int u,v; char c1,c2; scanf("%d,%d",&i,&j);

数据类型转换

数据类型转换 一、隐式类型转换 1)简单数据类型 (1)算术运算 转换为最宽的数据类型 eg: [cpp] view plain copy #include using std::cout; using std::endl; int main(int argc, char* argv[]) { int ival = 3; double dval = 3.14159; cout << ival + dval << endl;//ival被提升为double类型 return 0; } 其运行结果: 6.14159 int main(int argc, char* argv[]) { 010D17D0 push ebp 010D17D1 mov ebp,esp 010D17D3 sub esp,0DCh 010D17D9 push ebx 010D17DA push esi 010D17DB push edi 010D17DC lea edi,[ebp-0DCh] 010D17E2 mov ecx,37h 010D17E7 mov eax,0CCCCCCCCh 010D17EC rep stos dword ptr es:[edi] int ival = 3; 010D17EE mov dword ptr [ival],3 double dval = 3.14159; 010D17F5 movsd xmm0,mmword ptr [__real@400921f9f01b866e (010D6B30h)]

010D17FD movsd mmword ptr [dval],xmm0 cout << ival + dval << endl;//ival被提升为double类型 010D1802 mov esi,esp 010D1804 push offset std::endl > (010D1064h) 010D1809 cvtsi2sd xmm0,dword ptr [ival] 010D180E addsd xmm0,mmword ptr [dval] 010D1813 mov edi,esp 010D1815 sub esp,8 010D1818 movsd mmword ptr [esp],xmm0 010D181D mov ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (010D90A8h)] 010D1823 call dword ptr [__imp_std::basic_ostream >::operator<< (010D90A0h)] 010D1829 cmp edi,esp 010D182B call __RTC_CheckEsp (010D111Dh) 010D1830 mov ecx,eax 010D1832 call dword ptr [__imp_std::basic_ostream >::operator<< (010D90A4h)] 010D1838 cmp esi,esp 010D183A call __RTC_CheckEsp (010D111Dh) return 0; 010D183F xor eax,eax } 010D1841 pop edi } 010D1842 pop esi 010D1843 pop ebx 010D1844 add esp,0DCh 010D184A cmp ebp,esp 010D184C call __RTC_CheckEsp (010D111Dh) 010D1851 mov esp,ebp 010D1853 pop ebp 010D1854 ret (2)赋值 转换为被赋值对象的类型,但不会改变赋值对象的数据类型。 eg: [cpp] view plain copy #include

(完整版)实验2基本数据类型与数组

民族学院实验报告 计算机科学系级班指导教师 报告人20 年月日成绩 课程 名称JAVA语言程序设计 实验名称实验二基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换 2.掌握JAVA中数组的使用 实验仪器 和器材 具有JDK环境的计算机一台 实验内容 和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java程序代码,运行该程序时在命令窗 口中输出希腊字母表。其运行效果如图2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int)cStart; //cStart做int型数据转换,并将结果赋值给startPosition endPosition=(int)cEnd; //cEnd做int型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main方法中增加语句:

C++基本数据类型转换

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 doubleatof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include main() { char *a=”-100.23”; char *b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 执行 c=-98.23 atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include

定义函数 intatoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值 返回转换后的整型数。 附加说明 atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include mian() { char a*+=”-100”; ch ar b*+=”456”; int c; c=atoi(a)+atoi(b); printf(c=%d\n”,c); } 执行 c=356 atol(将字符串转换成长整型数) 相关函数 atof,atoi,strtod,strtol,strtoul 表头文件 #include 定义函数 longatol(const char *nptr); 函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值 返回转换后的长整型数。 附加说明 atol()与使用strtol(nptr,(char**)NULL,10);结果相同。 范例

相关主题
文本预览
相关文档 最新文档