学习笔记,仅供参考
文章目录
- JAVA基础语法
- 运算符
- 算数运算符
- 算术运算符
- ++和--
- 赋值运算符
- 关系运算符
JAVA基础语法
运算符
- 什么是运算符
就是对常量和变量进行操作的符号。
- 运算符的分类
算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
算数运算符
算术运算符
+, -, *, /, %, ++, --
- 注意事项
-
+
加号在java中有三种作用,代表正号,做加法运算,字符串的连接符 - 整数相除只能得到整数。如果想得到小数,必须把数据类型转化为浮点数类型
-
/
获取的是除法操作的商,%
获取的是除法操作的余数 -
%
运算符
- 当左边的绝对值小于右边绝对值时,结果是左边
- 当左边的绝对值等于右边或是右边的倍数时,结果是0
- 当左边的绝对值大于右边绝对值时,结果是余数
-
%
运算符结果的符号只和左边有关系,与右边无关 - 任何一个正整数
%2
结果不是0就是1可以用来当作切换条件
- 举个例子
class OperatorTest {
public static void main(String[] args) {
System.out.println(10/3);
System.out.println(10/3.0);
System.out.println(3 % 5);
System.out.println(10 % 5);
System.out.println(10 % 4);
System.out.println(-7 % 3);
System.out.println(7 % -3);
}
}
输出:
3
3.3333333333333335
3
0
2
-1
1
++和–
- ++和–运算符的作用
-
++
: 自加,对原有的数据进行+1 -
--
: 自减,对原有的数据进行-1
- 单独使用++或–
class OperatorTest {
public static void main(String[] args) {
int a = 3;
a++; //a = a+1
System.out.println(a);
++a; //a = a+1
System.out.println(a);
}
}
输出:
4
5
当我们在单独使用++
时,它在a之前和a之后的效果都是一样的,都相当于a = a+1
- 参与运算时使用++或–
++
在变量之后
class OperatorTest {
public static void main(String[] args) {
int a = 3;
int b;
b = a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
输出:
a = 4
b = 3
当++
在变量a后面时(a++
),会先将变量中的值取出来,做赋值操作(b = a
),然后再自身加1(a = a + 1
)
++
在变量之前
class OperatorTest {
public static void main(String[] args) {
int a = 3;
int b;
b = ++a;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
输出:
a = 4
b = 4
当++
在变量之前的时候(++a),会先自身加1(a = a + 1
),然后将加1后的结果做赋值操作(b = a
)
- 举个例子1
class OperatorTest2 {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = 10;
a = b++; //a = 10, b = 11
c = --a; //a = 9, c = 9
b = ++a; //a = 10, b = 10
a = c--; //c = 8, a = 9
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
输出:
a = 9
b = 10
c = 8
- 举个例子2
class OperatorTest3 {
public static void main(String[] args) {
int x = 4;
int y = (x++) + (++x) + (x*10); //4 + 6 + 6*10
System.out.println("y = " + y);
}
}
输出:
y = 70
- 举个例子3
下面两种自身加1的情况中,哪种情况会报错?
class OperatorTest4 {
public static void main(String[] args) {
byte b = 10;
b++; //b = (byte)(b + 1);
//b++;会自动帮我们进行强制类型转换,则不会报错
b = b + 1; //因为byte + int --> int
//如果不进行强制转换,则会报错
System.out.println("b = " + b);
}
}
赋值运算符
- 基本的赋值运算符:=
a = b
是把=
右边的b赋值给左边的a,左边一定是变量,不能是常量。
- 扩展的赋值运算符:+=,-=,*=,/=,%=
a+=1
把左边的a和右边的1做加法,然后赋值给左边的a
- 举个例子
class OperatorTest5 {
public static void main(String[] args) {
int a = 3;
int b = 2;
int c;
a += 4;
System.out.println("a = " + a);
b *= 3;
System.out.println("b = " + b);
c = b;
System.out.println("c = " + c);
}
}
输出:
a = 7
b = 6
c = 6
关系运算符
- 关系运算符有哪些(比较运算符,条件运算符)
==, !=, >, >=, <, <=
- 注意事项
- 无论操作是简单还是复杂,结果都是是boolean类型。
-
==
不能写成=
- 举个例子
class OperatorTest6 {
public static void main(String[] args) {
System.out.println(4 == 3);
System.out.println(4 != 3);
System.out.println(4 > 3);
System.out.println(4 >= 3);
System.out.println(4 < 3);
System.out.println(4 <= 3);
}
}
输出:
false
true
true
true
false
false