1.赋值、比较、逻辑、三元运算符
一、赋值运算符
赋值运算符包括有:=、+=、-=、*=、/=、%=
赋值运算符,就是将符号右边的值,赋给左边的变量。
以“+=”运算符举例:
public static void main(String[] args){
int i = 5;
i+=5;//等价于 i=i+5 变量i先加5,再赋值变量i
System.out.println(i); //输出结果是10
}
其余赋值运算同理。
二、比较运算符
比较运算符包括有:==(等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、!=(不等于)
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。举例如下:
public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<1);//false
System.out.println(1>1);//false
System.out.println(1<=1);//true
System.out.println(2>=1);//true
System.out.println(2!=1);//true
}
三、逻辑运算符
比较运算符包括有:&&(短路与)、||(短路或)、!(取反)
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false。
注意:“短路”是指在一个逻辑判断式例如 “1 != 1 && 1 = 1”
中,前面的表达式已经判断为false,后面的表达式就不用继续判断了,整个表达式就已经判断为false了。
逻辑运算符的举例如下:
public static void main(String[] args) {
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
System.out.println(!false);//true
}
三、三元运算符
三元运算符的格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
计算规则:布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量;布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。举例如下:
public static void main(String[] args) {
int i = (1==2 ? 100 : 200);
System.out.println(i);//200
int j = (3<=4 ? 500 : 600);
System.out.println(j);//500
}
2.方法
一、方法的定义:
方法就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。这样一来,当我们需要这个功能的时候,就可以去调用,这样实现了代码的复用性,也解决了代码冗余的现象。
方法的定义格式
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
修饰符:目前固定写法:public static
返回值类型:目前固定写法 void
方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法,一般以小驼峰式命名法命名。
return:方法结束。因为返回值类型是void,方法大括号内的return可以不写。
举例如下:
public static void methodName(){
System.out.println("这是一个方法");
}
二、方法的调用
方法只有被调用才会执行,我们可以在main方法中,通过直接写要调用的方法名的方法来调用。举例如下:
public static void main(String[] args) {
//调用定义的方法methodName
methodName();
}
//定义方法,被main方法调用
public static void methodName() {
System.out.println("定义的方法,需要被main调用运行");
}
注意:
- 方法定义的先后顺序无所谓。
- 方法的定义不能产生嵌套包含的关系。
- 方法想要执行一定要进行方法的“调用”。
3.判断语句
一、if语句
if语句的格式:
if(关系表达式){
语句体;
}
执行流程:关系表达式结果时true则执行语句体,如果是false就不执行语句体。举例如下:
public static void main(String[] args){
System.out.println("开始");
// 定义两个变量
int a = 10;
int b = 20;
//变量使用if判断
if (a == b){
System.out.println("a等于b");
}
int c = 10;
if(a == c){
System.out.println("a等于c");
}
System.out.println("结束");
}
二、if…else语句
if…else语句的格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程:先判断关系表达式结果,如果是true就执行语句体1,如果是false就执行语句体2。
举例如下:
public static void main(String[] args){
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 1;
if(a % 2 == 0) {
System.out.println("a是偶数");
} else{
System.out.println("a是奇数");
}
System.out.println("结束");
}
三、if…else if…else语句
if…else if…else语句的格式:
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2;
}
...
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
执行流程:首先判断关系表达式1结果,如果是true就执行语句体1,如果是false就继续判断关系表达式2结果,如果是true就执行语句体2,如果是false就继续判断关系表达式…结果,如果没有任何关系表达式为true,就执行语句体n+1。
举例如下:
public static void main(String[] args) {
// x和y的关系满足如下:
// x>=3 y = 2x + 1;
//‐1<=x<3 y = 2x;
// x<=‐1 y = 2x – 1;
// 根据给定的x的值,计算出y的值并输出。
// 定义变量
int x = 5;
int y;
if (x>= 3) {
y = 2 * x + 1;
} else if (x >= ‐1 && x < 3) {
y = 2 * x;
} else {
y = 2 * x ‐ 1;
}
System.out.println("y的值是:"+y);
}
一个例子:
指定考试成绩,判断学生等级,90-100为优秀,80-89为好,70-79为良,60-69为及格,60以下为不及格。代码如下:
public static void main(String[] args) {
int grades = 100;
if(grades<0 || grades>100){
System.out.println("非法成绩");
}else if(grades>=90 && grades<=100){
System.out.println("成绩优秀");
}else if(grades>=80 && grades<90){
System.out.println("成绩为好");
}else if(grades>=70 && grades<80){
System.out.println("成绩为良");
}else if(grades>=60 && grades<70){
System.out.println("成绩及格");
}else {
System.out.println("你不及格");
}
}}