当前位置:文档之家› 第二章JAVA的基本数据类型

第二章JAVA的基本数据类型

第二章JAVA的基本数据类型
第二章JAVA的基本数据类型

第2章Java的基本数据类型

本章试验的主要任务是正确理解和掌握Java基本类型数据的使用方法,包括:掌握各种不同类型数据之间的转换规则、运算规则;学会使用Java运算符、表达式,掌握运算符的优先级、表达式的运算规则。

2.1 实验一:Java 的基本类型数据的应用

1. 实验目的

1) 了解Java的基本数据类型的特点;

2) 掌握各种类型变量的声明、赋值、转换及运算方式。

2. 实验要求

编写并实现程序,完成对基本类型变量的声明、赋值,并对变量进行简单运算输出运算结果。

3. 实验内容

实验示例 2.1.1. 在程序中实现对整型变量的定义、赋值、运算并输出运算结果。执行程序并分析运算结果。

使用Jcreator开发工具完成实验,其操作步骤如下:

⑴执行JCreator,进入JCreator开发环境窗口;

⑵为了方便起见,关闭一些视图窗口,只留下编辑和常规输出(Build Output)窗口(如图2-1所示);

⑶执行“File”→“New”菜单下的“File…”项,在“File Wizard”对话框的文件名栏中输入“Practice2_1”,根据需要,可以改变文件路径。一般来说,可以创建一个文件夹,用该文件夹来存放你开发程序,例如E:\javaTest;

⑷新建文件后,在编辑窗口输入如图2-1中所示的java程序源代码;

⑸完成代码的输入之后,执行“Build”菜单中的“Compile File”命令项或单击工具栏上的编译按钮编译源程序文件;

⑹完成编译之后,执行“Build”菜单中的“Execute File”命令项或单击工具栏上的运行程序按钮执行程序。执行结果如图2-2所示。

下边我们来分析一下程序及程序的输出结果:

在程序中,定义了两个字节(byte)变量b1和b2、两个短整型(shortt)变量s1和s2、两个整型(int)变量i1和i2、两个长整数变量(long)l1和l2,并分别对它们进行了简单的赋值运算。最后分别输出它们的十进制值,s1的二进制表示形式的值,l2十六进制表示形式的值。

对变量的赋值和输出,必须注意以下几点:

①只能将整型同级或较低级变量的值和不超出允许范围的整常数赋给整型变量;若直接将浮点类型变量、浮点常数和超出范围的整常数值赋给整型变量,在编译时,将产生“可能损失精度”的错误。

图0-2 JCreator开发环境窗口

②可以直接给变量赋予十进制或八进制或十六进制常数值,但在输出时,系统默认为10进制方式,若要以其他方式(2进制、8进制或16进制)输出,则必须使用相关封装类的相应方法转换完成。例如,在程序中输出s1(300)的二进制表示形式的值使用了Integer类的toBinaryString()方法,输出l2(65535)十六进制表示形式的值使用了Long类的toHexString()方法。

图0-2 Practice2-1-1程序执行结果

③为了输出结果的清晰性,一般在输出表达式中加入必要的文字描述,系统将采用字符串连接的方式进行输出。

实验示例 2.1.2. 在程序中实现对浮点变量的定义、赋值、运算并输出运算结果。执行程序并分析运算结果。

实现本示例的操作步骤如下:

⑴执行“File”→“New”菜单下的“File…”项,在“File Wizard”对话框的文件名栏中输入“Practice2_1_2”;

⑵新建文件后,在编辑窗口输入如下的java程序源代码:

/*这是一个简单的Java示例程序

*它的功能是浮点数据类型变量之间的赋值、运算及转换输出

*程序的名字为Practice2_1_2.java

*/

import java.io.*;

public class Practice2_1_2

{

public static void main(String args[])

{

float f1,f2=100.569F; //定义4个字节长的浮点变量f1,f2,f2=100.569

double d1,d2=0.187e+100; //定义8个字节长的双精度变量d1,d2,d2=0.187e+100 d1=(double)f2; //将f2的值强制转换为double值后赋给d1

f1=(float)d2; //将d2的值强制转换为float值后赋给f1

System.out.println("float变量: f1="+f1 + " f2="+f2);

System.out.println("double变量: d1="+d1 + " d2="+d2);

}

}

⑶完成代码的输入之后,执行“Build”菜单中的“Compile File”命令项或单击工具栏上的编译按钮编译源程序文件;

⑷完成编译之后,执行“Build”菜单中的“Execute File”命令项或单击工具栏上的运行程序按钮执行程序。执行结果如图2-3所示。

图2-3 Practice2_1_2程序执行结果

下边我们来分析一下程序及程序的输出结果:

