当前位置: 首页 > news >正文

2.2基本数据类型

        在Java中有8种基本数据类型来存储数值、字符和布尔值。

2.2.1整数类型

        整数类型简称整型,用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整型数据根据它所占内存大小的不同,可分为byte、short、int和long 4种类型。它们具有不同的取值范围,如表1所示。

表1整型数据类型

数据类型内存空间(8位等于1字节)取值范围
byte8位-128~127
short16位-32768~32767
int32位-2147483648~2147483647
long64位-9223372036854775808~9223372036854775807

        下面分别对这4种整型数据类型进行介绍。

1.int型

        定义int型变量有以下4种语法:

int x;        //定义int型变量x

int x,y;        //同时定义int型变量x,y

int x = 10,y = -5;        //同时定义int型变量x,y并赋予初值

int x = 5 + 23;        //定义int型变量x,并赋予公式(5+23)计算结果的初值

        int型变量在内存中占4字节,也就是32位,在计算机中bit是由0和1来表示的,所以int型值5在计算机中是这样显示的:

00000000000000000000000000000101

        int型是Java整型值的默认数据类型。当对多个尚未定义数据类型的整数做运算时,运算的结果将默认为int类型。例如,下面这行代码:

System.out.println(15 + 20);        //输出35

        等同于如下代码:

int a = 15;

int b = 20;

int c = a + b;

System.out.println(c);        //输出35

2.byte型

        byte型的定义方式与int相同。定义byte类型变量,代码如下:

byte a;

byte a,b,c;

byte a = 19,b = -45;

3.short型

        short型的定义方式与int相同。定义short类型变量,代码如下:

short s;

short s,t,r;

short s = 1000,t = -19;

short s = 20000 / 10;

4.long型

        由于long型的取值范围比int型大,且属于高精度数据类型,所以在赋值时要和int型做出区分,需要在整数后加L或者l(小写的L)。定义long类型变量,代码如下:

long number;

long number,rum;

long number = 12345678l,rum = -987654321L;

long number = 123456789L*987654321L;

注意:整数在Java程序中有3种表示形式,分别为十进制、八进制和十六进制:
(1)十进制:十进制的表现形式大家都很熟悉,如120、0、-127。除了数字0,不能以0作为其他十进制数的开头。
(2)八进制:如0123(转换成十进制数为83)、-0123(转换成十进制数为-83)。八进制数必须以0开头。
(3)十六进制:如0x25(转换成十进制数为37)、0Xb01e(转换成十进制数为45086)。十六进制数必须以0X或0x开头。

2.2.2浮点类型

        浮点类型简称浮点型,用来存储含有小数部分的数值。Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),它们具有不同的取值范围,如表2所示。

表2浮点型数据类型

数据类型内存空间(8位等于1字节)取值范围
float32位1.4E-45~3.4028235E38
double64位4.9E-324~1.7976931348623157E308

        在默认情况下小数都被看作double型,若想使用float型小数,则需要在小数后面添加F或f。另外,可以使用后缀d或D来明确表明这是一个double类型数据,但加不加d或D并没有硬性规定。而定义float型变量时,如果不加F或f,系统会认为是double类型数据,进而出错。定义浮点类型变量,代码如下:

float f1 = 13.23f;

double d1 = 4562.12d;

double d2 = 45678.1564;

误区警示:浮点值属于近似值,在系统中运算后的结果可能与实际有偏差。

        【例1】根据身高体重计算BMI指数
创建BMIexponent类,声明double型变量height来记录身高,单位为米;声明int型变量weight记录体重,单位为千克;根据BMI=体重/(身高×身高)计算BMI指数。实例代码如下:

public class BMlexponent{public static void main(String[] args){double height =1.72;    //身高变量,单位:米int weight =70;    //体重变量,单位:千克double exponent =weight/(height*height);    //BMI计算公式System.out.println("您的身高为:"+height);System.out.println("您的体重为:"+weight);System.out.println("您的BMI指数为:"+exponent);System.out.print("您的体重属于:");if(exponent < 18.5){    //判断BMI指数是否小于18.5System.out.println("体重过轻");}if(exponent >= 18.5 && exponent < 24.9){    //判断BMI指数是否在18.5到24.9之间System.out.println("正常范围");} if(exponent >= 24.9 && exponent < 29.9){    //判断BMI指数是否在24.9到29.9之间System.out.println("体重过重");}if(exponent > 29.9){    //判断BMI指数是否大于29.9System.out.println("肥胖");}  }
}                                                                                                                

运行结果如下:
您的身高为:1.72

您的体重为:70

您的BMI指数为:23.661438615467823

您的体重属于:正常范围

2.2.3字符类型

1.char型

