1、赋值运算符
运算符 | 含义 | 示范 | 结果 |
+ | 数值之间求和 | 1+1 | 2 |
- | 数值之间求差 | 2-1 | 1 |
* | 数值之间求积 | 2*1 | 2 |
/ | 数值之间求商 | 5/2 | 2 |
% | 数值之间求余数 | 5%2 | 1 |
++ | 数值递增一 | a=2,a++ | 3 |
-- | 数值递减一 | a=2,a-- | 1 |
注 /:结果取整数。
++在变量后面:先进行赋值再进行运算。
++在变量前面:先进行运算再进行赋值。(-- 相同)
例:
public class task_06 {
public static void main(String[] args) {
int a = 1;
System.out.println("a = " + a);//a = 1
//a++: ++在a的后面,先进行赋值再进行运算
System.out.println("a = " + a++);// a = 1
//++a: ++在a的前面,先进行运算再进行赋值
System.out.println("a = " + ++a); // a = 3
}
}
2、关系运算符
关系运算符的结果是布尔类型
3、逻辑运算符
&& 与 & 的运算结果一样,区别在于&&在进行判断中只要出现影响结果的表达式就会停止对后面表达式的运算。( || 与 | 同理)
例:
public class task_06 {
public static void main(String[] args) {
int a = 1 , b = 3;
System.out.println(a < 1 && ++b >1);
System.out.println("a=" + a + " b=" + b);
System.out.println(a == 1 && ++b >1);
System.out.println("a=" + a + " b=" + b);
}
}
运行结果:
4、三目运算符
三元运算符:条件?表达式1:表达式2
条件为true返回表达式1的值,条件为false返回表达式2的值。
public class task_06 {
public static void main(String[] args) {
int a = 1 , b = 3;
//条件为false时执行表达式2
int num = a < 1 ? a++ : b++;
System.out.println("num=" + num + " a=" + a + " b=" + b);
//条件为true时执行表达式1
int num1 = a == 1 ? ++a : b++;
System.out.println("num1=" + num1 + " a=" + a + " b=" + b);
}
}
运行结果:
5、单分支
语法:
if(条件语句){
代码块
}
说明:当if(条件语句)中间的条件语句为true时执行{}中间的代码,如果为false则绕开{}中的代码继续运行后续内容。
例:
public class task_06 {
public static void main(String[] args) {
int num = 2;
//num < 5 为true, 执行{}中间的代码
if (num < 5){
num++;
}
System.out.println("num=" + num);//输出结果:num = 3;
}
}
6、双分支
语法:
if(条件语句){
代码块1
}else{
代码块2
}
说明:如果条件语句为true时运行代码块1,反之运行代码块2。
例:
public class task_06 {
public static void main(String[] args) {
int num = 2;
//条件为true时
if (num < 5){
num++;
System.out.println("num=" + num);//输出结果:num = 3;
}else {
num--;
System.out.println("num=" + num);
}
//条件为false时
if (num > 10){
num++;
System.out.println("num=" + num);//输出结果:num = 3;
}else{
num--;
System.out.println("num=" + num);//输出结果:num = 2;
}
}
}
7、多分支
语法:
if(条件语句1){
代码块1
}else if(条件语句2){
代码块2
…… 注:else if 不限次数
}else{
代码块3
}
说明:进行条件判断,如果为true则执行相应代码块。
注:这里最后的else可以不写,如果没写且条件语句都不符合则跳过判断不运行。
多重判断是有前后顺序的,不可以任意顺序。
例:
import java.util.Scanner;
public class task_05 {
public static void main(String[] args) {
// 1 if语句
// 读入一个整数,表示一个人的年龄。如果小于6 岁,则输出“儿
// 童”,6 岁到13 岁,输出“少儿”;14 岁到17 岁,输出“青少年”;18 岁到35 岁,
// 输出“青年”;36 岁到50 岁,输出“中年”;50 岁以上输出“中老年”。
Scanner input = new Scanner(System.in);
System.out.println("请输入年纪:");
int age = input.nextInt();
if (age < 6){
System.out.println("儿童");
}else if (age <= 13){
System.out.println("少儿");
}else if(age <= 17){
System.out.println("青少年");
}else if(age <= 35){
System.out.println("青年");
}else if (age <= 50){
System.out.println("中年");
}else{
System.out.println("中老年");
}
8、随机数
语法:
随机产生0~9的随机数
int random = (int)(Math.random()*10);
9、switch
语法:
switch(表达式){
case 常量 1:
代码块1;
break;
case 常量2:
代码块2;
break;
default:
代码块3;
}
注:表达式中只能用的类型(int,short,byte,char,枚举,String)
例:
import java.util.Scanner;
public class task_05 {
public static void main(String[] args) {
//创建Scanner
Scanner input = new Scanner(System.in);
//提示输入
System.out.println("请输入第一位整数:");
//接收数据
int num1 = input.nextInt();
//提示输入
System.out.println("请输入第二位整数:");
//接收数据
int num2 = input.nextInt();
//提示运算符
System.out.println("请输入要进行运算的运算符:+、-、*、/");
//接收运算符
String operator = input.next();
//判断运算符
switch (operator){
case "+":
System.out.println(num1 + num2);
break;
case "-":
System.out.println(num1 - num2);
break;
case "*":
System.out.println(num1 * num2);
break;
default:
System.out.println(num1 / num2);
}
}
}