在程序中,我们定义了两个单精度浮点(float)变量和两个双精度浮点(double)变量,并分别对其进行了赋值和输出处理。从输出结果可以看出:

①在把双精度变量的值赋给单精度变量时,采用了强制转换的方式,例如语句:

f1=(float)d2;

如前所述,系统不能自动将高类型数转换为低类型数,如果不进行强制转换,在编译源程序代码时,会出现编译错误,不能生成字节码文件。需要指出的是,如果被转换的数值大于转换类型所表示的范围时,不能够获取其值。如输出结果所示:f1=Infinity。

②在把单精度变量的值赋给双精度变量时,也采用了强制转换的方式,例如语句:

d1=(double)f2;

从输出结果可以看出,d1=100.56900024414062,而不是100.569,这是因为,在计算机中的浮点运算实际上是一种高度的近似计算,近似计算是有误差的。这种误差在允许的范围之内。强制转换的过程实质上是一个计算过程。

注意:只有同类型数才能进行运算。

自由训练2.1 阅读、输入下边的程序:

/*这是一个简单的Java程序

*它的功能是基本数据类型变量之间的赋值、运算及转换输出

*程序的名字为Test2_1.java

*/

import java.io.*;

public class Test2_1

{

public static void main(String args[])

{

int i1=200,i2; //定义4个字节长的整型变量i1,i2. i1=200

float f1,f2=100.569F; //定义4个字节长的浮点变量f1,f2,f2=100.569

double d1,d2=3456.24; //定义8个字节长的双精度变量d1,d2,d2=3456.24

i2=f2; //将f2的值赋给i2

f1=d2; //将d2的值赋给f1

d1=i1; //将i1的值赋给d1

System.out.println("int 变量: i1="+i1 + " i2="+i2);

System.out.println("float变量: f1="+f1 + " f2="+f2);

System.out.println("double变量: d1="+d1 + " d2="+d2);

}

}

编译并执行程序,看有什么问题,若有问题,请解决问题并获得正确结果。

2.2 实验二:Java 的运算符及表达式的应用

1. 实验目的

1) 掌握Java的各种运算符的使用;

2) 掌握表达式的组成、运算的优先次序、及表达式的值;

2. 实验要求

编写并实现简单的、包括一些运算的Java应用程序。

3. 实验内容

在前边的实验中,使用JCreator开发环境,介绍了实现一个程序的详细步骤,在下边实验内容的介绍中,将不再重述建立文件等步骤,而直接以程序清单、程序运行和程序及结果分析等三步来进行。

实验示例2.2.1. 编写一个华氏和摄氏温度转换的程序。温度转换关系的公式为:F=9/5*C+32

其中C为摄氏温度,F为华氏温度。

实现本示例的操作步骤如下:

⑴建立Java 程序文件Practice2_2_1.java。程序清单如下:

/*这是一个简单的Java示例程序

*它的功能是华氏温度的计算

*程序的名字为Practice2_2_1.java

*/

public class Practice2_2_1

{

public static void main(String[] arguments)

{

float F,C; //定义存储华氏、摄氏温度的变量

F=85f; //假设华氏温度为85度

C=(F-32f)/9f*5f; //计算摄氏温度

System.out.println("与"+F+"度华氏温度对应的摄氏温度是"+C+"度\n");

C=40; //假定摄氏温度为40度

F=9f/5f*C+32f; //计算华氏温度

System.out.println("与"+C+"度摄氏温度对应的华氏温度是"+F+"度\n");

}

}

⑵编译程序,然后执行程序,输出如图2-4所示的结果。

图2-4 Practice2_2_1程序执行结果

⑶程序及程序的输出结果分析

在程序中,直接为变量F(C)赋予常数值,然后套用计算公式确定相应的C(F)值。由于将C和F定义为同一类型(float),所以在计算过程中不需要数值之间的转换。

在程序的语句表达式中使用了5f、9f这样的浮点常数,读者可以思考如下问题:

表达式5f/9f 的结果是多少?值是多少,值的类型是什么?

表达式5/9 的结果是多少?值是多少,值的类型是什么?

表达式 5.0/9 的结果是多少?值是多少,值的类型是什么?

实验示例2.2.2. 编写一个程序:判断一个整数,是奇数还是偶数,能否被3除尽。

实现本示例的操作步骤如下:

⑴建立Java 程序文件Practice2_2_2.java。程序清单如下:

/*这是一个简单的Java示例程序

*它的功能是计算一个整数的奇偶性,是否3的倍数

*程序的名字为Practice2_2_2.java

*/

public class Practice2_2_2

{

public static void main(String args[])

{

int x=273; //整数x 赋值3

boolean L1,L2 ; //定义布尔变量

L1=x%2==0; //判断x是否偶数

L2=x%3==0; //判断x是否3的倍数

System.out.println(x+"是偶数吗?结果是: " +L1);

System.out.println(x+"是3的倍数吗?结果是: " +L2);

}

}

