五、Java基本数据类型

——————————————————————————————————————————————————

Java基本数据类型

在Java中有8种基本数据类型来存储数值、字符和布尔值。
在这里插入图片描述

——————————————————————————————————————————————————

1.1.整数类型

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

在这里插入图片描述

分别介绍4种整型数据类型。

——————————————————————————————————————————————————

1.1.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在计算机中是这样显示的:
在这里插入图片描述
int型是Java整型值的默认数据类型。当对多个尚未定义数据类型的整数做运算时,运算的结果将默认为int类型。

例如:
在这里插入图片描述.
等同于如下代码
在这里插入图片描述

——————————————————————————————————————————————————

1.1.2.byte型

byte型的定义方式与int型的定义方式相同。定义byte类型变量:

    byte a;                                  
    byte a, b, c                            
    byte a = 19,b = -45                     

——————————————————————————————————————————————————

1.1.3.short型

short型的定义方式与int型的定义方式相同。定义short类型变量:

    short s;
    short s, t, r;
    short s = 1000, t = -19;
    short s = 20000 / 10;                                 

——————————————————————————————————————————————————

1.1.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种表达形式,十进制、八进制、十六进制。
除了数字0,不能以0作为其他十进制数的开头。
八进制数必须以0开头。
十六进制数必须以0X或0x开头。

——————————————————————————————————————————————————

1.2.浮点类型

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

在这里插入图片描述

在默认情况下,小数都被看作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指数。

在这里插入图片描述
运行结果如下:

在这里插入图片描述

——————————————————————————————————————————————————

1.3.字符类型

——————————————————————————————————————————————————

1.3.1.char型

字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要用单引号表示,如’s’表示一个字符。但是"s"则表示一个字符串。

使用char关键字可定义字符变量,语法如下:

    char x = 'a';

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

    char x = 97;

同C和C++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xffff),因此Java中的字符几乎可以处理所有国家的语言文字。若想得到一个0~65536的数所代表的Unicode表中相应位置上的字符,必须使用char型显式转换。

例2:查看字符与Unicode码互转的结果

在项目中创建类char01,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置输出到控制台上。

在这里插入图片描述
运行结果如下:
在这里插入图片描述

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

——————————————————————————————————————————————————

1.3.2.转义字符

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

在这里插入图片描述

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。

例3:输出’'字符和’★’字符

在这里插入图片描述

运行结果如下:
在这里插入图片描述

——————————————————————————————————————————————————

1.4.布尔类型

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

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

训练1:统计粮仓的粮食 一个圆柱形粮仓,底面直径为10米,高为3米,该粮仓体积为多少立方米?如果每立方米屯粮750千克,该粮仓一共可储存多少千克粮食?

思路:首先要知道体积的计算公式
定义半径和高,套用公式后进行输出结果。

package sevenbus;

public class liangcang {
public static void main (String [] args){
int rad = 10/2; //地面半径
int height = 3 ; //高
double volume = 3.14 * (radrad) * 3; //计算公式体积=π半径2次方*高
double volume1=volume * 750 ;
System.out.println( “该粮仓的体积为:” +volume+“立方米”);
System.out.println(“该粮仓一共可储存:”+volume1+“千克粮食”);
}
}
在这里插入图片描述
在这里插入图片描述

训练2:谁该缴税 员工a与员工b的月薪分别为4500元和5500元,判断哪位员工需要缴纳个人所得税,哪位员工不需要缴纳个人所得税。(假设工资、薪金所得的个税起征点为5000元)

思路:用个税起征点5000和员工a/b做比较。

package sevenbus;

public class geshui1 {
public static void main(String[] args) {
int salaryA = 4500;
int salaryB = 5500;
int standard = 5000;
System.out.println(“员工a的月薪为4500元,员工a是否需要缴税:” + (standard < salaryA));
System.out.println(“员工b的月薪为5500元,员工b是否需要缴税:” + (standard < salaryB));
}
}
在这里插入图片描述
在这里插入图片描述
代码都是比较灵活的,在来一种。

package sevenbus;
public class geshui1 {
public static void main(String[] args) {
int salaryA = 4500;
int salaryB = 5500;
int salaryC = 5000;
if (salaryA <= salaryC) {
System.out.println(“员工A工资为:” + salaryA + “,” + “不需要缴纳个税.”);
}
if (salaryB <= salaryC) {
System.out.println(“员工B工资为:” + salaryB + “,” + “不需要缴纳个税.”);
}
}
}
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值