1、运算符
*算数:+, -, *, /, %, ++, --
*关系:>, <, >=, <=, ==, != (结果是boolean类型)
*逻辑:&&, ||, ! (结果是boolean类型)
*字符串连接:+
*条件/三目:boolean?数1:数2
/*
1.算术运算符:+,-,*,/,%,++,--
1)%:取模/取余,余数为0即为整除
2)++/--:自增1/自减1,可在变量前也可在变量后
2.1)单独使用时,在前在后都一样
2.2)被使用时,在前在后不一样
a++的值为a------------(a--的值为a)
++a的值为a+1----------(--a的值为a-1)
*/
int a=5,b=5;
int c = a--; //1)将a--的值5赋值给c 2)a自减1变为4
int d = --b; //1)将--b的值4赋值给d 2)b自减1变为4
System.out.println(a); //4
System.out.println(b); //4
System.out.println(c); //5
System.out.println(d); //4
System.out.println(5%2); //1,商2余1
System.out.println(8%2); //0,商4余0----整除
System.out.println(2%8); //2,商0余2
int a=5,b=5;
a--; //相当于a=a-1
--b; //相当于b=b-1
System.out.println(a); //4
System.out.println(b); //4
int a=5,b=5;
int c = a++; //1)将a++的值5赋值给c 2)a自增1变为6
int d = ++b; //1)将++b的值6赋值给d 2)b自增1变为6
System.out.println(a); //6
System.out.println(b); //6
System.out.println(c); //5
System.out.println(d); //6
int a2=5,b2=5; //练习-----------9:50继续
a2++; //相当于a=a+1
++b2; //相当于b=b+1
System.out.println(a2); //6
System.out.println(b2); //6
2、分支结构
-
if结构:1条路
-
if...else结构:2条路
-
if...else if结构:多条路
-
switch...case结构:多条路
-
优点:效率高、结构清晰
-
缺点:只能对整数判断相等
-
break; 跳出switch
-
if结构
/*
1.if结构: 1条路
1)语法:
if(boolean){
语句块-----------基于条件执行的语句
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块(if结束)
若为false,则if直接结束
*/
//1)偶数的判断:
int num = 6; //带数(6,5)
if(num%2==0){
System.out.println(num+"是偶数");
}
System.out.println("继续执行...");
//2)满500打8折:
double price = 300.0; //消费金额 带数(600.0,300.0)
if(price>=500){ //满500
price*=0.8; //打8折
}
System.out.println("最终消费金额为:"+price);
if..else结构,二选一执行其中语句块
/*
2.if...else结构: 2条路
1)语法:
if(boolean){
语句块1
}else{
语句块2
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块1(整个结束)
若为false,则执行语句块2(整个结束)
3)说明:
语句块1和语句块2,必走其中之一
*/
//1)偶数、奇数的判断:
int num = 6; //带数(6,5)
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
System.out.println("继续执行...");
//2)满500打8折,不满500打9折
double price = 300.0; //消费金额 带数(600.0,300.0)
if(price>=500){
price*=0.8;
}else{
price*=0.9;
}
System.out.println("最终消费金额为:"+price);
if...else if结构
/*
3.if...else if结构: 多条路
1)语法:
if(boolean-1){
语句块1
}else if(boolean-2){
语句块2
}else if(boolean-3){
语句块3
}else{
语句块4
}
2)执行过程:
判断boolean-1,若为true则执行语句块1(结束),若为false则
再判断boolean-2,若为true则执行语句块2(结束),若为false则
再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束)
3)说明:
语句块1/2/3/4,只执行其中之一
*/
Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scan.nextDouble();//这里等待输入,输入后代码接着往下执行
//带数(888,-56,95,85,65,45)
if(score<0 || score>100){
System.out.println("成绩不合法");
}else if(score>=90){ //合法
System.out.println("A-优秀");
}else if(score>=80){
System.out.println("B-良好");
}else if(score>=60){
System.out.println("C-中等");
}else{
System.out.println("D-不及格");
}
switch..case结构。若case内没写break;该case的内容执行完会继续执行下面的case
int num = 2;
switch(num){ //byte,short,int,char,String(JDK1.7开始支持)
case 1: //if(num==1)
System.out.println(111);
break;
case 2: //以此为入口
System.out.println(222);
break; //跳出switch
case 3:
System.out.println(333);
break;
default: //所有case都未匹配时执行
System.out.println(666);
}
Scanner scan = new Scanner(System.in);//声明引用类型变量scan,Scanner对象初始化
System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 4.退卡");
//调用nextInt()方法实现控制台上的输入操作然后把输入的值赋值给command
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("存款处理...");
break;
case 2:
System.out.println("取款处理...");
break;
case 3:
System.out.println("查询余额处理...");
break;
case 4:
System.out.println("退卡成功");
break;
default:
System.out.println("输入错误");
}