JAVA运算符

一、算术运算符

1、整数运算

 byte a = 1;
 int b = 2;
 long c = 3;
 long f = c+a;
 int m = a+b;

int + byte = int  有long结果为long

long + int = long  无long结果为int

2、取余运算 

//取余  余数部分符号与第一个数相同
long c = -10;
long m = c % -4;
long f = 8;
long n = f % 4;

 // a++与++a的区分

二、赋值及其扩展赋值运算符

    int a = 1;   
    int b = 2;
    a += b;  //a = a+b
    a %= b; //a = a%b
    a /= b;  //a = a/b
    a *= b;  //a = a*b

 

三、逻辑运算符

 逻辑与短路的区别:逻辑两边数据都判断才给结果;短路从左到右,左边符合要求不管右边是否正确就直接返回true或false

 

 四、位运算符

 用二进制法运算:

    int a = 4;
    int b = 3;
    System.out.println(a|b); //7
    System.out.println(a&b); // 0
    System.out.println(a^b); // 7
    System.out.println(~a);  // -5(?)
    System.out.println(a<<2); // 16,左移两位 a*2*2 == 16
    System.out.println(a>>2);  // 1,右移两位,a/2/2

 五、字符串连接符

+ 可以将int变成String拼接

    int a = 4;
    String b = "3";
    int c = 5;
    char d = 'a'; 
    System.out.println(a+b); // 43
    System.out.println(a+b+c) // 435
    System.out.println(a+c+b)  //93
    System.out.println(d+a)  //a的ascll码97 + 4 = 101

六、条件运算符 

x ? y : z    若x为true,结果为y;若x为false,结果为z

    	int score = 4;
    	int x = -100;
    	String type = score<60?"不及格":"及格";
    	int flag = x > 0? 1:(x == 0?0:-1);
    	System.out.println("type="+type);
    	System.out.println("flag="+flag);

七、 运算符优先级问题

逻辑非>逻辑与>逻辑或

a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c 

 

 八、自动类型转换

 范围小的可以赋值给范围大的,上图上虚线可能会出现精度不准确等情况

    	int a = 4;
    	long c = a;  
    	double d = c;
    	long e = d;   //double不能放在long类型里
    	byte b = a;  //int类型不能赋值给byte类型

 

九、强制类型转换 

遵从小范围类型赋值给大范围类型

不能在布尔类型和任何数值类型之间做强制类型转换

    double c = 97.4444;
    int d = (char)c+1;
    int cd = (int)c;  //精度不准确为97
    char f = (char)c;
    System.out.println(f);  // a
    System.out.println(d);  // 98
    	

十、基本类型溢出问题

int a = 10000000000;
int b = 99;
int c = a*b;  //最后放在int类型溢出
long d = a*b;  //前面a已经溢出来,最后用long接收仍会报错
long e = (long)a*b;  //正确,先把一个强制转化为long最后出来的数值为long
long f = 10000000000L*99; //正确

十一、 简单的键盘输入和输出

    	Scanner scanner = new Scanner(System.in);
    	System.out.println("请输入你的名字:");
    	String name = scanner.nextLine();  //用String接收
    	System.out.println("请输入你的年龄:");
    	int age = scanner.nextInt();       //用int接收
    	System.out.println("your name is "+name);
    	System.out.println("your age is "+age);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值