一、算数运算符
二、关系运算符(比较运算符)
三、逻辑运算符
(一)&&和&
(二)||和|
四、赋值运算符
五、三元运算符
六、位运算符
(一)进制
(二)位运算符
七、运算符优先级
八、标识符的命名规则和规范
(一)命名规则(必须遵守)
(二)命名规范
(三)关键字
(四)保留字
九、键盘输入语句
算数运算是对数值类型的变量进行运算的,在Java程序中使用的非常多。
%的本质:a % b = a - (int)a / b * b
有小数的运算,得到的结果是近似值
自增++
作为独立语句使用:i++和++i都完全等价于i=i+1
作为表达式使用:i++先赋值后自增,++i先自增后赋值
自减--同理
JVM 在处理i=i++ 时 , 会建立一个临时变量来接收 i++ 的值 , 然后返回这个临时变量的值 , 返回的值再被等号左边的变量接收。
1、关系运算符的结果都是boolean型,也就是要么是true,要么是false。
2、关系运算符组成的表达式称为关系表达式,关系表达式经常用在if结构的条件中或者循环结构的条件中。
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。
短路与&& 短路或|| 取反(非运算)!
逻辑与& 逻辑或| 逻辑异或^
运算规则:
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、开发中,使用的基本是短路与&&
1、||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
2、|逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
3、开发中,使用的基本是短路或||
赋值运算符就是将某个运算后的值,赋给指定的变量。
分类:
1、基本赋值运算符 =
2、复合赋值运算符 += -= *= /= %=
特点:
1、运算顺序从右到左
2、赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
3、复合赋值运算符等价于下面效果:a+=3;等价于a=a+3;
4、复合赋值运算符会进行类型转换
条件表达式?表达式1:表达式2;
1、如果条件表达式为true,运算后的结果是表达式1
2、如果条件表达式为false,运算后的结果是表达式2
细节:
1、表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)
2、三元运算符可以转成if-else语句
三个数中的最大值:
对于整数,有四种表示方式
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不区分大小写
1、java没有无符号数,换言之,java中的数都是有符号的
2、在计算机运算的时候,都是以补码的方式来运算的
3、当在看运算结果的时候,要看它的原码
1、按位与&:两位全为1,结果为1,否则为0
2、按位或|:两位有一个为1,结果为1,否则为0
3、按位异或:两位一个为0一个为1,结果为1,否则为0
4、按位取反~:0 -> 1 1->0
5、算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位 (每右移一位相当于/2)
6、算术左移<<:符号位不变,低位补0 (每左移一位相当于*2)
7、逻辑右移>>>:也叫无符号右移,低位溢出,高位补0
8、没有<<<
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版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。
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);
}
}