Java数据类型和运算符

标识符

作用:

常量、变量、方法、类和包等的名称

命名规则:

必须以字母、_下划线、美元符$开头。

其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合

大小写敏感,长度无限制。

不可以是Java的关键字。

注意:

Java不采用通常语言使用的ASCII字符集

Java采用unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉 字等等。(不建议大家使用汉字来定义标识符!)

 关键字/保留字

Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。 保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。 识别java语言的关键字,不要和其他语言如c/c++的关键字混淆。 const和goto是java的保留字。

字符集简介 

ASCII

英文字符集1个字节

ISO8859-1

西欧字符集1个字节

BIG5

 台湾的大五码,表示繁体汉字2个字节

GB2312

大陆使用最早、最广的简体中文字符集2个字节

GBK

GB2312的扩展,可以表示繁体中文2个字节

GB18030

最新GBK的扩展,可以表示汉字、维吾尔文、藏文等中华民族字符2个字节

Unicode

国际通用字符集2个字节

Java基本数据类型 

Java是一种强类型语言

  • 常量是有数据类型的
  • 变量都必须声明其数据类型

常量和变量

  •  Java是一种强类型语言,每个变量都必须声明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
  • 变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:typevarName[=value] [{,varName[=value]}] ;

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。

 变量声明举例:

  • double salary;
  • boolean done;
  • long earthPopulation ;
  • int age ;

可以在一行中声明多个变量:

  • int i ,j; // both areintegers–不提倡这种风格,逐一声明每一个变量可以提高程序可读性。
  • 可以将变量的声明和初始化放在同一行中,例如:int age = 18;    float e = 2.718281828f;

整形数据类型

整形数据类型一共有四种,按照保存的范围由小到大分别是:duet、short、int 、long ,在Java里面任何一个的整形常量其默认的类型都是int型,声明long型常量可以后加‘I’或‘L’(建议使用大写,小写容易误认为数字1)

 浮点型数据类

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数双精度浮点数浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围

取值范围

指数和尾数

由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于 float 类型,偏差为 127;对于 double 类型,偏差为 1023。您可以通过将指数值减去偏差值来计算实际指数值。

存储为二进制分数的尾数大于或等于 1 且小于 2。对于 float 和 double 类型,最高有效位位置的尾数中有一个隐含的前导 1,这样,尾数实际上分别为 24 和 53 位长,即使最高有效位从未存储在内存中也是如此。

浮点包可以将二进制浮点数存储为非标准化数,而不使用刚刚介绍的存储方法。“非标准化数”是带有保留指数值的非零浮点数,其中尾数的最高有效位为 0。通过使用非标准化格式,浮点数的范围可以扩展,但会失去精度。您无法控制浮点数以标准化形式还是非标准化形式表示;浮点包决定了表示形式。浮点包从不使用非标准化形式,除非指数变为小于可以标准化形式表示的最小值。

字符数据类型

  • 单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,“A”表示含有一个字符的字符串。
  • char 类型用来表示在Unicode编码表中的字符。
  • Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;ASCII码占1个字节,可允许有128个字符(最高位是0),是Unicode编码表中前128个字符。
  • Java语言中还允许使用转义字符‘\’ 来将其后的字符转变为其它的含义,char c2 = '\n';//代表换行符
  • char类型在内存中存储的是该字符的Unicode编码值,所以char类型可以当做int类型来处理

布尔数据类型

  • boolean类型有两个值,true和false

  • boolean 类型用来判断逻辑条件,一般用于程序流程控制 

final 常量

使用final修饰的变量,只能被初始化一次,变成了常量。

final常量是有名称的 

 命名规则(规范)

所有变量、方法、类名:见名知意

变量、方法名:首字母小写和驼峰原则–run(), runRun(),ageageNewmonthSalary

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则:Man, GoodMan

运算符

Java语言支持如下运算符:

算术运算符:+,-,*,/,%,++,

赋值运算符=扩展赋值运算符:+=,-=,*=,/=

关系运算符:>,<,>=,<=,==,!=

逻辑运算符:&&,||,!

位运算符:&,|,^,~ ,>>,<<,>>> 

条件运算符?:

算术运算符 

二元运算符类型提升:

整数运算:

  • 如果两个操作数有一个为Long, 则结果也为long
  • 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
  • 浮点运算:如果两个操作数有一个为double,则结果为double.
  • 只有两个操作数都是float, 则结果才为float.

 赋值运算符

基本赋值运算符:=

扩展赋值运算符:算术运算符和赋值运算符结合

 关系运算符 

关系运算符用来进行比较运算

关系运算的结果是布尔值:true/false 

注意 :区分==和= 

           不等于是!=不是<> 

逻辑运算符

逻辑运算符与布尔操作数一起使用,组成逻辑表达式

逻辑表达式的结果是布尔值

&和&&的区别

       “&”:无论任何情况,“&”两边的表达式都会参与计算。

       “&&”: 当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false

“|”和“||”的区别与“&”和“&&”的区别类似。

 位运算符

  • 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。
  • 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结 果也为int。 

 条件运算符

语法格式:x?y:z    唯一的三目运算符

执行过程:其中x 为boolean 类型表达式,先计算x 的值,若为true,则整个三目运算的结果为表达式y 的值,否则整个运算结果为表达式z 的值。

经常用来代替简单的if-else判断!

运算符的优先级

 

 基本数据类型之间的转换

  • 在赋值运算或算术运算时,要求数据类型相同,否则要进行类型转换
  • 转换方式:自动转换,强制转换
  • 除boolean类型外,所有的基本数据类型因为各自的精度不同,赋值时都要考虑这个问题
  • 除boolean类型外,所有的基本数据类型包括:整型,浮点型,字符型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值