03_Java基础语法
1、Java中的标识符
标识符:在计算机编程语言中,标识符是开发人员自定义的名字,用来给常量、变量、方法、类、接口等命名。
1.1 基于阿里巴巴Java开发规约限制的标识符的命名规范
AJCG标识符命名规范:
1、标识符由数字(0 ~ 9)、英文字母(A ~ Z a ~ z)、下划线( _ )组成。
2、必须使用英文字母开头。
3、使用驼峰命名法和下划线命名法
小驼峰命名法:标识符首字母小写,之后的每个单词的首字母大写,如studentName、studentAge,常用于变量名、方法名;
大驼峰命名法:标识符的每个单词的首字母大写,如FirstJava、Demo,常用于类名、接口名;
下划线命名法:所有单词全部大写,单词之间用下划线连接,如MAX_VALUE、MIN_VALUE。
4、标识符命名不得使用Java关键字(如int、float等)命名。
5、标识符命名使用动宾结构,要求做到见名知意,如getStudentName、setStudentName。
2、运算符
运算符用于执行程序代码运算,一般针对一个及以上操作数来进行运算。
2.1 算术运算符
2.1.1 算术运算符
开发中使用的算术运算符:+ - * / = % ()
运算规则:
1、从左至右原则
2、先乘除后加减
3、优先运算括号内的数据
4、除数不能为0
注意:
如果两个整数进行除法运算,运算结果只取整数部分。
基本代码演示如下
//算术运算符
public class Demo1 {
public static void main(String[] args) {
int num1 = 20;
int num2 = 30;
num1 = num1 + num2;//num1 = 50 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
num1 = num1 * num2;//num1 = 1500 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
num1 = num1 / num2;//num1 = 50 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
num1 = num1 - num2;//num1 = 20 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
//取余 % 即获取整数相除得到的余数
num1 = num1 % num2;//num1 = 20 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
num1 = num1 * (num1 + num2);//num1 = 1000 num2 = 30
System.out.println(num1);
System.out.println(num2);
System.out.println("----------------------");
}
}
运行结果如下图
2.1.2 增强版算数运算符
优点在于可以简化代码结构,减少代码数量。
具有强制类型转换的功能。
运算符 | 作用 | 说明 |
---|---|---|
+= | 相加后赋值 | a += b 相当于 a = a + b |
-= | 相减后赋值 | a -= b 相当于 a = a - b |
*= | 相乘后赋值 | a * = b 相当于 a = a * b |
/= | 相除后赋值 | a /= b 相当于 a = a / b |
%= | 取余后赋值 | a %= b 相当于 a = a % b |
基本代码演示如下
//增强版算术运算符
public class Demo2 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
num1 += num2;
System.out.println(num1);//num1 = num1 + num2 num1 = 30
System.out.println("-------------");
num1 -= num2;
System.out.println(num1);//num1 = num1 - num2 num1 = 10
System.out.println("-------------");
num1 *= num2;
System.out.println(num1);//num1 = num1 * num2 num1 = 200
System.out.println("-------------");
num1 /= num2;
System.out.println(num1);//num1 = num1 / num2 num1 = 10
System.out.println("-------------");
num1 %= num2;//num1 = num1 % num2 num1 = 10
System.out.println(num1);
System.out.println("-------------");
}
}
运行结果如下图
2.2 自增自减运算符
运算符 | 作用 | 说明 |
---|---|---|
++ | 自增 | 变量的值加一 |
– | 自减 | 变量的值减一 |
注意:
1、自增或者自减运算符在变量之前,先运算后取值;
2、自增或者自减运算符在变量之后,先取值后运算。
3、自增自减运算符只能对变量进行计算,不能计算常量。
基本代码演示如下
//自增自减运算符
public class Demo3 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
System.out.println(num1);
System.out.println(num2);
System.out.println("-------------");
System.out.println(num1++);//10
System.out.println(num1);//11
System.out.println("-------------");
System.out.println(++num2);//21
System.out.println(num2);//21
System.out.println("-------------");
System.out.println(num1--);//11
System.out.println(num1);//10
System.out.println("-------------");
System.out.println(--num2);//20
System.out.println(num2);//20
System.out.println("-------------");
}
}
运行结果如下图
2.3 关系运算符
运算符 | 作用 | 说明 |
---|---|---|
== | 等于 | 判断运算符左右两边的值是否相等 |
!= | 不等于 | 判断运算符左右两边的值是否不等 |
> | 大于 | 判断运算符左边的值是否大于右边的值 |
< | 小于 | 判断运算符左边的值是否小于右边的值 |
>= | 大于等于 | 判断运算符左边的值是否大于等于右边的值 |
<= | 小于等于 | 判断运算符左边的值是否小于等于右边的值 |
注意:
通过关系运算符的得到的数据类型为布尔类型(boolean)。
基本代码演示如下
//关系运算符
public class Demo4 {
public static void main(String[] args) {
boolean ret = 5 > 3;
System.out.println(ret);//5大于3成立 运算结果为真 true
ret = 5 < 3;
System.out.println(ret);//5小于3不成立 运算结果为假 false
ret = 5 >= 4;
System.out.println(ret);//5大于等于4成立 运算结果为真 true
ret = 5 <= 2;
System.out.println(ret);//5小于等于2不成立 运算结果为假 false
ret = (5 == 5);
System.out.println(ret);//5等于5成立 运算结果为真 true
ret = (5 != 6);
System.out.println(ret);//5不等于6成立 运算结果为真 true
}
}
运行结果如下图
2.4 逻辑运算符
运算符 | 作用 | 说明 |
---|---|---|
&& | 逻辑与 | a&&b,a和b都为真,运算结果为真,否则为假 |
|| | 逻辑或 | a||b,a和b都为假,运算结果为假,否则为真 |
! | 逻辑非 | !a,a为真时,运算结果为假,反之为真 |
短路原则:
1、逻辑与表达式中,当出现一个表达式的值为假(false),则整个表达式的结果为假(false),之后的表达式不再计算。
2、逻辑或表达式中,当出现一个表达式的值为真(true),则整个表达式的结果为真(true),之后的表达式不再计算。
基本代码演示如下
//逻辑运算符
public class Demo5 {
public static void main(String[] args) {
int num = 10;
boolean ret = 6 == 3 && ++num > 10;
System.out.println(ret);//false
System.out.println(num);//10
System.out.println("-------------");
ret = 5 > 3 && 6 == 6;
System.out.println(ret);//true
System.out.println("-------------");
ret = 5 >= 3 || ++num > 10;
System.out.println(ret);//true
System.out.println(num);//10
System.out.println("-------------");
ret = 5 < 3 || 6 == 6;
System.out.println(ret);//true
System.out.println("-------------");
}
}
运行结果如下图
3、分支结构
3.1 if分支结构
格式:
if (表达式/*值为true或false*/) {
语句块;
}
执行流程:
1、判断表达式的值是否为true;
2、当表达式为true时,执行语句块内容;否则不执行语句块。
基本代码演示
//if分支结构
public class Demo6 {
public static void main(String[] args) {
int totalPrice1 = 200;
int totalPrice2 = 60;
if (totalPrice1 >= 100) {
System.out.println("尊贵的用户,送您一张停车券");
}
System.out.println("欢迎下次光临");
System.out.println("---------------");
if (totalPrice2 >= 100) {
System.out.println("尊贵的用户,送您一张停车券");
}
System.out.println("欢迎下次光临");
System.out.println("---------------");
}
}
运行结果如下图
3.2 if-else分支结构
格式:
if (表达式/*值为true或false*/) {
语句块1;
} else {
语句块2;
}
执行流程:
1、判断表达式的值是否为true;
2、当表达式的值为true时,执行语句块1的内容;否则执行语句块2的内容。
基本代码演示
// if-else 分支结构
public class Demo7 {
public static void main(String[] args) {
int totalPrice1 = 200;
int totalPrice2 = 100;
if (totalPrice1 >= 168) {
System.out.println("尊贵的客户,送您一瓶82年的拉菲");
} else {
System.out.println("尊贵的客户,送您一瓶22年的娃哈哈");
}
System.out.println("欢迎下次光临");
System.out.println("----------------");
if (totalPrice2 >= 168) {
System.out.println("尊贵的客户,送您一瓶82年的拉菲");
} else {
System.out.println("尊贵的客户,送您一瓶22年的娃哈哈");
}
System.out.println("欢迎下次光临");
System.out.println("----------------");
}
}
运行结果如下图
3.3 if else-if分支结构
格式:
if (表达式1/*值为true或false*/) {
语句块1;
} else if (表达式2/*值为true或false*/) {
语句块2;
} else if (表达式3/*值为true或false*/) {
语句块3;
} else {
语句块4;
}
执行流程:
1、判断表达式1的值是否为true;
2、当表达式1的值为true时,执行语句块1的内容;
3、当表达式1的值为false时,判断表达式2的值,并以此类推;
4、如果表达式的值都为假,执行语句块4,即最后一个else之后的{}中包含的语句。
基本代码演示
//if else-if 分支结构
public class Demo8 {
public static void main(String[] args) {
int totalPrice1 = 300;
int totalPrice2 = 60;
if (totalPrice1 >= 500) {
System.out.println("尊贵的客户,送您一箱特仑苏");
} else if (totalPrice1 >= 200) {
System.out.println("尊贵的客户,送您一瓶崂山啤酒");
} else if (totalPrice1 >= 100) {
System.out.println("尊贵的客户,送您一片绿箭");
} else {
System.out.println("尊贵的客户,送您一个塑料袋");
}
System.out.println("-------------------");
if (totalPrice2 >= 500) {
System.out.println("尊贵的客户,送您一箱特仑苏");
} else if (totalPrice2 >= 200) {
System.out.println("尊贵的客户,送您一瓶崂山啤酒");
} else if (totalPrice2 >= 100) {
System.out.println("尊贵的客户,送您一片绿箭");
} else {
System.out.println("尊贵的客户,送您一个塑料袋");
}
System.out.println("-------------------");
}
}
运行结果如下图