第三章Java语言基础

本文介绍了Java的基本数据类型,包括整数类型(byte,short,int,long)、浮点类型(float,double)、字符型(char)和布尔型(boolean)。详细阐述了各种类型的取值范围、默认值以及在内存中占用的空间。此外,还讨论了变量与常量的概念,包括变量的声明、作用域以及常量的使用。同时,提到了浮点类型在表示精度上的特点以及类型转换的规则。
摘要由CSDN通过智能技术生成

一.基本数据类型

一基本数据类型

数值型整数类型(byte, short, int, long)浮点类型(float, double)
字符型char型转义字符
布尔型又称逻辑类型,boolean定义布尔类型变量。true和false两个值代表“真”和“假”

1.1逻辑类型:

常量:ture,false

变量:使用关键字声明逻辑变量,若不赋值默认为false  boolean ni=ture;

       例题1   代码:

 运行结果如下:

1:定义一个double变量height存储身高赋值为1.60

2:定义一个int变量weight存储体重赋值为48

3:定义一个double变量exponent存储BMI公式计算结果

4:打印输出赋予身高height的值

5:打印输出赋予体重weight的值

6:打印输出BMI计算后赋予exponent的值

7:打印输出判断结果

8:判断,如果exponent小于18.5,则第七步输出结果显示“体重过轻”

9:判断,如果exponent大于18.5并且小于24.9,则第七步输出结果显示“正常范围”

10:判断,如果exponent大于24.9并且小于29.9,则第七步输出结果显示“体重过重”

11:判断,如果exponent大于29.9,则第七步输出结果显示“肥胖”。
 

二.java八大类型数据

1.java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。

 2.各基本数据类型详解

byte:
 
    byte 数据类型是8位、有符号的,以二进制补码表示的整数;
    最小值是 -128(-2^7);
    最大值是 127(2^7-1);
    默认值是 0;
    byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
    占1个字节
 
short:
 
    short 数据类型是 16 位、有符号的以二进制补码表示的整数
    最小值是 -32768(-2^15);
    最大值是 32767(2^15 - 1);
    Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
    默认值是 0;
    占2个字节
 
int:
 
    int 数据类型是32位、有符号的以二进制补码表示的整数;
    最小值是 -2,147,483,648(-2^31);
    最大值是 2,147,483,647(2^31 - 1);
    一般地整型变量默认为 int 类型;
    默认值是 0 ;
    占4个字节
 
long:
 
    long 数据类型是 64 位、有符号的以二进制补码表示的整数;
    最小值是 -9,223,372,036,854,775,808(-2^63);
    最大值是 9,223,372,036,854,775,807(2^63 -1);
    这种类型主要使用在需要比较大整数的系统上;
    默认值是 0L;
    占8个字节
 
float:
 
    float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
    float 在储存大型浮点数组的时候可节省内存空间;
    默认值是 0.0f;
    浮点数不能用来表示精确的值,如货币;
    占4个字节
 
double:
 
    double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
    浮点数的默认类型为 double 类型;
    double类型同样不能表示精确的值,如货币;
    默认值是 0.0d
    占8个字节
 
boolean:
 
    boolean数据类型表示一位的信息;
    只有两个取值:true 和 false;
    这种类型只作为一种标志来记录 true/false 情况;
    默认值是 false;
    字节占用数并无精确定义,跟虚拟机具体实现有关系
 
char:
 
    char类型是一个单一的 16 位 Unicode 字符;
    最小值是 \u0000(即为 0);
    最大值是 \uffff(即为 65535);
    char 数据类型可以储存任何字符;
    占2个字节

3.浮点类型

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

例题2代码如下:

运行结果如下:

                                               浮点型数据类型

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

在默认情况下小数被看作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;

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

例题3代码如下:

   

 运行结果如下:

描述:定义一个boolean变量b1赋值为true\n\n定义一个boolean变量b2赋值为Boolean.FALSE\n\n打印输出赋予b1的值\n\n打印输出赋予b2的值

三.变量与常量

在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量都必须使用合法的标识符。有

1.标识符

标识符可以简单地理解为一个名字,是用来标识类名,变量名,方法名,数组名,文件名的有字符序列。

Java语言中规定标识符由任意顺序的字母,下画线(-),美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的关键字(保留字)。

下面合法标识符:               

name 

user_age

$page

非法标识符:4word       String     User name

2.声明变量

在程序运行过程中一直不会改变的变量的称为常量(constant),通常也被称为"final变量".

例题4下面的示例看出来变量

 运行结果如下:

