1、变量的命名规则
硬性指标:
(1)一个变量名职能包括数字、字母、下划线;
(2)数字不能开头;
(3)变量名是大小且敏感的,即num和Num是两个不同的变量。
软性指标:
(1)变量命名要具有描述性,见名知意;
(2)不宜使用拼音(但是不绝对);
(3)词性推荐使用名词;
(4)命名推荐小驼峰命名法:当只有一个单词时,全小写;多个单词时,只有第一个单词全小写,第二个单词起,首字母大写。
int maxValue = 100;
String studentName = "张三";
2、常量
(1)定义以后不能修改的值
(2)final关键字定义常量(final int a =10;)
字面值常量
// 十进制
int a = 10;
// 0b表示二进制
int b = 0b10;
// 0表示八进制
int c = 010;
// 0x表示十六进制
int d = 0x10;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
3、java所有数据类型都有默认值(在累中定义的才有默认值)
(1)整数型默认值0
(2)小数默认值0.0
(3)char默认值 单个空格
(4)boolean默认值false
4、运算符
(1)算术运算符(基本四则运算:+ - * / %)
int a =10;
System.out.println(a++);//先取值后运算
System.out.println(++a);//先运算再取值
①int/int结果还是int,需要使用double来计算;
int a = 1;
int b = 2;
System.out.println(a/b);
//结果为0
②0不能作为除数;
③%表示取余,不仅仅可以对int求模,也可以对double求模。
System.out.println(11.5 % 2.0);
//运行结果为1.5
(2)关系运算符(== != < > <= >=)
int a =10;
int b =20;
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(a<b);
System.out.println(a>b);
System.out.println(a<=b);
System.out.println(a>=b);
所以:关系运算符的表达式返回值都是boolean类型
(3)逻辑运算符(&& || !)
短路求值
int a =10;
int b =20;
int c =30;
System.out.println(a > b && b < c);
//逻辑与&&多个表达式都为true时才为true,否则返回false
System.out.println(a > b || b < c);
//逻辑或||只要有true就返回true,否则返回false
&和 | :如果操作数为boolean的时候,也表示逻辑运算,但是和&&以及 || 相比,它们不支持短路求值。(不推荐使用)
(4)位运算符(& | ~ ^)
#java中对数据的操作的最小单位不是字节,而是二进制位。
&:(若两个二进制都为1,则结果为1,否则为0)
int a =10;
int b =20;
System.out.println(a & b);//运行结果为0
|:(若两个二进制都是0,则结果为0,否则为1)
int a =10;
int b =20;
System.out.println(a | b);//运行结果为30
~(按位取反):(0转为1,1转为0)
int a = 0xf;
System.out.printf("%x\n",~a);//运行结果fffffff0
注意:
①0x前缀的数字为十六进制,十六进制可以看成是二进制的简化表示形式,一个十六进制数字对应4个二进制位;
②0xf表示十进制的15,也就是二进制的1111;
③printf能够格式化输出内容,%x表示按照十六进制输出;
④\n表示换行符。
^(按位异或):(二进制位相同为0,相异为1)
int a = 0x1;
int b = 0x2;
System.out.printf("%x\n",a^b);//运行结果为3
```按位异或):(二进制位相同为0,相异为1)
(5)移位运算(<< >> >>> )
①左移<<:最左侧位不要,最右侧补0;——左移一位乘以二
int a = 0x10;
System.out.printf("%x\n",a << 1);//运行结果为20
②右移>>:最右侧位不要,最左侧补符号(正数为0,负数为1)——右移一位除以二
int a = 0x10;
System.out.printf("%x\n",a >> 1);//运行结果为8
③无符号右移>>>:最右侧位不要,最左侧位补0
int a = 0xffffffff;
System.out.printf("%x\n",a >>>1);//运行结果为7fffffff
(6)条件运算符(表达式1 ?表达式2 :表达式3)——三目运算符
int a =10;
int b =20;
int max = a > b ? a : b;
System.out.println(max);//运行结果为20