1标识符
组成: 数字 字母 下划线 $
规则:
1不能以数字开头
2 不能是关键字
3 区分大小
约定:
小驼峰命名法 : 变量 方法的命名上
如果是一个单词 所有 字母均小写
如果多个单词组成 则第一个单词的 首字母小写 从第二个开始后边 的每个单词的首字母大写
大驼峰命名法: 类名 接口名
每个单词的 首字母都大写
标识符的命名的基本准测:见名知意
2.数据类型转换
自动类型转换
强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
可能造成精度降低或溢出,
3.运算符
3.1. 算术运算符
符号 作用 说明
- 加 参看小学一年级
- 减 参看小学一年级
- 乘 参看小学二年级,与“×”相同
/ 除 参看小学二年级,与“÷”相同
% 取余 获取的是两个数据做除法的余数
算术运算符规则
整数运算:
如果两个操作数有一个为 long, 则结果也为 long。
没有 long 时,结果为 int。即使操作数全为 short,byte,结果也是 int。
浮点运算:
如果两个操作数有一个为 double,则结果为 double。
只有两个操作数都是 float,则结果才为 float。
取模运算:
其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左
边操作数相同,如:7%3=1,-7%3=-1,7%-3=1。
3.2.赋值运算符
符号 作用 说明
= 赋值 a=10,将10赋值给变量a
+= 加后赋值 a+=b,将a+b的值给a
-= 减后赋值 a-=b,将a-b的值给a
= 乘后赋值 a=b,将a×b的值给a
/= 除后赋值 a/=b,将a÷b的商给a
%= 取余后赋值 a%=b,将a÷b的余数给a
注意事项:扩展的赋值运算符隐含了强制类型转换
public static void main(String[] args)
{
short s = 20;
s += 10; // s =(short) (s + 10)
System.out.println(s);
}
}
public static void main(String[] args)
{
int a=3;
int b=4;
a+=b;
System.out.println("a="+a+"\nb="+b);
a=3;
//a*=b+3; // 等同于 a = a *( b + 3) 21 会将扩展赋值运算符后的表达式作为一个整体和左边进行运算
a = a * b + 3;//15
System.out.println("a="+a+"\nb="+b);
}
}
3.3.自增自减运算符
class Demo1
{
/*
++ 自增
-- 自减
*/
public static void main(String[] args)
{
int a = 5;
System.out.println(a++);//5 先取值 后运算
System.out.println(a);//6
System.out.println(++a);//7 先运算 后取值
}
}
class Demo1
{
/*
++ 自增
-- 自减
*/
public static void main(String[] args)
{
int a = 5;
int b = a++ + 1;
System.out.println(a);//6
System.out.println(b);// 6
int c = 5;
int d = ++c + 1;
System.out.println(c);//6
System.out.println(d);// 7
}
}
int x = 10;
int y = x++ + x++ + x++;
System.out.println(y); // y的值是多少?
System.out.println(x);
3.4.关系运算符
符号 说明
== a==b,判断a和b的值是否相等,成立为true,不成立为false
!= a!=b,判断a和b的值是否不相等,成立为true,不成立为false
a>b,判断a是否大于b,成立为true,不成立为false
= a>=b,判断a是否大于等于b,成立为true,不成立为false
< a<b,判断a是否小于b,成立为true,不成立为false
<= a<=b,判断a是否小于等于b,成立为true,不成立为false
注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
符号 作用 说明
& 逻辑与 a&b,a和b都是true,结果为true,否则为false
| 逻辑或 a|b,a和b都是false,结果为false,否则为true
^ 逻辑异或 a^b,a和b结果不同为true,相同为false
! 逻辑非 !a,结果和a的结果正好相反
3.5.逻辑运算符
3.6短路逻辑运算符
符号 作用 说明
&& 短路与 作用和&相同,但是有短路效果
|| 短路或 作用和|相同,但是有短路效果
注意事项:
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑或|,无论左边真假,右边都要执行。
public static void main(String[] args)
{
int a = 10;
boolean b = a++ < ++a && --a < a--;
System.out.println(b);
System.out.println(a);
}
3.7 位运算
计算机中存储 的是数字的二进制的补码
正数的原码 反码 补码 都已一样的
负数的 原码 反码除符号位 其余位按位取反(0变1 , 变0)
补码:原码取反 + 1
位运算的执行效率是 最高的
public static void main(String[] args)
{
int a = 3 ;
int b = 2;
int c = 3 << 2;// 3 * 2 * 2
int c = 3 >> 2;//3/2/2
System.out.println(c);
}
3.8.三元运算符
格式: 关系表达式?表达式1 : 表达式2
当关系表达式成立(true)则整个三运算的结果为表达式1 否则为表达式2
```perl
public static void main(String[] args)
{
int a = 3 ;
int b = 2;
int c = a < b ? a+1 : ++b;
System.out.println(c);
}
class Demo1
{
/*
需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,
请用程序实现判断两只老虎的体重是否相同。
*/
public static void main(String[] args)
{
int weightA = 180;
int weightB =200;
boolean result = weightA == weightB ? true : false;
System.out.println(result);
}
}
class Demo1
{
/*
需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,
请用程序实现获取这三个和尚的最高身高。
*/
public static void main(String[] args)
{
int height1 = 150;
int height2= 210;
int height3 = 165;
int max = (height1 > height2 ? height1 : height2) > height3 ? (height1 > height2 ? height1 : height2) : height3;
System.out.println(max);
}
}