1.运算符
1.1算数运算符
%的本质:a % b = a - a / b * b
1.++独立使用
i++和++i都完全等价于i=i+1
2.++作为表达式使用
++i先加1后使用
i++先使用后加1
int i=10;
int j = i++;//j=10,i=11
int k = ++i;//k=12,i=12
1.2关系运算符
结果都是boolean型
1.3逻辑运算符
用于连接多个条件,最终结果也是boolean型
逻辑与:&
短路与:&&
逻辑或:|
短路或:||
取反:!
逻辑异或^
&,&&同时为true,结果为true,否则为false
|,||有一个为true,结果为true,否则为false
^不同时结果为true,否则为false
1.3.1区别
1.&&和&
对于&&而言,第一个条件为false,则不执行第二个条件
对于&而言,第一个条件为false,仍然执行第二个条件
int a = 10;
int b = 20;
if(a < 1 && ++b < 40)
System.out.println("OK");
System.out.println("a=" + a +"b=" + b);
//a=10b=20
if(a < 1 & ++b < 40)
System.out.println("OK");
System.out.println("a=" + a + "b=" + b);
//a=10b=21
2.||和|
对于||而言,第一个条件为true,第二个条件不执行
对于|而言,第一个条件为true,仍然执行第二个条件
1.4赋值运算符
基本赋值运算符:=
复合赋值运算符:+=,-=,*=,/=,%=
1.运算顺序从右往左
2.赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值
3.复合赋值运算符会进行类型转换
byte a = 3;
a += 5;//a = (byte)(a + 5);
a++;//a = (byte)(a + 1);
1.5三元运算符
条件表达式?表达式1:表达式2;
如果条件表达式为true,执行表达式1,反之执行表达式2
2.运算符的优先级
3.标识符
规则:
1.由26个英文字母大小写,0-9,_或$组成
2.不能以数字开头
3.不可以使用关键字和保留字,但可以包含
4.Java中严格区分大小写
5.标识符不能包含空格
规范:
1.包名:多单词组成时,所有字母小写
aaa.bbb.ccc
2.类名,接口名:多单词组成时,所有单词首字母大写XxxBbbCcc
3.变量名,方法名:多单词组成时,第一个单词首字母小写,第二个开始首字母大写
xxxYyyZzz
4.常量名:所有字母都大写,多单词时每个单词用下划线连接XXX_YYY_ZZZ
4.键盘输入
import java.util.Scanner
//把java.util下的Scanner类导入
public class Input{
public static void main(String[] args){
//接受用户的输入
//1.导入Scanner类所在的包
//2.创建一个Scanner对象,new 创建一个对象
Scanner myScanner = new Scanner(System.in);
//myScanner就是Scanner类的对象
System.out.println("请输入名字");
//3.使用相关方法
String name = myScanner.next();
//接受用户输入字符串
System.out.println("请输入年龄");
int age = myScanner.nextInt();
//接受用户输入int型
System.out.println("请输入薪水");
double salary = myScanner.nextDouble();
//接受用户输入double型
System.out.println("名字:"+ name + "年龄:"
+ age +"薪水:" + salary);
}
}
5.原码,反码,补码
二进制最高位是符号位,0正,1负
1.正数的原码,反码,补码都一样
2.负数的反码=它的原码符号位不变,其它位取反
3.负数的补码=它的反码+1
4.负数的反码=它的补码-1
5.0的反码,补码都是0
6.Java没有无符号数
7.计算机在运算时,都是以补码的方式运算的
6.位用算
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