⑵编译程序,然后执行程序,输出如图2-5所示的结果。

图2-5 Practice2_2_2程序执行结果

⑶程序及执行结果分析

在程序中仍然使用对话框输入数据,在获得输入的数据之后,使用了求余数运算来判断输入的整数是否是7的倍数,若x除以7被除尽,即余数为0,则布尔变量l的值为“true”,否则为“false”。这里使用了关系表达式“x%7==0”,根据x,它将产生“true”或“false”值。

实验示例2.2.3. 编写一个简单整数的二进制位运算程序,了解一下二进制的运算。

实现本示例的操作步骤如下:

⑴建立Java 程序文件Practice2_2_3.java。程序清单如下:

/*这是一个简单的Java示例程序

*它的功能是演示一下整数的二进制位运算

*程序的名字为Practice2_2_3.java

*/

public class Practice2_2_3

{

public static void main(String[] args)

{

byte b1=8,b2=64;

System.out.println(b1+" 的二进制表示:"+Integer.toBinaryString(b1));

System.out.println(b2+" 的二进制表示:"+Integer.toBinaryString(b2));

System.out.println("按位或运算: b1 | b2 = "+Integer.toBinaryString(b1|b2));

System.out.println("按位与运算: b1 & b2 = "+Integer.toBinaryString(b1&b2));

System.out.print("b1左移5位(b1<<5)="+Integer.toBinaryString(b1<<5));

System.out.println(" 其十进制值="+(b1<<5));

System.out.print("b2右移3位(b2>>3)="+Integer.toBinaryString(b2>>3));

System.out.println(" 其十进制值="+(b2>>3));

}

}

⑵编译程序,然后执行程序,出现如错误!未找到引用源。所示的输出结果。

图0-6 Practice2_2_3程序执行结果

⑶程序及执行结果分析

本程序主要演示整数的二进制位运算,从程序的执行结果看,所谓位运算实质上是按数据对应的二进制数据位进行处理的。

由于字节整数占1个字节,可以比较容易地核对其值。在以二进制形式显示时,系统省略了前导0。

在移位操作上,左移一位相当于乘2,右移一位相当于除2。由于处理的是正数(>0),在观看二进制结果时比较清晰,如果处理的是负数(<0),系统在内部采用补码形式处理,二进制结果看起来要费劲一些。

自由训练2.2 阅读并输入下边的程序:

/*这是一个简单的Java程序

*它的功能是计算表达式的值并输出

*程序的名字为Test2_2.java

*/

public class Test2_2

{

public static void main(String args[])

{

int i1=10,i2=5; //定义4个字节长的整型变量i1=10,i2=5

float x,y; //定义4个字节长的浮点变量x,y

double d1,d2=3; //定义8个字节长的双精度变量d1,d2

x=i1-i2; //将i1-i2赋给x

y=d2; //将d2赋给y

d1=(x+y)(x+y) ; //将(x+y)(x+y)的值赋给d1

d2=(x-y)(x+y); //将(x-y)(x+y)的值赋给d1

System.out.println("int 变量: i1="+i1 + " i2="+i2);

System.out.println("float变量: x="+x + " y="+y);

System.out.println("(x+y)(x+y)="+d1 + " (x+y)(x-y)="+d2); }

}

编译并执行程序,看有什么问题,若有问题,请解决问题并获得正确结果。自由训练2.3 阅读并输入下边的程序:

/*这是一个简单的Java程序

*它的功能是表达式值的验证

*程序的名字为Test2_3.java

*/

public class Test2_3

{

public static void main(String args[])

{

byte b1=127,b2=5; //定义字节变量b1=10,b2=5

short s1,s2,s3;

boolean l1,l2,l3;

s1=(b1&b2);

s2=(b1|b2);

s3=~b2;

l1=b1>b2;

l2=s1>s2;

l3=s3>s1;

System.out.print("byte变量二进制表示: b1="+Integer.toBinaryString(b1) + " b2="+Integer.toBinaryString(b2));

System.out.println(" 十进制表示: b1="+b1+ " b2="+b2);

System.out.print("二进制表示: s1=b1&b2="+ Integer.toBinaryString(s1));

System.out.println(" 十进制表示: s1="+s1);

System.out.print("二进制表示:s2=b1|b2="+ Integer.toBinaryString(s2));

System.out.println(" 十进制表示: s2="+s2);

System.out.print("二进制表示:s3=~b1="+ Integer.toBinaryString(s3));

System.out.println(" 十进制表示: s3="+s3);

System.out.println("l1=b1>b2="+l1);

System.out.println("l2=s1>s2="+l2);

System.out.println("l3=s3>s1="+l3);

}

}

