欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javaDay01_2

程序员文章站 2022-03-25 21:40:51
package zrs; public class Demo3 { public static void main(String[] args) { //运算符的学习,运算符有哪些就不一一列举了,直说一些坑 //运算符的特殊的两个:++ 和 -- 这两个运算符叫做加加和减减 int a=3,b,c; ......

package zrs;

public class demo3 {
public static void main(string[] args) {
//运算符的学习,运算符有哪些就不一一列举了,直说一些坑
//运算符的特殊的两个:++ 和 -- 这两个运算符叫做加加和减减
int a=3,b,c;
//这是加加 加加前置,就是先将a+1然后在将其结果赋值给c
c=++a;
system.out.println("a="+a+",c="+c); //输出结果a=4,c=4
//这是加加的后置 就是先将a的值赋值给b,然后a在+1
/* ++后置的详细解释代码
* int temp=a;
* a=a+1;
* b=temp;
* */
b=a++;
system.out.println("a="+a+",b="+b); //输出结果a=4,b=3
//注意:为了避免不必要的麻烦,一般建议将++前置,--同理

//+ 号还可以作为字符串的连接符
system.out.println("--------------------------------");
system.out.println(5+5); //输出结果 10
system.out.println("--------------------------------");
system.out.println("5"+5);//输出结果55
//当字符串和其他类型的值相加时,+号就起连接作用,使他们变成新的字符串
system.out.println("--------------------------------");
//赋值运算符= += -= *= /=
short s1=1;
s1+=4;//因为他是赋值运算符,为自动转换类型
system.out.println("s1="+s1); //编译运行成功,输出的结果为5,建议使用在int上,其他的丢失精度会很麻烦
// s1=s1+4;
// system.out.println("s1="+s1); //编译失败,报错,这是因为s1+4在做运算的时候,将s1的类型自动提升为int了,就可能丢失精度

//比较运算符== >= <= != 比较运算符只会有两个结果,要么为true,要么为false
system.out.println(3==4); //输出结果为false 注意判断两个值是不是一样,使用的是两个等号,这个!=叫做不等于

//逻辑运算符
/*
* & : 两边为真则都为真,只要有一边为假,就都为假
* | : 只要一边为真就为真,两边为假才为假
* ^ : 异或,两边相同为false,不同为true
* ! : !true=false,!false=true
*
*
* */
//双与 ,双非 逻辑运算符
//当y=1
//y>3 & y<6 这时候,先判断y是否大于3,不管为真还是为假,都会判断y是否小于6,两边都会参与运算
//y>3 && y<6 这时候,先判断y是否大于3,如果为假,那么y<6就不会执行,直接为假,这就是所谓的短路,
//注意,在需要两边都进行判断运算的时候,推荐使用一个&
// | : 两边都参与运算
// || : 当左边为 真 的时候,右边就不参与运算,直接为真,这也是短路

//位运算就是右移是除以2的幂运算,右移几位就是除以2的几次幂 ,移出的位舍弃,原来最高位是啥就补啥(这样才能保证数的正负)
//6>>2 就相当于 6/2^2=1
//位运算的左移就是乘以2的幂运算,左移几位就是乘以2的几次幂,后面直接补0,前面移出的位直接舍弃
// 6<<2 就相当于 6*2^2=24

// 无符号右移 >>> 无论是正数还是负数(无论原来的最高位是什么) ,差的哪一位直接补零

//二进制位的也可以使用&(&) |(或) ^(异或) ~(取反) 来运算
// &运算
/* 011
* &101
* ------------
* 001
* */

// |运算
/* 011
* |101
* ------------
* 111
* */

// ^运算
/* 110
* ^011
* ------------
* 101
*
* 101
* ^011
* -------------
* 110
* 任何一个数与另一个数同时异或运算两次,那么结果就还是这个数
* */

}
}