java学习03

一:运算后结果的数据类型

byte short char 不能直接参加运算 需要自动提升为int

		byte b1=1,b2=1;
		short s1=1,s2=1;
		char c1=1,c2=1;
//		b1=b1+b2;//Type mismatch: cannot convert from int to byte
//		         //byte+byte=int
//		b1=b1+s1;//byte+short=int
//		b1=s1+c1;//short+char=int

运算后结果的数据类型取决于精度最高的数据

二: 运算符

2.1 算术运算符

已有的算术运算符:+ - * /
java特有的算术运算符:
	       1:+  
	       2: % 
	       3:++ --
  • +作为加法号
System.out.println(1+1);//加法运算
  • +作为正号
System.out.println(+1-(+2)-(-1));//表示正负
  • 作为字符串连接符
System.out.println("12"+1+2);//"1212"
//字符串:打印输出语句中 带双引号的就是字符串
//字符串连接符:字符串前后的+就是字符串连接符
System.out.println(3+"abc"+1+2);//3+"abc"==="3abc"+1==="3abc1"+2==="3abc12"
//运算时 从左到右逐个运算
//任何数据与字符串连接 都是形成一个新的字符串
System.out.println("abc"+'a'+1.1+true+1+1.0f);
System.out.println(1/2);//0
System.out.println(1.0/2);
System.out.println('a'+'b');//195
System.out.println((char)('a'+'b'));

int a=1,b=2;
//a=1
System.out.println("a="+a);
//a=1,b=2
System.out.println("a="+a+",b="+b);
//a=1,b=2,a+b=3
System.out.println("a="+a+",b="+b+",a+b="+(a+b));
System.out.println("a="+a+",b="+b+",a+b="+(a+b)+"");
  • % 求余 取模
//% 求余 取模
System.out.println("7%3="+(7%3));//1
System.out.println("8%3="+(8%3));//2
System.out.println("10%3="+(10%3));//1
System.out.println("2%3="+(2%3));//2
System.out.println("3%3="+(3%3));//0
//n%m= n除以m 得到一个整数  除不尽的那部分
//n%m 结果的取值范围 [0,m)
System.out.println("6.4%2.0="+(6.4%2.0));//0.4
System.out.println("-6.4%2.0="+(-6.4%2.0));//-0.4
System.out.println("6.4%(-2.0)="+(6.4%(-2.0)));//0.4
System.out.println("-6.4%(-2.0)="+(-6.4%(-2.0)));//-0.4
//余数是被除数的一部分  余数的正负取决于被除数
  • ++自增 – 自减
//++自增 --自减
a=1;
a++;//等价于a=a+1;
System.out.println("a="+a);
byte b0=1;
b0++;//b++;完全等价于b=(b的类型)(b+1);

2.2 赋值运算符

            /*赋值运算符
            *已有的:=  把右边的值赋值给左边的变量
            *java特有的:+= -=  /=  %= *=
            * */
int a=1,b=2;
a+=b;//等价于a=a+b;
System.out.println("a="+a+",b="+b);
byte b1=1,b2=2;
b1+=b2;//a+=b 完全等价于:a=(a的类型)(a+b);

2.3 比较运算符

             /*比较运算符:结果是boolean类型的值
			 *已有的:> >=  < <=
			 *特有的:==  恒等号   判断两边的值是不是相等
			 *       !=  不等号   判断两边的值是不是不相等
			 * */
System.out.println(1>2);
System.out.println(1==2);
System.out.println(1!=2);

2.4 逻辑运算符

			/*逻辑运算符:只能操作boolean数据  结果是boolean类型的数据
			 * &  单与      
			 * && 双与   and
			 *       两边只要有一个false 结果就是false
			 * |  单或
			 * || 双或   or
			 *       两边只要有一个true  结果就是true
			 * ^  异或
			 *       两边不同则为true  两边相同则为false
			 * !  取反 非  
			 */
System.out.println("测试&");
System.out.println("true&false="+(true&false));//false
System.out.println("false&false="+(false&false));//false
System.out.println("true&true="+(true&true));//true
System.out.println("false&true="+(false&true));//false

int a=1,b=2,c=3;
System.out.println(a>b&&a>c);//判断a是最大的
System.out.println((a-b)*(a-c)<0);//a是中间值
System.out.println((a>b&&a<c)||(a>c&&a<b));//a是中间值

2.5 位运算符

            /*位运算符:(了解)
			 *    |   &    >>   <<
			 *    位运算符操作的是整数的二进制
			 *    0作为false 1作为true
			 */
System.out.println("(15|2)="+(15|2));//15
System.out.println("(15&2)="+(15&2));//2
System.out.println("(15<<2)="+(15<<2));//60
System.out.println("(15>>2)="+(15>>2));//3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值