今天学习了一些Java所需要的运算符
一、算数运算符
算术运算符包括+、-、*、/和%五个符号
在除法运算中只要有负数参与除法,得到的结果只能是负数
如果想要得到小数只能这样
示例:
System.out.println(a*1.0/b);
每一个运算符的示例:
public class timo {
public static void main(String[] args) {
int a=20;
int b=-19;
System.out.println(a+b);//+
System.out.println(a-b);//-
System.out.println(a*b);//*
System.out.println(a/b);//除法
System.out.println(a%b);//取余
}
}
结果:
(1)、字符“+”的操作
这里直接上代码演示
public class timo{
public static void main(String[] args) {
int t=10;
char m='A';
System.out.println(t+m);
}
}
结果
输出结果可知字符”A”代表的数值为65,如果想知道更多字符代表的数值可参考ACSII表。
算术表达式中包含多个基本数据类型的值时,整个算数表达式类型会自动提升
提升规则如下:
(2)、字符串“+”的操作
啥也不说咱们直接直接上代码
public class timo {
public static void main(String[] args) {
System.out.println("feng"+"timo");
System.out.println("timo"+1219);
System.out.println(1314+"timo");
System.out.println("timo"+5+20);
System.out.println(13+14+"timo");
}
}
结果
小结:
二、赋值运算符
赋值运算符常用的有以下几个:
= += -= *= /= %=
使用时的注意事项:
1:复合的赋值运算符,有强制类型转换的能力;
2:byte,short,char在进行算术运算的时候,会自动提升为int类型,然后再进行算术运算;
3:赋值运算符的左边必须是变量;
示例:
public class fuzhiyunxuan {
public static void main(String[] args) {
int t=8;
//以下运算符 += *= %= 这些操作都是把左边和右边的数据做运算,结果赋值给左边
t+=3;
System.out.println("t="+t);
t*=12;
System.out.println("t="+t);
t%=19;
System.out.println("t="+t);
//扩展的赋值运算符底层隐含了强制转换
short m=12;
//m+=19;
m=(short) (m+19);
System.out.println("m="+m);
}
}
结果:
三、自增自减运算符
代码示例:
public class zizeng {
public static void main(String[] args) {
int t = 8;
System.out.println("t=" + t);//8
System.out.println("---------------");
//自增运算符单独使用
t++;
++t;
System.out.println("t=" + t);//10
//自增运算符复合使用
int m = ++t;
int f = m++;
System.out.println("t=" + t);//11
System.out.println("m=" + m);//12
System.out.println("f=" + f);//11
}
}
结果:
小结:
四、关系运算符
关系运算符包括以下集中:> < >= <= == !=
代码示例:
public class guanxi {
public static void main(String[] args) {
int t = 12;
int i = 19;
int f = 12;
//==
System.out.println(t == i);//false
System.out.println(t == f);//true
System.out.println("----------");
//!=
System.out.println(t != i);//true
System.out.println(t != f);//false
System.out.println("----------");
//<= >=同理
System.out.println(t <= i);//true
System.out.println(t <= f);//true
System.out.println("----------");
//< >同理
System.out.println(t < i);//true
System.out.println(t < f);//false
System.out.println("----------");
}
}
小结:关系运算符的结果只能是布尔值。
(1)、逻辑运算符
单个运算符和两个运算符代码格式一样 结果也相同
代码示例:
public class luoji {
public static void main(String[] args) {
int f = 1314;
int i = 2019;
int t = 1219;
//& 有false则false
System.out.println((f++<i)&&(f++>t));//t&&t t
System.out.println((f++<i)&&(f++<t));//t&&f f
System.out.println((f++>i)&&(f++>t));//f&&t f
System.out.println((f++>i)&&(f++<t));//f&&f f
System.out.println("----------------");
//| 有true则true
System.out.println((f++<i)||(f++>t));//t||t t
System.out.println((f++<i)||(f++<t));//t||f t
System.out.println((f++>i)||(f++>t));//f||t t
System.out.println((f++>i)||(f++<t));//f||f f
System.out.println("----------------");
System.out.println(f);
}
}
结果自行测试
小结(包含短路逻辑运算符):
(2)、三元运算符
格式:数据类型 变量名=关系表达式?表达式1:表达式2;
执行流程:
结果1: 当表达式为true的时候,结果1生效;
结果2: 当表达式为fasle的时候,结果2生效;
代码示例:
public class sanyuan {
public static void main(String[] args) {
int a =13;
int b=14;
//问号前方为t 输出则为冒号前边的变量的值 反之则输出冒号后边的值
int max=a>b?a:b;
System.out.println(max);//14
int min=a<b?a:b;
System.out.println(min);//13
}
}
代码以上结果自测。
五、流程控制语句
(1)、if语句
代码格式:
if (关系表达式) {
语句体;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
代码示例:
public class ifyuju {
public static void main(String[] args) {
int a =1;
int b=2;
if (a<b){
System.out.println("a<b");
}
}
}
结果自测
(2)、if…else语句
代码格式:
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
代码示例;
public class ifyuju {
public static void main(String[] args) {
int a =1;
int b=2;
if (a<b){
System.out.println("a<b");
}else{
System.out.println("a>b");
}
}
}
输出结果自行测试
(3)、If…else…if语句:
代码格式:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1
代码示例:
public class ifyuju {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个数字:");
int a =sc.nextInt();
if (a==0&&a<0){
System.out.println("a既不是奇数也不是偶数");
}else if(a%2==0&&a>0){
System.out.println("a为偶数");
}else {
System.out.println("a为奇数");
}
}
}//输出结果自行测试
六、最后练习了Scanner
执行流程:
键盘录入数据的步骤:
A:导包(位置放到class定义的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();
代码示例:
package com.Timo;
import java.util.Scanner;
/*
* 键盘录入三个数据,获取这三个数据中的最大值
*/
public class timo {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int t = sc.nextInt();
System.out.println("请输入第二个数据:");
int m = sc.nextInt();
System.out.println("请输入第三个数据:");
int f = sc.nextInt();
// 如何获取三个数据的最大值
int temp = (t > m ? t : m);
int max = (temp > f ? temp : f);
System.out.println("最大值为:" + max);
}
}
总结
经过第二天的学习 简单的学习了一些运算符
附上运算符的优先级表希望可以帮到大家,今天就到这里了,下次见,么么哒。