编译并执行程序,若有问题,请解决问题。分析输出结果并验证各表达式的值。

思考题

⑴若:int x=8,y=9,z=10;

则表达式:x>y&&++y>=z 的值是什么?执行表达式后y的值是多少?

⑵若:float x=100f,y,z ;

则语句:y=5/8*(x-37.5);

z=(x-37.5)*5/8;

执行后,y和z的值一样么?为什么?

C++习题第02章 基本数据类型、运算符与表达式

第02章基本数据类型、运算符与表达式 1. 选择题 (1)在32位机中,int型字宽为()字节。 A) 2 B) 4 C) 6 D) 8 (2)下列十六进制的整型常数表示中,错误的是()。 A) 0xad B) 0X11 C)0xA D) 4ex (3)设n=10,i=4,则执行赋值运算n%=i-1后,n的值是()。 A) 0 B) 1 C) 2 D) 3 (4)若有a=2,b=4,c=5,则条件表达式a>b?a:b>c?a:c的值为()。 A) 0 B) 2 C) 4 D) 5 (5)若有a=1,b=2,则表达式++a==b的值为()。 A) 0 B) 1 C) 2 D) 3 2.简答题 (1)指出下列数据中哪些可作为C++的合法常数? (a) 588918 (b) 0129 (c) 0x88a (d) e-5 (e) ″A″ (f) .55 (g) ’\\’ (h) 0XCD (i) 8E7 (j) π (2)指出下列符号中那些可作为C++的合法变量名? (a) ab_c (b) β (c) 3xyz (d) if (e) cin (f) a+b (g) NAME (h) x! (i) _temp (j) main (3)根据要求求解下列各表达式的值或问题。 (a) (int)3.5+2.5 (b) (float)(5/2)>2.4 (c) 21/2+(0xa&15) (d) 设int i=10,则表达式i&&(i=0)&&(++i)的值是多少?该表达式运算结束后变量i的值为多少? (e) 设int a=1,b=2,c=3;,求表达式a

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,

Java中八种基本数据类型和八种封装数据类型

Java中八种基本数据类型和八种封装数据类型 初使值的求解过程及比较 作者:Zealjiang 1.八种基本数据类型 创建名为MemberTestBasic的java文件,其内容如下:public class MemberTestBasic { /** 八种基本类型 int, short, float ,double, long, boolean, byte, char */ int i; short s; float f; double d; long l; boolean bo; byte by; char c; public static void main(String[] args) { //创建对象m

MemberTestBasic m=new MemberTestBasic(); m.printMember(); } //为对象m创建一个printMember方法 public void printMember() { System.out.print("int->"+i+"\n"); System.out.print("short->"+s+"\n"); System.out.print("float->"+f+"\n"); System.out.print("double->"+d+"\n"); System.out.print("long->"+l+"\n"); System.out.print("boolean->"+bo+"\n"); System.out.print("byte->"+by+"\n"); System.out.print("char->"+c+"\n"); } } 运行结果如下:

C语言的基本数据类型及其表示

3.2C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1常量与变量 1.常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.410-38~3.41038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows98",可用下面两个宏定义命令: #define PAI3.1415927 #define W"Windows98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

第二章JAVA的基本数据类型

第2章Java的基本数据类型 本章试验的主要任务是正确理解和掌握Java基本类型数据的使用方法,包括:掌握各种不同类型数据之间的转换规则、运算规则;学会使用Java运算符、表达式,掌握运算符的优先级、表达式的运算规则。 2.1 实验一:Java 的基本类型数据的应用 1. 实验目的 1) 了解Java的基本数据类型的特点; 2) 掌握各种类型变量的声明、赋值、转换及运算方式。 2. 实验要求 编写并实现程序,完成对基本类型变量的声明、赋值,并对变量进行简单运算输出运算结果。 3. 实验内容 实验示例 2.1.1. 在程序中实现对整型变量的定义、赋值、运算并输出运算结果。执行程序并分析运算结果。 使用Jcreator开发工具完成实验,其操作步骤如下: ⑴执行JCreator,进入JCreator开发环境窗口; ⑵为了方便起见,关闭一些视图窗口,只留下编辑和常规输出(Build Output)窗口(如图2-1所示); ⑶执行“File”→“New”菜单下的“File…”项,在“File Wizard”对话框的文件名栏中输入“Practice2_1”,根据需要,可以改变文件路径。一般来说,可以创建一个文件夹,用该文件夹来存放你开发程序,例如E:\javaTest; ⑷新建文件后,在编辑窗口输入如图2-1中所示的java程序源代码; ⑸完成代码的输入之后,执行“Build”菜单中的“Compile File”命令项或单击工具栏上的编译按钮编译源程序文件; ⑹完成编译之后,执行“Build”菜单中的“Execute File”命令项或单击工具栏上的运行程序按钮执行程序。执行结果如图2-2所示。 下边我们来分析一下程序及程序的输出结果: 在程序中,定义了两个字节(byte)变量b1和b2、两个短整型(shortt)变量s1和s2、两个整型(int)变量i1和i2、两个长整数变量(long)l1和l2,并分别对它们进行了简单的赋值运算。最后分别输出它们的十进制值,s1的二进制表示形式的值,l2十六进制表示形式的值。

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小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

