前言
数据类型和常用运算符
一、数据类型
1.了解Java中的数据类型
Java是强类型的语言,在定义变量是,需要声明数据类型,在Java中主要分为两种数据类型:
基本数据类型和引用数据类型
2.基本数据类型
整数型: byte, short, int, long
浮点型:float,double
字符型:char
布尔型:boolean
其中整数型和浮点型又叫数值型,int ,double,long等都是java定义的关键字
Java中的基本数据类型的取值范围:
基本数据类型 | 大小 | 示例 | 取值范围 |
---|---|---|---|
boolean | 1字节,8位 | true | true、false |
byte | 1字节,8位有符号整数 | -12 | -128~+127 |
short | 2字节,16位有符号整数 | 100 | -32768~+32767 |
int | 4字节,32位有符号整数 | 12 | -2147483648~+2147483647 |
long | 8字节,64位有符号整数 | 1000 | -2147438648~+2147438647 |
char | 2字节,16位Unicode | ‘a’ | 0~65535 |
float | 4字节,32位浮点数(单精度) 有效数字6位 | 3.4f | -3.4E38~3.4E38 |
double | 8字节,64位浮点数(双精度) 有效15位 | -2.1e3D | -1.7E308~1.7E308 |
定义数据类型
运行结果
取值范围:
**注意:1.char类型占2个字节,采用Unicode:
(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、
编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为
每种语言中的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台
进行文本转换,处理的要求。
2.byte类型占1字节,是整数类型的一种。
3.所有的数据长度固定,不会因为硬件、软件系统不同而发生变化。
4.String类型不是基本数据类型、而是引用数据类型,它是Java提供的一个类。
5.八大基本数据的包装类:Byte,Integer、Short、Long、Float、Double、Character、Boolean
作用:1.作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
2.包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
6.Java中引用数据类型包含类、接口、和数组。
3.常量
概念:指Java中在程序运行中,不能改变量,称为常量
名称 | 举例 | 说明 |
---|---|---|
整数型常量 | 示例 | 超过int类型取值范围的,必须在整数后面加大写的英文 “L"或者小写的英文字母"l",才能作为long类型的整数处理,由于小写”l"和数字1容易混淆,所以一般选用大写的L。 |
浮点型常量 | 示例 | Java中的浮点型常量默认的是double,float需要在数字后面加大写的F或者小写的f |
布尔常量 | 示例 | 布尔常量只能为true或者false |
字符常 | 示例 | 字符常量占用2字节内存空间,转义字符常量都是不可显示字符;表示单引号、双引号、反斜杠时,再加一个”"即可 |
字符串常量 | 示例 | 要注意的是‘俞’和“俞”的区别,单引号是字符,双引号是字符串 |
null常量 | 示例 | null常量只有null一个值,可以把null常量赋给任意类型的引用类型 |
符号常量 | 示例 | final含义是指最终的、最后的、代表不能再变得。PI的值在下面的运算中不能被修改了,如果要改变PI的值,只能修改第一行自定义的PI的值 |
示例
4. 变量
概念:与常量相对应,指程序中运行值可以改变的量。它是java程序中存储的一个基本单元
变量的语法格式:
变量类型 变量名 =[初始值]
变量的类型可以在数据类型中选择的
“变量名”是定义变量的名称,要遵循表示符命名的规则
中括号里面的值的内容为初始值,可选项
需求:
使用变量存储数据,定义变量存储一个的微信网名
分析:
1.将常量赋值给变量即可以使 用
2.变量一定是先定义后使用
例
5.数据类型转换
概念:
不同的基本数据类型之间进行运算时,需要类型转换,除布尔类型外,所有的基本数据类型进行运算时要考虑类型转换,主要应用在算术运算和赋值运算中。
(1)算术运算时:
存储位数越多,类型级别越高。
示例:
判断以下列的输出结果的数据类型
5+6+7L+‘A’
5+5.6*4+‘A’
分析:
数字5和数字6是interesting类型的,7L是long类型的,‘A’是char类型。首先两个int类型相加,结果还int类型,,然后int类型和long类型相加,自动转换long类型,而long类型与char类型相加,结果依然long,所以第一个表达式的结果是个long类型。同理可以得:第二个表达式输出的结果类型double
不同的类型操作数,首先自动转换位表达式中最高级别的数据类型,运算结果就是最高的数据类型,简称低级别自动转换为高级别
6.赋值运算
类型转换分为自动类型转换和强制类型转换
(1)自动类型转换
将低级别的类型赋值给高级别的类型时进行的自动转换
(2)强制类型转换
将高级别的类型赋值给低级别的类型时,必须要进行的强制转换,在Java中,使用一对小括号进行表示强制类型转换。
注意:
进行强制转换的时候,可能存在精度丢失,当double类型进行强制转换为int类型时,会造成浮点型小数的丢失:
提示:
不仅基本数据类型可以进行类型转换,存在继承关系的引用数据类型也可以进行自动类型转换和强制类型转换。