Started at No.57
long型不加l自动认为是int型,可能会溢出
float型后一定要加f
整型常量,默认类型为int型
浮点型常量,默认类型为double型
例: float i1 = b + 1;\这个1会默认为double
字符串
string i1 = “Hello World!”;
int number = 1001;
String numberStr = “学号:”;
String info = numberStr + number;//+是连接运算
字符串做运算后还是字符串
在运算中,单引号内会被当成字符,双引号会被当成字符串,字符串之前的加号会被认为是连接运算
二进制、八进制、十进制、十六进制
运算符:
(前)++ :先自增1再运算;
(后)++:先运算,后自增1;
(前)— 和 (后)— 同理;
练习:随意给出一个三位数的整数,输入其个位、十位、百位。
通过加减乘除取余来算
对比之下MATLAB真他妈方便我操
扩展运算符:
连续赋值:i2 = j2 = 10;
num1 += 2;//same as num1 = num1 + 2
其余同理
例题:
int n = 10;
n += (n++) + (++n);//answer is 32.The equation is similar to n = n + (n++) +(++n)
// n = 10 + 10 + 12;
比较语句;
- class Scratch {
- public static void main(String[] args) {
- int i1 = 10;
- int j1 = 10;
- System.out.println(i == j);//ture
- System.out.println(i = j);//10
- }
- }
逻辑运算符:
区分&与&&:
- class Scratch {
- public static void main(String[] args) {
- boolean b1 = true;
- int num1 = 10;
- if (b1 & (num1++ > 0)) {
- System.out.println(“阿巴阿巴阿巴”);
- }else {
- System.out.println(“胡巴胡巴胡巴”);
- }
- System.out.println(“num1 = “ + num1);
- boolean b2 = false;
- int num2 = 10;
- if (b1 && (num1++ > 0)) {
- System.out.println(“阿巴阿巴阿巴”);
- }else {
- System.out.println(“胡巴胡巴胡巴”);
- }
- System.out.println(“num1 = “ + num2);
- }
- }
输出:
阿巴阿巴阿巴
num1 = 11
阿巴阿巴阿巴
num2 = 10
上面的第二块代码没有进行++运算,因为&&把后面的++短路了
&&是一种节约资源的与运算,如果前半部分已经可以判定结果,那么后面的计算会被跳过
| 和 || 同理
位运算符
上图运算为二进制,左移几位就是乘2的几次方,右移就是除以
逻辑运算就是两个数变成二进制后的逻辑运算
Ended at No.84