第二章数据类型

第二章数据类型 一、选择题 1.C语言中的标识符只能由字母、数字和下划线组成,且第一个字符( )。 A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母,数字和下划线中任一字符 2.VS2008作为开发环境,long、int和short这3种类型数据所占用内存大小的叙述中正确的( )。 A.均占4个字节 B.根据数据的大小来决定所占内存的字节数 C.由用户自己定义 D.由C语言编译系统决定 3.在C语言中,char型数据在内存中是以( )形式存储的。 A.原码 B. ASCII码 C.补码 D. EBCDIC码 4.以下不能定义为用户标识符的是( )。 A. Main B. _0 C. _int D. sizeof 5. 以下选项中关于C语言常量的叙述错误的是( )。 A.所谓常量,是指在程序运行过程中,其值不能被改变的量 B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可以定义成常量 6.在C语言中,合法的字符常量是( )。 A.“\x41” B.‘\x41’ C.‘ab’ D.“ab” 7.以下选项中不能用作C程序合法常量的是( )。 A.1,234 B.'123' C.123 D."\x7G" 8.下列符号可以作为变量名的是( )。 A. +a B. *p C._DAY D. next day 9.设c是字符变量,则以下表达式正确的是( )。 A. c=666 B. c=‘c’ C. c=“c” D. c=“abcd” 10.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是( )。 A.a=(b=4)=3; B.a=b=c+1; C.a=(b=4)+c; D.a=1+(b=c=4); 11.设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch.该表达式的值是( )。 A. A B. a C. Z D. z 12.int x=3,y=2;则表达式x+=x*=y+8的值为( )。

第二章数据类型.

