java 学习笔记day3 运算符

1、基本数据类型转换之向上转型和向下转换
向上转换:
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型可自动转换为容量大的数据类型;
byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
boolean 类型是不可以转换为其他基本数据类型。
Eg:
int i = 123;
long l = i;	//自动转换,不需强转
float f = 3.14F;
double d = f;

向下转换:
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型可自动转换为容量大的数据类型;
byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
boolean 类型是不可以转换为其他基本数据类型。
Eg:
long l = 123L;
int i = (int) l;//必须强转
double d = 3.14;
float f = (float) d;

我的总结:类型转化
小转大,自动!自动类型转换(也叫隐式类型转换)  
大转小,强转!强制类型转换(也叫显式类型转换) 

2、Java的运算符
运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种: 

算术运算符(+ 、- 、* 、/ 、%)
赋值运算符(= 、+=、-=、*=、/=,、%=)
关系运算符(>、>=、<、<=、!=)
条件运算符(&&、||、!&、|、^)
位运算符(&、|、^、~、>>、<<、<<<、>>>)

我的总结:
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
“ ^ ”与“|”不同之处是:当左右都为true时,"^"结果为false。

3、表达式和三目运算符
是由数字、运算符、数字分组符号(括号)等以能求得数值的有意义排列的序列;
a + b
3.14 + a
(x + y) * z + 100
boolean b= i < 10 && (i%10 != 0)
表达式的类型和值:
	对表达式中操作数进行运算得到的结果是表达式的值。
	表达式值的数据类型即为表达式的类型。
表达式的运算顺序
应按照运算符的优先级从高到低的顺序进行;
优先级相同的运算符按照事先约定的结合方向进行;


“三目运算符”,语法格式:
		x ? y : z;
其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算符的结果是表达式y的值,否则就是z的值。

package reviewDemo;

public class Demo2 {
	public static void main(String[] args) {
		String  s = "lz";
		s = (s == "lz" ? "正确" : "错误");
		System.out.println(s);
	}
}
输出:正确
 
推论:

左移规律

         3<<2=12;        3<<1=6;          3<<3=24;

         3*4=12;              3*2=6;         3*8=24;

         3*22=12;      3*21=6         3*23=24;

结论往左移几位就是乘以2的几次幂。

 

右移规律

         6>>2=1;             6>>1=3;

         6/4=1;              6/2=3;

右移两位就是除以 2的2次方,右移一位就是除以 2的一次方。

 

总结:>>是除以2的移动位数次幂,<<是乘以2的移动位数次幂。

 

注意:最快的运算是位运算。

4、表达式

4.1、表达式简介

表达式是由操作数和运算符按一定的语法形式组成的符号序列,组合在一起计算出一个新的值。

(1)一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;

(2)表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。

 

例子:

         x                          num1+num2                       a*(b+c)+d

         3.14                    x<=(y+z)                      x&&y||z


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值