Java学习笔记(三)——运算符

一、算数运算符

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

三、逻辑运算符

(一)&&和&

(二)||和|

四、赋值运算符

五、三元运算符

六、位运算符

(一)进制

(二)位运算符

七、运算符优先级

八、标识符的命名规则和规范

(一)命名规则(必须遵守)

(二)命名规范

(三)关键字

(四)保留字

九、键盘输入语句

一、算数运算符

算数运算是对数值类型的变量进行运算的,在Java程序中使用的非常多。

Java学习笔记(三)——运算符_第1张图片

Java学习笔记(三)——运算符_第2张图片

 %的本质:a % b = a - (int)a / b * b

有小数的运算,得到的结果是近似值

Java学习笔记(三)——运算符_第3张图片

自增++

作为独立语句使用:i++和++i都完全等价于i=i+1

作为表达式使用:i++先赋值后自增,++i先自增后赋值

自减--同理

Java学习笔记(三)——运算符_第4张图片

Java学习笔记(三)——运算符_第5张图片

 JVM 在处理i=i++ 时 , 会建立一个临时变量来接收 i++ 的值 , 然后返回这个临时变量的值 , 返回的值再被等号左边的变量接收。

Java学习笔记(三)——运算符_第6张图片

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

1、关系运算符的结果都是boolean型,也就是要么是true,要么是false。

2、关系运算符组成的表达式称为关系表达式,关系表达式经常用在if结构的条件中或者循环结构的条件中。

Java学习笔记(三)——运算符_第7张图片

三、逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

短路与&&         短路或||         取反(非运算)!

逻辑与&            逻辑或|          逻辑异或^

Java学习笔记(三)——运算符_第8张图片

 运算规则:

1、a&b:当a和b同时为true,则结果为true,否则为false

2、a&&b:当a和b同时为true,则结果为true,否则为false

3、a|b:当a和b有一个为true,则结果为true,否则为false

4、a||b:当a和b有一个为true,则结果为true,否则为false

5、!a:当a为true,则结果为false,当a为false,则结果为true

6、a^b:当a和b不同时,则结果为true,否则为false

(一)&&和&

1、&&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高

2、&逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低

3、开发中,使用的基本是短路与&&

Java学习笔记(三)——运算符_第9张图片

Java学习笔记(三)——运算符_第10张图片

(二)||和|

1、||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高

2、|逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低

3、开发中,使用的基本是短路或||

Java学习笔记(三)——运算符_第11张图片

Java学习笔记(三)——运算符_第12张图片

四、赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量。

分类:

1、基本赋值运算符 =

2、复合赋值运算符 +=    -=    *=     /=    %=

特点:

1、运算顺序从右到左

2、赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值

3、复合赋值运算符等价于下面效果:a+=3;等价于a=a+3;

4、复合赋值运算符会进行类型转换

Java学习笔记(三)——运算符_第13张图片

五、三元运算符

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

1、如果条件表达式为true,运算后的结果是表达式1

2、如果条件表达式为false,运算后的结果是表达式2

Java学习笔记(三)——运算符_第14张图片

细节:

1、表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)

2、三元运算符可以转成if-else语句 

三个数中的最大值:

Java学习笔记(三)——运算符_第15张图片

六、位运算符

(一)进制

对于整数,有四种表示方式

1、二进制:0-1,满2进1,以0b或0B开头

2、十进制:0-9,满10进1

3、八进制:0-7,满8进1,以数字0开头表示

4、十六进制:0-9及A-F,满16进1,以0x或0X开头表示。此处的A-F不区分大小写

Java学习笔记(三)——运算符_第16张图片

1、java没有无符号数,换言之,java中的数都是有符号的

2、在计算机运算的时候,都是以补码的方式来运算的

3、当在看运算结果的时候,要看它的原码

(二)位运算符

1、按位与&:两位全为1,结果为1,否则为0

2、按位或|:两位有一个为1,结果为1,否则为0

3、按位异或:两位一个为0一个为1,结果为1,否则为0

4、按位取反~:0 -> 1   1->0

Java学习笔记(三)——运算符_第17张图片

Java学习笔记(三)——运算符_第18张图片

5、算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位 (每右移一位相当于/2)

6、算术左移<<:符号位不变,低位补0 (每左移一位相当于*2)

Java学习笔记(三)——运算符_第19张图片

7、逻辑右移>>>:也叫无符号右移,低位溢出,高位补0

8、没有<<<

七、运算符优先级

Java学习笔记(三)——运算符_第20张图片

1、()、{}等

2、单目运算符

3、算术运算符

4、位移运算符

5、比较运算符

6、逻辑运算符

7、三元运算符

8、赋值运算符

八、标识符的命名规则和规范

1、Java对各种变量、方法和类等命名时使用的字符序列称为标识符

2、凡是自己可以起名字的地方都叫标识符

(一)命名规则(必须遵守)

1、由26个英文字母大小写、0-9、_或$组成

2、数字不可以开头

3、不可以使用关键字和保留字,但能包含关键字和保留字

4、Java中严格区分大小写,长度无限制

5、标识符不能包含空格

(二)命名规范

1、包名:多单词组成时,所有字母都小写:aaa.bbb.ccc

2、类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz(大驼峰)

3、变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz(小驼峰,简称驼峰法)

4、常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

(三)关键字

定义:被Java语言赋予了特殊含义,用作专门用途的字符串

特点:关键字中所有字母都为小写

Java学习笔记(三)——运算符_第21张图片

Java学习笔记(三)——运算符_第22张图片

(四)保留字

 现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。

byValue、cast、future、generic、inner、operator、outer、rest、var、goto、const

九、键盘输入语句

需要一个扫描器(对象),就是Scanner

步骤:

1、导入该类所在的包,java.util.*

2、创建该类的对象(声明变量)

3、调用里面的功能

import java.util.Scanner; //表示把java.util下的Scanner类导入

public class Input{

	public static void main(String[] args){
		Scanner myScanner = new Scanner(System.in);
		System.out.print("请输入名字:");
		String name = myScanner.next(); //接收用户输入字符串
		System.out.print("请输入年龄:");
		int age = myScanner.nextInt(); //接收用户输入int
		System.out.print("请输入薪水:");
		double salary = myScanner.nextDouble(); //接收用户输入double
		System.out.println("人的信息如下:");
		System.out.println("名字:" + name + " 年龄:" + age + " 薪水:" + salary);
	}
}

Java学习笔记(三)——运算符_第23张图片

你可能感兴趣的:(Java,java)