第二章 Java 中的数据类型 本章知识要点 标识符 Java 注释 Java 数据类型 2.1 使用规范的标识符为变量命名: 2.1.1标识符命名规则: 在 Java 中,标识符用来为程序中的常量、变量、方法、类、接口和包命名 . Java 中的标识符有以下四种命名规则 : 1. 标识符由字母、数字、下划线 (_或美元符号 ($组成 . 2. 标识符的首字母由字母、下划线 (_或美元符号 ($开头,不能以数字开头 . 3. 标识符的命名不能与关键字、布尔值(true,false 和 null 相同。 4. 标识符区分大小写,没有长度限制,坚持见名知义的原则 .

2.1.2 关键字 : 关键字是 Java 语言保留的,为其定义了固定含义的特殊标识符 . 注意 :关键字全部为小写字母,程序员不能将关键字定义为标识符,否则出现编译错误 . Java 中定义的 48个关键字如下表所示 : 提示 : 见名知义的原则 : 是指在使用标识符命名时,要使用能反映被定义者含义或作用的字符。这样,其他人在阅读代码时通过名称就可以对程序有所理解。

驼峰命名法就是当使用标识符命名时,如果是由一个或多个单词连接在一起,第一个单词以小写字母开始,第二个单词的首字母大写或每一个单词的首字母都采用大写字母,这样的变量名看上去就像骆驼峰一样此起彼伏,故取名。如fileName,username. 2.2 使用注释对代码进行解释说明 注释是程序开发人员和程序阅读者之间交流的重要手段,是对代码的解释和说明。好的注释可以提高软件的可读性,减少软件的维护成本 . 在 Java 中,提供了 3种类型的注释 : 2.2.1 单行注释 单行注释指的是只能书写一行的注释,是最简单的注释类型,用于对代码进行简单的说明 . 当只有一行内容需要注释的时候,一般使用单行注释。在 Eclipse 中默认使用” Ctrl ” + “ /” , 可以快捷实现单行注释 . 单行注释的语法 : //单行注释 在语法中 单行注释使用“ //” 开头 . “ //”后面的内容都被认为是注释 . 注意:1. 单行注释不会被编译 2.“ //”不能放到被注释代码的前面,否则这行代码会被注释。 2.2.2 多行注释

a 基本数据类型

Java 中的基本数据类型 Java 中的数据类型可以分为两种: 基本数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 引用数据类型 可以说,除了基本类型以外的所有类型都是引用数据类型 主要包括类,接口,数组等 如下图所示 基本数据类型在内存中的分配 数据类型 基本数据类型 引用数据类型 数值型 字符型(char ) 布尔型(boolean ) 整数类型(byte, short, int, long ) 浮点类型(float, double ) 类(class ) 接口(interface ) 数组( [ ] )

注意!:表格里的^代表的是次方 基本数据类型的转换 有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。 1 自动转换 具体地讲,当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,再进行运算。而在方法调用时,实际参数较“小”,而被调用的方法的形式参数数据又较“大”时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将“小”数据转换成“大”数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最“接近”的“大”数据并进行调用。这些类型由“小”到“大”分别为(byte,short,char)--int--long--float—double。这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。 例如 byte b=10; int i=b;(将byte数据向int赋值时,完成了自动转换) char c=’A’; int i=c;(这时会将’A’对应的ASCII码值赋值给i) 2 强制转换 将“大”数据转换为“小”数据时,你可以使用强制类型转换。 例如: int n=(int)1.23456; 输出结果为1 可以想象,这种转换肯定可能会导致溢出或精度的下降。 注意

Java基本数据类型详解——全英文

Java Basic Data Types Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory. Based on the data type of a variable, the operating system allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to variables, you can store integers, decimals, or characters in these variables. There are two data types available in Java: 1.Primitive Data Types 2.Reference/Object Data Types Primitive Data Types: There are eight primitive data types supported by Java. Primitive data types are predefined by the language and named by a key word. Let us now look into detail about the eight primitive data types. byte: Byte data type is a 8-bit signed two.s complement integer. Minimum value is -128 (-2^7) Maximum value is 127 (inclusive)(2^7 -1) Default value is 0 Byte data type is used to save space in large arrays, mainly in place of integers, since a byte is four times smaller than an int. Example : byte a = 100 , byte b = -50 short: Short data type is a 16-bit signed two's complement integer. Minimum value is -32,768 (-2^15) Maximum value is 32,767(inclusive) (2^15 -1) Short data type can also be used to save memory as byte data type. A short is 2 times smaller than an int Default value is 0. Example : short s= 10000 , short r = -20000

第2章 基本数据类型-习题(C语言)

第2章基本数据类型 一.选择题 1.不合法的字符常量是【】。 A) ‘\t’B) “B” C) ‘a’ D)’\x32’ 2.合法的字符常量是【】。 A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’ 3.C语言提供的合法的数据类型关键字是【】。 A) Float B) Signed C) integer D)char 4.属于合法的C语言长整型常量的是【】。 A)2736 B)0L C)2E10 D)(long)5876273 5.下面选项中,不是合法整型常量的是【】。 A)160 B)-0xcdg C)-01 D)-0x48a 6.以下所列的C语言常量中,错误的是【】。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。 A)016 0x8f 018 B)0abc 017 0xa C)010 -0x11 0x16 D)0a12 7ff -123 8.下选项中不属于C语言的类型是【】。 A)signed short int B)unsigned long int B)unsigned int D)long short 9.判断int x = 0xaffb1。x的结果是【】。 A)赋值非法 B)溢出 C)为affb D)为ffbc 10.下面选项中,是合法浮点数的是【】。 A)+1e0.5 B)-.60 C)123e D)-e3 11.在C语言中,要求参加运算的数必须是整数的运算符是【】。 A)/ B)* C)% D) = 12.在C语言中,字符型数据在内存中存放形式是【】。 A)原码 B)BCD码 C)反码 D)ASCII码

第二章 数据类型(3)

C语言初学者入门讲座第二讲数据类型(3) 基本运算符和表达式 运算符的种类、优先级和结合性 C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使C语言功能十分完善。这也是C语言的主要特点之一。 C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。 运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+ +)、自减(--)共七种。 2.关系运算符 用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。 3.逻辑运算符 用于逻辑运算。包括与(&&)、或(||)、非(!)三种。 4.位操作运算符 参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。 5.赋值运算符 用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&

=,|=,^=,>>=,<<=)三类共十一种。 6.条件运算符 这是一个三目运算符,用于条件求值(?:)。 7.逗号运算符 用于把若干表达式组合成一个表达式(,)。 8.指针运算符 用于取内容(*)和取地址(&)二种运算。 9.求字节数运算符 用于计算数据类型所占的字节数(sizeof)。 10.特殊运算符 有括号(),下标[],成员(→,.)等几种。 优先级和结合性 C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时, 则按运算符的结合性所规定的结合方向处理。C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。 C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。 算术运算符和算术表达式基本的算术运算符 1.加法运算符“+”加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+ 8等。具有右结合性。 2.减法运算符“-”减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。

java基本数据类型练习题

