运算符
加 +
减 -
乘 *
除 / 整数除以整数,得到的仍是整数,只看商,不看余数
取模 %
注意事项
一旦运算中有不同类型的数据,结果将会是范围大的
// int+double --> double +double
double result = a+2.5;加法
有三种常见用法
- 数值的加法
- 对于char类型,计算之前,char会被提升为int,然后再计算。char类型与int类型之间的对照关系见ASCII,Unicode
- 对于字符串String来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串。
public class Demo05Plus{
public static void main(String[] args){
String str1 = "Hello";
System.out.println(str1);
String str2 = "World";
System.out.println(str1+str2); // HelloWorld
// String + int --> String
System.out.println(str1+20); // Hello20
// String + int + int
// String + int
// String
System.out.println(str1+20+30); // Hello2030
System.out.println(str1+(20+30)); // Hello50
}
}自增自减
自增 ++
自减 –
使用格式: ++num,也可以num++
使用方式:
- 单独使用:不和其他任何操作混合
- 混合使用:和其他操作混合,例如与赋值混合,或与打印操作混合
使用区别:
- 单独使用时,前++与后++没有任何区别
- 混合使用时,有【重大区别】
A、【前++】,那么这个变量【立刻马上+1】,然后拿着结果进行使用 【先加后用】
B、【后++】,那么首先使用变量本来的数值,然后再让变量+1 【先用后加】
–同理
注意事项:
只有变量才能使用自增、自减运算符,常量不能
public class Demo06Operator{
public static void main(String args[]){
int num1 = 10;
System.out.println(num1);
++num1; //单独使用
System.out.println(num1);// 11
num1++;
System.out.println(num1);// 12
System.out.println("===============");
System.out.println(++num1);//前++,结果为13
System.out.println(num1++);//后++,结果为13
System.out.println(num1);// 14
}
}赋值运算符
= 、 += 、 -= 、 *= 、 /=、 %=
注意事项
- 只有变量才能使用赋值运算符,常量不能
- 复合运算符中隐含了一个强制类型转换
比较运算符
==、<、>、<=、>=、!=
注意事项:
- 比较运算符的结果一定是boolean值
- 如果进行多次判断,不能连着写 ,如1<x<3,可以连着写 1<x&&x<3
逻辑运算符
连接两个boolean值
与 &&
或 ||
非 !
注意事项:
- 与“&&”,或“||”,具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码不再执行,从而节省一定的性能
- 与“&&”,或“||”,如果有多个条件,可以连续写
条件A&&条件B&&条件C
三元运算符
一元运算符:如取反!、自增++、自减–
二元运算符:如加法+、赋值=
三元运算符:
格式:
数据类型 变量名称 = 条件判断 ? 表达式A:表达式B
条件判断为true,将表达式A的值赋给左侧的变量,繁殖将表达式B的值赋给左侧的变量
注意事项:
- 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
- 三元运算符的结果必须被使用
方法(面向对象)
定义一个方法的格式:
public static void 方法名称(){
方法体
}方法名称的命名规则和变量一样,使用小驼峰
注意事项:
- 方法定义的先后顺序无所谓
- 方法的定义不能产生嵌套包含关系
- 方法定义好了之后不会执行,如果要执行,一定要进行方法的【调用】
如何调用方法:
方法名称();
public class Demo11Method{
public static void main(String[] args){
//调用厨子的方法
cook();
}
public static void farmer(){
System.out.println("农民");
}
public static void seller(){
System.out.println("小商贩");
}
public static void cook(){
System.out.println("厨子");
}
public static void me(){
System.out.println("我");
}
}jshell:轻量级
是一种命令解析器,在cmd窗口输入jshell即可进入
编译器的两点优化

选择结构
if-else if-else格式
if(关系表达式){
执行语句1;
}else if (判断条件2){
执行语句2;
}
...
else if (判断条件n){
执行语句n;
}else{
执行语句n+1;
}switch格式
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}switch语句注意事项
- 多个case后面的数值不能重复
- switch后面小括号当中只能是下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举 - switch语句格式可以很灵活:前后顺序可以颠倒,break语句还可以省略
匹配哪一个case就从哪一个位置向下执行,直到遇到了break或整体结束为止,下面优case就穿透他
