        字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符。但是“s”则表示一个字符串,虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符。
使用char关键字可定义字符变量,其语法如下:

charx = 'a';

        由于字符a在Unicode表中的排序位置是97,因此允许将上面的语句写成:

charx = 97;

        同C和C++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xfff),所以Java中的字符几乎可以处理所有国家的语言文字。若想得到一个0~65536的数所代表的Unicode表中相应位置上的字符,也必须使用char型显式转换。
【例2】查看字符与Unicode码互转的结果
在项目中创建类Gess,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。

public class Gess{    //定义类public static void main(String[] args){    //主方法char word = 'd',word2 = '@';    //定义char型变量int p = 23045,p2 = 45213;    //定义int型变量System.out.println("d在Unicode表中的顺序位置是:"+(int)word);System.out.println("@在Unicode表中的顺序位置是:"+(int)word2);System.out.println("Unicode表中的第23045位是:"+(char)p);System.out.println("Unicode表中的第45213位是:"+(char)p2);}
}

运行结果如下:
d在Unicode表中的顺序位置是:100

@在Unicode表中的顺序位置是:64

Unicode表中的第23045位是:鿕
Unicode表中的第45213位是:낝

        String类型为字符串类型,可以用来保存由多个字符组成的文本内容,其用法与字符类型类似,但文本内容需要用双引号标注。

2.转义字符

        转义字符是一种特殊的字符变量,它以反斜杠“\”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。例如,printf函数的格式串中用到的“\n”就是一个转义字符,意思是“回车换行”。Java中的转义字符如表3所示。


表3转义字符

转义字符含义
\ddd1~3位八进制数据所表示的字符,如\123
\uxxxx4位十六进制数据所表示的字符,如\u0052
\'单引号字符
\\反斜杠字符
\t垂直制表符,将光标移到下一个制表符的位置
\r回车
\n换行
\b退格
\f换页

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。
【例3】输出'\'字符和'★'字符

        '\'字符的转移字符为'\\',★'字符的Unicode码为2605,实例代码如下:

public class Demo{public static void main(String[] args){char c1 = '\\';    //将转义字符'\\'赋值给变量c1char char1 = '\u2605';    //将转义字符"u2605’赋值给变量char1System.out.println(c1);    //输出结果\System.out.println(char1);    //输出结果★}
}

运行结果如下:

\

2.2.4布尔类型

        布尔类型又称逻辑类型,简称布尔型,通过关键字boolean来定义布尔类型变量。布尔类型只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中,作为判断条件。定义布尔类型变量,代码如下:

boolean b;        //定义布尔型变量b

boolean b1,b2;        //定义布尔型变量b1、b2

boolean b=true;        //定义布尔型变量b,并赋给初值true

http://www.dtcms.com/a/471045.html

相关文章:

  • 新手小白,想看懂任何交易平台的交易
  • seo的网站特征全网营销系统是不是传销
  • 灯饰外贸网站青岛软件开发公司排名
  • A Density Clustering-Based CFAR Algorithm for Ship Detection in SAR Images
  • 初识RL(Reinforcement Learning,强化学习)
  • 自己做网站需要学什么软件下载云主机有什么用
  • 网站名称可以更换吗网络营销方式如何体现其连接功能及顾客价值
  • 天府新区规划建设国土局网站黑彩网站怎么建设
  • 百度网站收录提交做出网站
  • 记录两种好用常用的xpath定位方式
  • 怎么选一个适合自己的网站国外建站网址
  • 国外主题网站seo最新快速排名
  • 网站类型定位分析网站建设160页答案
  • spring webflux
  • 福永网站设计设计常用网站
  • 如何免费建设自己稳定的网站网络班级网站建设
  • 命名管道 vs 匿名管道的内核缓冲区区别
  • 基于MATLAB生成雷达脉冲信号
  • 百度网盘 13.11.4 | 支持倍速播放,去除广告及冗余功能,界面简洁,体积小巧
  • 牛客算法_数组
  • 怎样建立自己购物网站阿里云gpu服务器租用费用
  • 浙江省网站备案时间手机网站开发 宽度
  • 计算学习理论:周志华《机器学习》中的理论基石
  • 怎么做 社区网站首页wordpress报表
  • 建个网站需要多少钱圣宝电动车大架号在哪里做有后台的网站
  • linux学习笔记(26)计算机网络基础
  • 网站建设与维护书籍推荐魔方网站建设网站制作
  • h5网站要多久工商注册名称核准
  • Spring Boot 3零基础教程,依赖管理机制,笔记06
  • 做网站得花多少钱wordpress 百度推广