1 . 用8位无符号二进制数能表示的最大十进制数为 ( C ) A. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有( B ) A. "e" B. 'f' C. '\u12' D. '\u0012' E. '\n' 3 . byte变量的取值范围是( B ) A. 0~65535 B. -128~127 C. -256-255 D. 0~32767 4. 以下选项中正确的有(AC ) A. int i = 32; B. float f = 45.32; C. double d=3.2; D. double d=9.21D; 5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是( D ) A. 3.5 B. 3 C. 2.0 D. 3.0 6 .下列对于>>和>>>操作符描述正确的是( ) A.当左面的操作数是正数时,>>和>>>结果相同。 B. B. (-1 >> 1)的结果是0。 C. C. (-1 >>> 1) 的结果是-1。 D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。 7 .有如下一段代码: 1)public class ReturnIt{ 2) returnType methodA(byte x, double y){ 3) return x/y*2; 4) } 5) } 在第2行中,方法methodA的有效返回类型returnType应该是?(D) A. int B. byte C. short D. double 8. 下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) float t=9.0f; 4) int q=5; 5) System.out.println((t++)*(--q)); 6) } 7)} A. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)} A. 2.5 B. 2.0 C. 2.50 D. 2 10. 下列代码的执行结果是( B ) 1)public class Beirun{ 2) public static void main(String args[]){

第二章 数据类型课后习题及答案

第二章数据类型课后习题 1.下列哪些是合法的变量名?如果合法,你认为它是一个好的助记符(能提醒你它的用途)吗? (a) stock_code 合法、好的助记符 (b) money$ 非法,$为非法字符 (c) Jan_Sales 合法、好的助记符 (d) X-RAY 非法,–为非法字符 (e) int 非法,int为关键字 (f) xyz 合法、不是好的助记符 (g) 1a 非法,变量名必须以字母或下划线打头 (h) invoice_total合法、好的助记符 (i) john's_exam_mark非法,’为非法字符 (j) default 非法,default为关键字 2.请确定下列常量的数据类型: (a) 'x' char (b) -39 int (c) 39.99 double (d) -39.0 double 3.下列哪些是合法的变量定义?

(a) integer account_code ; 非法,无integer类型 (b) float balance ; 合法 (c) decimal total ; 非法,无decimal类型 (d) int age ; 合法 (e) double int ; 非法,int为关键字,不能作为变量名 (f) char c ; 合法 4.写出下列各小题中的变量定义: (a) 整型变量number_of_transactions和age_in_years int number_of_transactions, age_in_years; (b) 单精度浮点型变量total_pay,tax_payment,distance和average float total_pay, tax_payment, distance, average; (c) 字符型变量account_type char account_type; (d) 双精度浮点型变量gross_pay double gross_pay; 5. 为下列各小题写出最合适的变量定义: (a) 班级中的学生人数int number_of_students; (b) 平均价格float average_price; (c) 自1900年1月1日以来的天数int days_since_1900; (d) 利率百分比float interest_rate;

基本数据类型的使用

数据类型、运算符和表达式 一、实验内容 1、写出一个程序测试用户系统中各种数据类型的长度。 #include int main(void) {printf(“字符类型数据的字长为%d\n”,sizeof(char)); printf(“短整型类型数据的字长为%d\n”,sizeof(short)); printf(“整型类型数据的字长为%d\n”,sizeof(int)); printf(“长整型类型数据的字长为%d\n”,sizeof(long)); printf(“浮点数类型数据的字长为%d\n”,sizeof(float)); printf(“双精度类型数据的字长为%d\n”,sizeof(double)); return 0; } 2、指出下面程序错误所在 #include main(); float r,s; r=5.0; s=3.14159*r*r; printf(“%f”,s); 3、常见转义字符对输出的控制作用。 main() { int a,b,c; a=5,b=6,c=7; printf("12345678123456781234567812345678\n"); /* 打印一个标尺以便检查输出结果*/ printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c); /* 打印1个字符串*/ printf("c:\\a.txt"); /* 打印一个文件名*/ printf("\n"); } 4、整型数据的溢出错误。 整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,会出现什么情况? main() { int a,b; a=32767; b=a+1; printf("a=%d,a+1=%d\n",a,b); a=-32768;

java中基本数据类型的取值范围

我们前面提到变量的声明格式:变量类型变量名; 这里我们学习JAVA的数据类型. 数据类型可以分为两大类: 1)基本类型; 2)扩展类型。 本节中,我们就一起来学习一下Java语言的基本数据类型。它包括类型描述取值范围 Boolean 布尔型只有两个值true、false Char 字符型 Byte 8位带符号整数 -128到127之间的任意整数 Short 16位无符号整数 -32768~32767之间的任意整数 Int 32位带符号整数 -2^31到2^31-1之间的任意整数 Long 64位带符号整数 -2^63到2^63-1之间的任意整数 Float 32位单精度浮点数根据IEEE754-1985标准 Double 64位双精度浮点数根据IEEE754-1985标准 一些提示: 不象其它程序设计语言,Java语言中的整型的位数是固定的,而不会根据硬件平台以及操作系统的不同而不同。 1> boolean型 在上一章的逻辑运算符中,我们就已经看到过了取值为true和false的变量,这种变量称为boolean型变量。 实例说明 源程序:test601.java public class test601 { public static void main(string args[]) { boolean x=true; boolean y=false; System.out.println("x&&y="+(x&&y)); System.out.println("x||y="+(x||y)); System.out.println("x^y="+(x^y)); System.out.println("!x="+(!x)); } }

