数据类型 与 运算符

**

基本数据类型

 [1]   整数型
	 byte           1B      8位         -128到127 
	 short          2B     16位       
	 int              4B      32位       
	 long           8B      64位      
	  
  [2]  浮点类型  
     float            4B       32位
     double        8B       64位

  [3]  字符类型
      char           2B        16位

  [4]  布尔型  
      boolean     1B        false/true

(1) Java中的自动类型提升问题.
正向过程: 从低字节到高字节可以自动转换.
byte->short->int->long->flaot->double
逆向过程: 从高字节到低字节用强制类型转换.
例: int a = (int) 3.14
注: 逆向转换将会失去精度.

(2) boolean : 只有true 和 false.
char: java中用 "\u位十六进制的数字(即使在注释中出现\u,后面如果跟的不是4个数字,也会报错) "表示将字母转换成对应的unicode编码,"字符类型要用单引号括起来.

(3) 默认浮点类型为double,float数据类型有一个后缀位 f 或 F .

(4) long类型有一个后缀, 为 L.

类 接口 数组

引用类型 变量名 = new 引用类型名 (参数);
new后面一般跟的都是类的构造器
成员: 写在类体括号里面的
自动类型提升:

> byte a  = 1; 
byte b  = 2;
 a = a + b;     // 编译出错自动类型提升成int 
 a + = b ;  //自加没有自动类型提升问题
> 

类型自动提升规则;
a和b作某种运算:
a和b中有double 结果就是 double
a和b中有float, 结果就是float
a和b中有long, 结果就是long
除此之外,结果都是int.
把高字节转化低字节,需要做强制类型转换: byte c =(byte)a + b

在这里插入图片描述

运算符

运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。

[1] 算术
单目:~(按位取反)、! (取非)、-(负号运算符)、 ++(自增)、 - -(自减)、
双目:+ - * / %(取余)
三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
关系
等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= 。
位与逻辑
位运算符 与(&)、非(~)、或(|)、异或(^)
&:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.如:1010&1101,转为二进制:1111110010&10001001101,比较结果为:1000000转为十进制: 64。所以1010&1101=64;
| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
:两边的位不同时,结果为1,否则为0.如11001010=0110
逻辑运算符
与(&&)、非(!)、或(||)
赋值
= += -= *= /= %= &= ^= |= <<= >>=
instanceof
该运算符是双目运算符,左面的操作元是一个对象,右面是一个类或接口。当左面的对象是右面的类(或右边类的子孙类)创建的对象、或者是右边接口的实现类(或实现类的子孙类)的对象时,该运算符运算结果是true,否则是false。
运算符综述
Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。
位移
<< 带符号左移 >>带符号右移 >>> 无符号右移
运算符优先级
按优先级从高到低排列如下:[ ] ( ) ++ – ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值