Java基础程序设计---数据类型
1. Java数据类型可分为:基本数据类型和引用数据类型
2. 基本数据类型有:Boolean、byte、char、short、int、long、float、double
3. Java中的基本数据类型关系
类型名 |
占字节数 |
占位数 |
应用的例子 |
byte |
1 |
8 |
表示一个人请假的次数(-128~127) |
short |
2 |
16 |
表示一个大学的老师数(-32768~32767) |
int |
4 |
32 |
常用的整数都能表示(正负2亿左右) |
long |
8 |
64 |
可以表示很大的数字(比如从1970到现在的毫秒数) |
float |
4 |
32 |
(1.401298e-45至3.402823e+38) (有效小数位6-7位) (通常后面加F)因为可以用科学计数法所有表示的范围比long还要大 |
double |
8 |
64 |
(4.900000e-324至1.797693e+308) (有效小数位15位) |
char |
2 |
16 |
装这个地球上任何一个符号(符号、字母、汉字等等)。 |
boolean |
2 |
16 |
只有true /false 没有像C语言那样有0/1的表示 |
整数(java中整数会根据前面的变量自动匹配)
n 字节 (byte) (一个字节占8位)
o 专门储存位数据
o 占一个字节 (-128至127)(-1*2的七次方 ~ 2的七次方)
n 短整数(short)(占2个字节)(-32768至32767)
n 整数(int)(占4个字节)(-2147483648至2147483647)
n 长整数(long)(占8个字节)(通常后面加L)
(-9223372036854775808至9223372036854775807)
o 浮点数(java存放浮点型默认用的就是double)
n 浮点数(float)(占4个字节) (通常后面加F)
(1.401298e-45至3.402823e+38) (有效小数位6-7位)
n 双精度浮点数(double)(占8个字节) (通常后面加D)
(4.900000e-324至1.797693e+308) (有效小数位15位)
o 字符 (char)
n 采Unicode编码(unicode(统一编码)就是地球上各种语言的编码集合。说白了就是什么字符都能装)
n 前128个字符编码与ASCII编码兼容
n 每个字符数据类型占两个字节
n 可储存的字符范围由'\u0000'到'\uFFFF‘
n 无论是一个数字,一个字母还是一个汉字或者是一个符号在Java中都是一个字符,字符用单引号引起 ‘A’ ‘1’ ‘你’
o 布尔型 (boolean)
n 占内存2个字节
n 可储存true与false两个数值,在Java中布尔型只有true和false两个值,没有0和1,yes和no.
变量的声明和使用
为了在Java中存储一个数据,必须将它容纳在一个变量之中(变量是java程序中的基本存储单元)。而数据类型决定了一个变量可以赋给什么值以及对变量进行什么样的操作。
我们将 变量类型变量名变量值称之为变量的三要素。
Java是强类型语言,在Java中使用变量必须先声明数据类型与变量名称。(相对于强类型语言,有的语言是弱类型如后面将要学习的JavaScript)
变量名只能有字母、下划线、$、数字组成并且不能以数字开头而且不能是java中的关键字。定义变量力争做到见其名知其意。
我们通过“变量类型 变量名;”来声明变量,通过“变量名=变量值;”来给变量赋值。当然你也可以通过 “变量类型 变量名=变量值;”在一行内声明加赋值。如果你要声明几个同样类型的变量,可以将几个变量的声明放在一行,只不过变量中间要用逗号分开。“变量类型 变量名,变量名,变量名,……;”。如果你想赋值的话也可以“变量类型 变量名=变量值,变量名=变量值,变量名=变量值,……;”
变量名通常小写驼峰式命名
Java的注释解释
Java的中的注释分单行注释,多行注释,文档注释
单行注释://注释
多行注释:/*注释*/
文档注释:/**文档注释内容*/
多行注释可以嵌套单行注释
4.数据的默认类型
在java中整数默认是int类型
int age = 0;在java中int的默认类型是常量
在java中,一个小数默认是double类型
double b = 0.0;
数据转型
自动转型(从低精度到高精度自动转型)
在同一个表达式中,如一个操作数的类型和另个一个操作数的类型不同,那么结果将为精度较高的那个数据类型(即低精度到高精度自动转型)
强制转型(从高精度到低精度需要强制转型)
如果要从一个高精度的类型强制转换为低精度的类型,则需要强制转型。
强制转换要注意以下三点:
转换的源数据类型和目标数据类型要兼容
浮点类型转化为整数类型的时候,将直接舍去小数信息(截去)。
高精度数据类型转为低精度数据类型的时候可能会有数据溢出或者精度有损的情况。
如果书写如下的代码:
代码将无法编译:提示如下
出现以上提示的原因是:因为一个小数默认是double类型,double的取值要比float大,所以会存在精度丢失的情况。那么可以通过一下两种方式来解决问题:
数据类型转换的口诀为:
5.运算符
注意 1、加号 在数据运算中表示数字相加。在字符串参与时表示字符串相连接
2、/ 当整数除整数时表示取模(取整),有一个为浮点型(则结果为浮点型)
(即整型和整型(/,%)运算结果一定为整数)(有浮点型参与的运算(/,%)结果为浮点型)
3、注意byte,short,char的运算时得到的结果会被默认为int类型(因为int为系统的默认的整数类型)
6.比较运算符
这六种比较数据类型适合所有基本数据类型之间的比较,比较的结果是个布尔型。(布尔型只能和布尔型之间比较)
7.条件运算符(又称三元运算符)
8.逻辑运算符
逻辑运算符两侧必须是布尔型数据(逻辑运算符单侧运算如果一侧成立了另一侧将不被执行 例如比较式1&&比较2如果比较式1为false则比较式2将不会进行比较)
9.位运算
(1)、请说出2的3次效率最高的方法
10.递增运算和递减运算符(自运算)
(注意:递增和递减运算符一定是要写在变量上 如:++8这是不可以的)
将递增或递减运算符写在变量之前,是先加一(减一)运算,然后赋值。 (先加后用)
将递增或递减运算符写在变量之后,是先赋值,然后进行加一(减一)运算。
(先用后加)
11.自运算符列表
自运算和正常赋值运算(在结果转型方面小有差别:自运算可实现自动转型)