运算符是一种特殊的符号,用以表示数据的运算、赋值和比较;包括算术运算符,赋值运算符,关系运算符(比较运算符),逻辑运算符,位运算符(需要二进制基础),三元运算符
4.1.1 算术运算符*重点:取模运算
取模运算:在java中 % 的本质应该看成一个公式a % b = a - a / b * b;
System.out.println(10 % 3); //1 代入公式a % b = a - (int)a / b * b System.out.println(-10 % 3);//-1 System.out.println(10 % -3);//1 System.out.println(-10 % -3);//-1
int i = 1; i = i++; System.out.println(i);//输出结果i=1,先赋值在自增 int i = 1; i = ++i; System.out.println(i);//输出结果i=2,先自增后赋值4.1.2 关系运算符
关系运算符一览
4.1.3逻辑运算符√ 说明逻辑运算规则:
1) a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false
2) a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false
短路与,如果第一个条件为false,后面的条件不会执行,效率高;逻辑与所有条件都判断
3) a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
4) a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
短路或,如果第一个条件为true,后面条件不会执行,返回 true;逻辑或都执行
5) !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true
6) a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false (相同为假,不同为真)
4.1.4 赋值运算符√ 基本赋值运算符 = int a = 10;
√ 复合赋值运算符
+= ,-= ,*= , /= ,%= 等 , 重点讲解一个 += ,其它的使用是一个道理
a += b; [等价 a = a + b; ]
a -= b; [等价 a = a - b; ]
4.1.5 三元运算符基本语法:条件表达式?表达式1:表达式2;
运算规则:1.如果条件表达式为true,运算后的结果是表达式1;
2、如果条件表达式为false,运算后的结果是表达式2;
4.2运算符的优先级 上图中运算符的优先级:上一行总是优于下一行。
4.3 标识符的命名规则和规范-
标识符的概念
1.java对各种变量、方法和类等命名时使用的字符序列称为标识符;
2.凡是自己可以起名字的地方豆角标识符 int num1 = 90;
-
标识符的命名规则
- 由26个英文字母大小写,0-9,_或者$组成;
- 数字不可以开头,int 3ab = 1;//报错
- 不可以使用关键字和保留字,但能包含关键字和保留字;
- java中严格区分大小写,长度无限制
- 标识符不能包含空格。
-
标识符命名规范【更加专业】
-
包名:多单词组成时所有字母都小写。比如 com.hsp.crm
-
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz,比如:TankShotGame【大驼峰法】
-
变量名、方法名:多字母组成是,第一个单词首字母小写,后面的单词都大写。
比如xxxYyyZzz,tankShotGame【小驼峰法,也成驼峰法】
-
常量名:所有字母都大写,多单词是每个单词使用下划线:XXX_YYY_ZZZ;
-
关键字的定义和特点 (不用背)
定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
4.5 保留字 Java 保留字:现有 Java 版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const
4.6键盘输入语句 在编程中,需要用户输入数据,就可以使用键盘输入语句来获取。Input.java,需要一个扫描器(对象),就是Scanner
步骤:
- 导入该类所在的包,java.util.*
- 创建该类对象(声明变量)
- 调用里面的功能
//调用Scanner类,示例
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户的名字");
String name = scanner.next();
System.out.println("请输入用户的年龄");
int age = scanner.nextInt();
System.out.println("请输入用户的薪水");
double sal = scanner.nextDouble();
System.out.println("此人信息如下");
System.out.println("名字t年龄t薪水");
System.out.println(name + "t" + age + "t" + sal);
4.7进制(程序员的基本功)
进制介绍
- 对于整数,有四种表示方式:
- 二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。
- 十进制:0-9 ,满 10 进 1。
- 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
- 十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。
//进制演示
int n1 = 0b1010;//二进制
int n2 = 1010;//十进制
int n3 = 01010;//八进制
int n4 = 0x10101;//十六进制
System.out.println("n1转化为10进制"+n1);//n1转化为10进制10
System.out.println("n2转化为10进制"+n2);//n2转化为10进制1010
System.out.println("n3转化为10进制"+n3);//n3转化为10进制520
System.out.println("n4转化为10进制"+n4);//n4转化为10进制65793
4.8进制之间的转换
要掌握各个进制之间的转换
4.9位运算int a=1>>2; // 1 向右位移 2 位 int b=-1>>2;//算术右移 int c=1<<2;//算术左移 int d=-1<<2; int e=3>>>2;//无符号右移 ~2=? // 按位取反 2&3=?// 2 按位与 3 2|3=? ~-5=? 13&7=? 5|4=? -3^3=?//^ 按位异或4.10原码、反码、补码 4.11 位运算符
-
java中有7个位运算(&、|、^、~、>>、<<和>>>)
按位与&:两位全是1,结果为1,否则为0
按位或 |:两位有一个为1,结果为1,否则为0
按位异或^:两位中有一个0和一个1,结果为1,否则为0;
按位取反~:1变0,0变1(包括符号位)
算数右移>>:低位溢出,符号位不变,并用符号为补溢出的高位
算数左移<<:符号位不变,低位补0()
>>>逻辑右移,也叫无符号右移,运算规则是低位溢出,高位补0;
特别说明:没有<<<符号



