算术运算符
int i = 1; //i =>1 i=i++; //规则使用临时变量:(1)temp=i;(2)i=i+1;(3)i=temp; i=1; i++; // i=2; int a=1; a=++a; //规则使用临时变量:(1)a=a+1;(2)temp=a;(3)a=temp; a=2;关系(比较)运算符
关系运算符的结果都是boolean型,true flase,常在if结构的条件中或循环结构的条件中 逻辑运算符
短路与&&,短路或||,取反! 逻辑与&,逻辑或|,^逻辑异或
| a | b | a&b | a&&b | a|b | a||b | !a | a^b |
|---|---|---|---|---|---|---|---|
| true | true | true | true | true | true | flase | flase |
| true | flase | flase | flase | true | true | flase | true |
| flase | true | flase | flase | true | true | true | true |
| flase | flase | flase | flase | flase | flase | true | flase |
a&b : 逻辑与 : 当a和b同时为true ,则结果为true,否则为false a&&b : 短路与 : 当a和b同时为true,则结果为true,否则为false
&两个都要判断,&&若第一个为flase,则第二个不判断最终为false a|b: 逻辑或 : 当a和b,有一个为true .则结果为true,否则为false allb: 短路或 : 当a和b , 有一个为true ,则结果为true,否则为false
|两个都要判断,||若第一个为true,则第二个不判断最终为true !a :取反,或者非运算。当a为true,则结果为false,当a为false,结果为true a^b:逻辑异或,当a和b不同时,则结果为true,否则为false 复合赋值运算符会进行类型转换
byte=3; b +=2; //等价 b=(byte)(b+2); b++; //b=(byte)(b+1);三元运算符
int a=10; int b=99; int result = a>b?a++ : b--;
表达式1和表达式2要为可以赋给接受变量的类型,或可以自动转换,或强制转换
int a = 3; int b = 8; int c = a>b?(int)1.1 : (int)3.4//可以的 double d = a>b?a:b+3;//可以的,满足int ->double类型可以转成if–else语句 实现三个数的最大值
int a = 55; int b = 33; int c = 123; int max1 = a>b?a:b; int max2 = max1 >c?max1:c; 使用一条语句实现 int max=(a>b?a:b)>c?(a>b?a:b):c;标识符
命名规则
- 由26个英文字母大小写、0-9或$組成 数字不可以幵头。int 3ab = 1; //错误 不可以使用关键字和保留字,但能包含关鍵字和保留字 Java中严格区分大小,长度无限制. int totalNum = 10; int n = 90; 示枳符不能包含空格. int a b = 90;
- 包名 : aaa.bbb.ccc //比如com.hsp.crm 类名、接口名 :XxxYyyZzz 变量名、方法名 : :xxYyyZzz 常量名: XXX YYY ZZZ
10/3=3 10/5=2 -10.5%3=-1.5 a%b 当a是小数时,公式=a-(int)a/b * b -10.5&3=-10.5- (-10)/3* * 3=-10.5+9=-1.5 有小数运算,得到结果是近似值 int i=66;则++i+i=67+66=134 在Java中,以下语句正确的是(C D).
A: int num1 =(int)“18”: //错 应为Integer.parselnt(“18”) ;
B: int num2=18.0; //错 double -> int
C: double num3=3d; //ok
D: double num4=8; //ok int -> double
E: int i=48; char ch = i+1; //错 int -> char
F: byte b= 19; short s= b+2; //错 int -> short



