韩顺平30天学java 3-算术运算符

算数运算符

运算符介绍

运算符是一种特殊的符号,用以表示数据的运算,赋值和比较等

算数运算符

需要注意的运算符

运算符运算范例结果
++自增(前):先运算后取值a = 2 ; b = ++aa = 3; b = 3
++自增(后):先取值后运算a = 2 ; b = a++a = 3; b = 2
自减(前):先运算后取值a = 2 ; b = --aa = 1; b = 1
自减(后):先取值后运算a = 2 ; b = a–a = 1; b = 2
+字符串相加“hsp” + “edu”“hsp edu”

算数运算符的使用

除法的使用
System.out.println(10/4); //2
System.out.println(10.0/4); // 2.5
double d = 10/4;  //2.0
System.out.println(d);  // 2.0
取余的使用
  • java取余的本质 a % b = a - a / b * b

  • python和java取余的区别

  • java取余

System.out.println(10%3); //1
System.out.println(-10%3); // -1, 10/-3 = -3
System.out.println(10%-3); //1 
System.out.println(-10%-3); //-1 , -10/-3 = 3
  • python取余
10 % 3 = 1 
-10 % 3 = 2
10 % -3 = -2
-10 % -3 = -1
  • java遵循的取整方式为:向零取整,python遵循的取整方式为:向下取整
自增的使用
  • 作为独立语句使用时,前++和后++都完全等价于 i = i + 1
  • 作为表达式使用时:
    • 前++: ++i 先自增后赋值
    • 后++: i++ 先赋值后自增
int j = 8;
int k = ++j; //等价 j = j +1, k = j
System.out.println("k=" +k + "j=" + j);   // 9,9
int j = 8;
int k = j++; //等价 k = j; j = j+1
System.out.println("k=" +k + "j=" + j);   // 8  ,9

算术运算符练习

  1. 面试题1
int i = 1;
i = i++; //规则使用临时变量:(1) temp=i; (2) i = i+1 ; (3)i = temp
System.out.println(i); //1
  1. 面试题2
int i = 1;
i = ++i; //规则使用临时变量: (1) i = i+1 ; (w) temp=i; (3)i = temp
System.out.println(i); //2

关系运算符(比较运算符)

  • 介绍
    • 关系运算符的结果都是boolean型
    • 关系表达式经常用在if结构的条件中或循环结构的条件中

逻辑运算符

  • 介绍
    • 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean
  • 逻辑运算符一览
  1. 短路与 &&, 短路或 || , 取反 !
  2. 逻辑与 &, 逻辑或 |, ^ 逻辑异或
aba&ba&&ba或ba短路或b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse
  • && 和 &使用区别
    • &&短路与:如果第一个条件为False,则第二个条件不会判断,最终结果为false,效率高
    • &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
int a = 4;
int b = 9;
if(a < 1 && ++b < 50){ 
    System.out.println("ok");
} // 第一个条件为false,后面的不会执行
System.out.println("a=" + a + " b=" + b) ;  // a = 4; b = 9
  • ||和|使用区别

    • ||短路或:如果第一个结果为true,后面的不会判断
  • 逻辑异或^, 当 a 和 b 不同时,则结果为true, 否则为false

赋值运算符

  • 注意事项
    • 复合赋值运算符会进行类型转换
byte b = 3;
b += 2; //等价 b = (byte)(b+2)
b ++; // b = (byte)(b+1)

三元运算符

三元运算符介绍

  • 基本语法

条件表达式 ? 表达式1:表达式2;

  1. 如果条件表达式为true,运算后的结果是表达式1
  2. 如果条件表达式为false,运算后的结果是表达式2
int a = 10;
int b = 99;
//  1. a > b为false
// 2. 返回b--, 先返回b的值,然后再b-1
int result = a > b ? a++ : b--;
System.out.println("result=" + result); // 99

三元运算符细节

  • 表达式1和表达式2要为可以赋给接受变量的类型(或者可以自动转换,或者强制转换)

运算符优先级

  1. (),{}等
  2. 单目运行 ++ –
  3. 算术运算符
  4. 位移运算符
  5. 比较运算符
  6. 逻辑运算符
  7. 三元运算符
  8. 赋值运算符

标识符

标识符规则

  • 标识符概念

    • java对各种变量,方法和类等命名时使用的字符序列成为标识符
    • 凡是自己可以起名字的地方都叫标识符
  • 标识符的命名规则

    • 由26个英文字母大小写,0-9,_或$组成
    • 数字不可以开头
    • 不可以使用关键字和保留字,但能包含关键字和保留字
    • java中严格区分大小写,长度无限制
    • 标识符不能包含空格

标识符规范

  1. 包名: 多单词组成时所有字母都小写
  2. 类名、接口名:多单词组成时,所有单词的首字母大写
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。 例如 tankShotGame
  4. 常量名:所有字母都大写,不同单词之间用下划线连接

键盘输入

import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入名字);
String name = myScanner.next();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xsdgfdjsjsk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值