java基本数据类型与其封装类

java基本数据类型与其封装类 1 Boolean VS boolean public final class Boolean extends [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Object.html]Object[/url]implements [url=file:///G:/html_zh_CN/html/zh_CN/api/java/io/Serializable.html]Serializable[/url], [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Comparable.html]Comparable[/url]<[url=fil e:///G:/html_zh_CN/html/zh_CN/api/java/lang/Boolean.html]Boolean[/url]> Boolean 类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。 此外,此类还为boolean和String的相互转换提供了许多方法,并提供了处理boolean时非常有用的其他一些常量和方法。 2 Byte VS byte public final class Byte extends [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Number.html]Number[/url]implements [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Comparable.html]Comparable[/url]<[url=fil e:///G:/html_zh_CN/html/zh_CN/api/java/lang/Byte.html]Byte[/url]> Byte类将基本类型byte的值包装在一个对象中。一个Byte类型的对象只包含一个类型为byte的字段。 此外,该类还为byte和String的相互转换提供了几种方法,并提供了处理byte时非常有用的其他一些常量和方法。 3 Character VS char public final class Character extends [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Object.html]Object[/url]implements [url=file:///G:/html_zh_CN/html/zh_CN/api/java/io/Serializable.html]Serializable[/url], [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Comparable.html]Comparable[/url]<[url=fil e:///G:/html_zh_CN/html/zh_CN/api/java/lang/Character.html]Character[/url]> Character类在对象中包装一个基本类型char的值。Character类型的对象包含类型为char的单个字段。 此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。 4 Double VS double public final class Double extends [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Number.html]Number[/url]implements [url=file:///G:/html_zh_CN/html/zh_CN/api/java/lang/Comparable.html]Comparable[/url]<[url=fil e:///G:/html_zh_CN/html/zh_CN/api/java/lang/Double.html]Double[/url]> Double类在对象中包装了一个基本类型double的值。每个Double类型的对象都包含一个double类型的字段。 此外,该类还提供了多个方法,可以将double转换为String,将String转换为double,还提供了其他一些处理double时有用的常量和方法。

第二章 基本数据类型

第二章基本数据类型 2.1数据概述 一、程序设计概述 一个程序应包括对数据的描述和对数据处理的描述。 1.对数据的描述,即数据结构。数据结构是计算机学科的核心课程之一,有许多专门著作论述,本课程就不再赘述。在C语言中,系统提供的数据结构,是以数据类型的形式出现的。 2.对数据处理的描述,即计算机算法。算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:数据结构+ 算法= 程序 实际上,一个程序除了数据结构和算法外,还必须使用一种计算机语言,并采用结构化方法来表示 二C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下: 1.基本类型分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据。 三常量和变量 1 常量 常量的概念:在程序运行过程中,其值不能被改变的量称为常量。 常量的分类 (1)整型常量(2)实型常量 (3)字符常量。(4)符号常量。 常量的类型,可通过书写形式来判别。 2 变量 变量的概念:在程序运行过程中,其值可以被改变的量称为变量。 变量的两个要素 (1)变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 变量要先定义后使用 变量定义的格式:类型说明符变量名;多个变量之间可以用逗号隔开 先定义:1)确定变量的数据类型2)分配存储空间3)决定能做的运算 变量的赋值变量名=值、表达式、函数调用 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。在TC V2.0中,变量名(标识符)的有效长度

基本数据类型

S7-300的数据类型分以下三种: 基本数据类型、复合数据类型和参数类型。 一、基本数据类型 1、位(bit) 常称为BOOL(布尔型),只有两个值:0或1。 如:I0.0,Q0.1,M0.0,V0.1等。 2、字节(Byte)一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。 3、字(Word) 相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。 如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。 需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。 字的范围为十六进制的0000~FFFF(即十进制的0~65536)。 在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。 4、双字(Double Word) 相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。 如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。 需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。 双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。 在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。 以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。 5、16位整数(INT,Integer) 整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768~32767。 6、32位整数(DINT,Double Integer) 32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。 范围为-2147483648~2147483647。 7、浮点数(R,Real) 浮点数为32位,可以用来表示小数。浮点数可以为:1.m×2e ,其存储结构如图所示:

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