博主:命运之光
专栏:JAVA入门
学习目标 掌握变量、常量、表达式的概念,数据类型及变量的定义方法;
掌握常用运算符的使用; 掌握程序的顺序结构、选择结构和循环结构的使用;
掌握数组的定义及使用方法;
掌握基本的输入输出方法;
## 运算符
Java中的语句有很多种形式,表达式就是其中一种形式。表达式是由操作数与运算符所组成:操作数可以是常量、变量也可以是方法,而运算符就是数学中的运算符号,如“+”、“-”、“*”、“/”、“%”等。以下面的表达式(z+100)为例,“z”与“100”都是操作数,而“+”就是运算符。
赋值运算符
赋值运算符分为两种:
- 简单赋值运算符 “ = ”
作用是为变量赋值,不能为常量或表达式赋值。当赋值运算符两边的数据类型不一致时,使用自动类型转换或强制类型转换原则进行处理。
int n = 10 ;//声明并赋值
int a, b, c;//连续声明
a = b = c = 10;//多个变量同时赋值,表达式等价于c = 10; b = c; a = b;
int x = y = z = 10;//错误,Java不支持此语法
- 复合赋值运算符 :
🍓🍓例: 使用复合赋值运算符。
public class text1 {
public static void main(String args[]) {
int num = 10;
num *= 2;
System.out.println(num);
}
}
🍓使用复合赋值运算符的好处。
- 语法简洁;🍍🍍🍍
- 运算时可以自动在底层完成数据类型的转换;🍍🍍🍍
算术运算符
🍓🍓例1: 求模(求余)运算。
public class text1 {
public static void main(String args[]) {
int numA = 10;
int numB = 3;
System.out.println(numA % numB);
}
}
可以利用与2求模来判断奇偶数(偶数模2为0,奇数模2为1)
🍓🍓例2: 加,减,乘,除运算。
public class text1 {
public static void main(String args[]) {
int numA = 10;
int numB = 20;
System.out.println("加法计算:" + (numA + numB));
System.out.println("减法计算:" + (numA - numB));
System.out.println("乘法计算:" + (numA * numB));
System.out.println("除法计算:" + (numA / (double) numB));
}
}
- 两个整数相除,结果只保留整数部分;
- 除数和被除数若有一个非整数,则结果为浮点数。
🍓🍓例3: 字符串连接运算‘+’。
需要满足一个前提条件:表达式中至少有一个字符串
public class text1 {
public static void main( String args[ ] ) {
int num = 10;
System.out.println( "除法运算结果为:" + num/3.0);
}
}
3.0默认为double型,所以除法运算最终结果为浮点数
🍓🍓例4:自增运算符(前置) 。
public class text1 {
public static void main(String args[]) {
int numA = 10; // 定义整型变量
int numB = 20; // 定义整型变量
// “++”写在变量前面,表示先对numA的变量内容加1
// 使用处理后的numA变量的内容 + numB变量的内容
int result = ++numA + numB;
System.out.println("numA = " + numA);
System.out.println("result = " + result);
}
}
🍓🍓例5:自增运算符(后置)。
public class text1 {
public static void main(String args[]) {
int numA = 10; // 定义整型变量
int numB = 20; // 定义整型变量
// “++”写在后面,表示先使用numA的内容进行加法计算
// 加法计算完成之后在对numA的内容进行自增
int result = numA++ + numB;
System.out.println("numA = " + numA);
System.out.println("result = " + result);
}
}
关系运算符
关系运算符的主要功能是进行数据的大小关系比较,返回的结果是boolean型数据(只有true、false两种取值)。
除==和!=运算符 之外, 其他关系运算符都只支持左右两边的操作数 都是数值类型的情况
🍓🍓例:使用关系运算符。
public class text1 {
public static void main(String args[]) {
System.out.println("3 > 1 = " + (3 > 1)); // 使用大于号
System.out.println("3 < 1 = " + (3 < 1)); // 使用小于号
System.out.println("3 >= 1 = " + (3 >= 1)); // 使用大于等于号
System.out.println("3 <= 1 = " + (3 <= 1)); // 使用小于等于号
System.out.println("3 == 1 = " + (3 == 1)); // 使用等于号
System.out.println("3 != 1 = " + (3 == 1)); // 使用不等于号
}
}
逻辑运算符
==&—逻辑与 | —逻辑或 !—逻辑非 && —短路与 || —短路或 ^ —逻辑异或==
逻辑运算符用于操作 两个布尔型的变量和常量,其结果仍是 布尔类型值。
🍓🍓例1:逻辑非(!),普通逻辑与(&)运算。
public class text1 {
public static void main(String args[]) {
boolean flag1 = true; // 定义布尔型变量
boolean flag2 = (1 == 2) & (10 / 2 == 0); //普通与运算结果赋值给布尔变量
System.out.println(!flag1); // 对变量结果进行非操作
System.out.println(flag2);
}
}
🍓🍓例2:短路与(&&)运算。
public class text1 {
public static void main(String args[]) {
boolean flag = (1 == 2) && (10 / 0 == 0); //短路与运算结果赋值给布尔变量
System.out.println(flag);
}
}
🍓🍓例3:普通或( | )操作。
public class text1 {
public static void main(String args[]) {
boolean flag = (1 == 1) | (10 / 0 == 0); //短路与运算结果赋值给布尔变量
System.out.println(flag);
}
}
🍓🍓例4:短路或( || )操作。
public class text1 {
public static void main(String args[]) {
boolean flag = (1 == 1) || (10 / 0 == 0); //短路与运算结果赋值给布尔变量
System.out.println(flag);
}
}
总结:
- 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 ;
- “&”和“&&”的区别:
1.单&时,左边无论真假,右边都进行运算;
2.双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。3.“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
条件运算符
条件运算符是三目运算符。执行三目的时候可以以一个布尔表达式的结果进行赋值,基本的语法结构如下:
数据类型 变量 = 布尔表达式 ? 满足此表达式时设置的内容 : 不满足此表达式时设置的内容 ;
public class text1 {
public static void main(String args[]) {
int numA = 10; // 定义int型变量
int numB = 20; // 定义int型变量
// 如果numA大于numB,返回true,则将numA的内容赋值给max
// 如果numA小于numB,返回false,则将numB的内容赋值给max
int max = numA > numB ? numA : numB;
System.out.println(max);
}
}
运算符优先级
建议:运算符的优先级不必专门去记,可以适当使用()去改变优先级。