运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符是对数值类型的变量进行运算的。在Java程序中使用的非常多。
| 运算符 | 运算 | 例 | 结果 |
|---|---|---|---|
| + | 正号 | +7 | 7 |
| - | 负号 | -7 | -7 |
| + | 加 | b = 11;-b | -11 |
| - | 减 | 1+\1 | 2 |
| * | 乘 | 1*6 | 6 |
| / | 除 | 6/2 | 3 |
| % | 取余 | 12%5 | 2 |
| 前++ 后++ | 自增(前)先运算后取值 自增(后)先取值后运算 | a=2;b=++a; a=2;b=a++ | a=3,b=3 a=3,b=2 |
| 前– 后– | 自减(前)先运算后取值 自减(后)先取值后运算 | a=2;b=–a; a=2;b=a– | a=1,b=1 a=1,b=2 |
| + | 字符串相加 | “abc”+“def” | “abcdef” |
public class ArithmeticOperator {
public static void main(String[] args) {
System.out.println(10 / 4); //从数学来看是 2.5, java 中是 2
System.out.println(10.0 / 4); //java 中是 2.5
double d = 10 / 4;//java 中 10 / 4 = 2, 2=>2.0
System.out.println(d);// 是 2.0
// % 的本质 看一个公式!!!! a % b = a - a / b * b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
// -10 % -3 = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
System.out.println(10 % 3); //1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); //1
System.out.println(-10 % -3);//-1
int i = 10;
i++;//自增 等价于 i = i + 1; => i = 11
++i;//自增 等价于 i = i + 1; => i = 12
System.out.println("i=" + i);//12
int j = 8;
//int k = ++j; //等价 j=j+1;k=j;
int k = j++; // 等价 k =j;j=j+1;
System.out.println("k=" + k + "j=" + j);//8 9
}
}
/,它的整数除和小数除有区别:整数之间做除法时,只保留整数部分而舍弃小数部分。a % b = a - a / b * b,这样我们就可以看到取模的一个本质。public class ArithmeticOperatorExercise{
public static void main(String[] args){
int days = 59;
int weeks = days / 7;
int leftDays = days % 7;
System.out.println(days + "天 合" + weeks + "星期零" + leftDays + "天");
double huaShi = 234.5;
double sheShi = 5.0 / 9 * (huaShi - 100);
System.out.println("华氏温度" + huaShi + " 对应的摄氏温度=" + sheShi);
}
}
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| == | 相等于 | 8 == 7 | false |
| != | 不等于 | 8 != 7 | true |
| < | 小于 | 8 < 7 | false |
| > | 大于 | 8 > 7 | true |
| <= | 小于等于 | 8<=7 | false |
| >= | 大于等于 | 8>=7 | true |
| instanceof | 检查是否为类对象 其实是检查类是否有继承关系 | “hsp” instanceof String | true |
public class ArithmeticOperatorExercise{
public static void main(String[] args){
int a = 9;
int b = 8;
System.out.println(a > b); //true
System.out.println(a >= b); //true
System.out.println(a <= b); //false
System.out.println(a < b);//false
System.out.println(a == b); //false
System.out.println(a != b); //true
boolean flag = a > b; //true
System.out.println("flag=" + flag);
}
}
用于连接多个条件(多个关系表达式)。
短路与 && , 短路或 ||,取反 !
逻辑与 &,逻辑或 |, 逻辑异或^
| a | b | a&b | a&&b | a|b | a||b | !a | a^b |
|---|---|---|---|---|---|---|---|
| T | T | T | T | T | T | F | F |
| T | F | F | F | T | T | F | T |
| F | T | F | F | T | T | T | T |
| F | F | F | F | F | F | T | F |
&& 与 逻辑与&的区别&&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高。& 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低&&。|| 与 逻辑或|的区别||短路或:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高。||。如果条件本身成立,结果为 false,否则为 true 。
a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false
System.out.println( (4 < 1) ^ (6 > 3) ); // true
赋值运算符就是将某个运算后的值,赋给指定的变量。
= int a = 10;//复合赋值运算符会进行类型转换
byte b = 3; b += 2;
// 等价
b = (byte)(b + 2);
b++; // b = (byte)(b+1);
条件表达式 ? 表达式 1: 表达式 2;
如果条件表达式为 true,运算后的结果是表达式 1;
如果条件表达式为 false,运算后的结果是表达式 2;
说明:这部分的例题因为博主有基础,此处就略过了。(OS:太多了,不想写了。)
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
只有单目运算符、赋值运算符是从右向左运算的。
| . () {} ; , | |
|---|---|
| R -> L | ++ – ~ !(data type) |
| L -> R | * / % |
| L -> R | + - |
| L -> R | << >> >>> 位移 |
| L -> R | < > <= >= instanceof |
| L -> R | == != |
| L -> R | & |
| L -> R | ^ |
| L -> R | | |
| L -> R | && |
| L -> R | || |
| L -> R | ? : |
| R -> L | = *= /= %= |
| += -= <<= >>= | |
| >>>= &= ^= |= |
从上到下,同行顺序从左列展示。
注意,通常会使用括号来改变优先顺序。
Java对各种变量、方法和类等命名时使用的字符序列称为标识符。
理解:凡是可以自己起名字的地方都叫 标识符。
被Java语言已经赋予了特殊的含义。用做专门用途的字符串。
用多了就知道了。不需要专门的记忆。
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java , 需要一个 扫描器(对象), 就是Scanner
import java.util.Scanner;
使用样例。
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
int age = sc.nextInt();
System.out.println("请输入薪资");
double salary = sc.nextDouble();
System.out.println("用户输入的名字是:" + name);
System.out.println("用户输入的年龄是:" + age);
System.out.println("用户输入的薪资是:" + salary);
}
}
这部分内容是基本功建议自行学习。