描述:定义一个int变量age赋值为23\n\n定义一个double变量PI赋值为3.14\n\n定义一个int变量number赋值为1235\n\n打印输出赋予number的值\n\n打印输出赋予age的值\n\n打印输出赋予

 3.变量的有效范围

一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

1.1成员变量

在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可以分为两种,即静态变量和实例变量。

1.2局部变量

在类的方法体中声明的变量(方法的内部定义,"{"与“}" 之间的代码中声明的变量)称为局部变量。                               就近原则

在项目中创建类Val,分别定义名称相同的局部变量与成员变量,当名称相同时成员变量将被隐藏。

例题5代码如下

 运行结果如下:

4.标识符:标识符可以简单地理解为一个名字,是用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。Java语言规定标识符由任意顺序的字母、下划线(___)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的关键字(保留字)。\n\n关键字:关键字又称保留字,是Java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用。\n\n声明变量:变量的使用是程序设计中一个十分重要的环节。声明变量就是告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以是没有赋值,也可以直接赋给初值。\n\n声明常量:在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为“final变量”。常量在整个程序中只能被赋值一次。

.3字符类型\n\n(1)char型:字符类型(char)用于存储单个字符,占用16(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符。但是“s”则表示一个字符串,虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符。\n\n例题3.3查看字符与Unicode互转结果。

包声明:一个JAVA应用程序是由若干个类组成的.在例题3.1中就是一个类名为Frist的类,语句package Number为声明该类所在的包,package为包的关键字。\n声明成员变量和局部变量:通常将类的属性称为类的全局变量(成员变量),将方法中的属性称为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。在例题3.1中,s1是成员变量,s2是局部变量。

例题6.代码如下:

 运行结果如下:

 

 

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

 运行结果如下

 

4.2自增和自减运算符:自增、自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整形或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算。放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)。(符号在前先运算再使用,符号再后先试用再运算。)\n\n比较运算符:比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。所有比较运算符通常作为判断的依据用在条件语句

例题8.代码如下

 运行结果如下:

                                                        4.3 数据类型的转换\n\n隐式类型

4.3 数据类型的转换\n\n隐式类型转换,也叫自动类型转换,从低级类型向高级类型转换,一定不会丢失数据\n\n显式类型转换,也叫强制类型转换,把高精度的变量值赋给低精度的变量,有可能丢失数据。转换时需要添加被转换类名.

                                                       4.4. boolean\nboolean数据类型

boolean\nboolean数据类型表示一位的信息。\n\n只有两个取值:true和false\n\n这种类型只作为一种标志来记录true/false情况\n\n默认值:false\n\n包装类:Boolean\n\n自动类型转换\n指不需要编写代码,有系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所有Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。\n\n转换规则:从存储范围小的类型到存储范围大的类型。\n\n具体规则:byte -> short(char)-> int -> long -> float -> double。\n\n举例说明:byte类型的变量可以自动转换为short类型,\n\nbyte b = 11;\n\nshort sh = b;\n\n这里在给sh赋值时,JVM首先将变量b的值转换成short类型然后再赋值给sh。\n\n当然,在类型转换的时候可以跳跃,也就是byte可以自动转换为int类型,\n\n注意,在整数之间进行类型转换时数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型时,由于存储精度不同,可能会存在数据精度的损失。

例题9代码如下

 运行结果如下:

                                                        4.5隐式类型转换

4.5隐式类型转换(自动类型转换,一定不会丢失数据):从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这些类型按精度从低到高的顺序为byte\u003Cshort\u003Cint\u003Clong\u003Cfloat\u003Cdouble。\n\n使用隐式转换提升数值精度 

例题10代码如下

 运行结果如下:

                                    5.     位运算符

位运算符\n位运算符除了“按位与”和“按位或”运算符外,其他只能用于处理整数的操作数,包括byte,short,char,int和long等数据类型,\n\n位运算是完全针对位方面的操作;\n\n按位与运算\t都是1才是1\n按位或运算\t有1就是1\n按位取反运算\t1为0,0位1\n按位异或运算\t两者相同为0,不同为1\n除上述运算符,还可以对数据按二进制位进行移位操作。

整体左移,后位补0,溢出去掉\n>>(右移)\t整体右移,整数补0,负数补1,溢出去掉\n>>>(无符号位移)\t整体右移,空位补0,溢出去掉\n三。

最后,在java代码,中关键字与关键字之间如果有多个空格,这些空格均被视作一个。\n\n4、为了方便日后的维护,不要使用技术性很高,难懂,易混淆判断的语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值