Java(四)运算符

运算符

算数运算符

+-*/%++
求和求差求乘积求商求余数自加1自减1
  • 注意:运算符有优先级,在一个表达式中,可以通过添加括号的方式来提升运算符的优先级

关于加减乘除取余的简单栗子:

public class One01
{
	publc static void main(String[] args){
	int i = 10;
	int j = 3;
	System.out.println(i + j);//输出结果为:13
	System.out.println(i - j);//输出结果为:7
	System.out.println(i * j);//输出结果为:30
	System.out.println(i / j);//输出结果为:3
	System.out.println(i % j);//输出结果为:1
	}
}

像++和–属于单目运算符,可以出现在单个变量后面或前面,对其进行算数运算

int k = 10;
k ++;
System.out.println(k);//输出结果为:11
int l = 10;
++ y;
System.out.println(y);//输出结果为:11
//++出现在变量后:
int a = 100;
int b = a ++;//注意先算 b = ,再算 a ++
System.out.println(b);//输出结果为:100
//++出现在变量前:
int m = 10;
int n = ++ m;//注意先算 m ++ ,再算 n = 
System.out.println(n);//输出结果为:11
//变形(与上面的同一原理)
int e = 10;
System.out.println(e ++);//输出结果为:10
System.out.println(++ e);//输出结果为:11

关系运算符

>>=<<===!=
大于大于等于小于小于等于等于不等于
  • 注意:
    = 是赋值运算符
    == 是关系运算符
    关系运算符结果一定是布尔类型:true / false
int a = 100;
int b = 100;
System.out.println(a > b);//输出结果为:false
System.out.println(a >= b);//输出结果为:true
System.out.println(a < b);//输出结果为:false
System.out.println(a <= b);//输出结果为:true
System.out.println(a == b);//输出结果为:true
System.out.println(a != b);//输出结果为:flase

逻辑运算符

- 逻辑与		&
- 逻辑或		|
- 逻辑非		!
- 逻辑异或		^(相同为假,不同为真)

- 短路与		&&
- 短路或		||
  • 注意:
    1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型
    2、短路与和逻辑与的运算结果是相同的,只不过短路与存在短路现象
    3、短路或和逻辑或的运算结果是相同的,只不过短路或存在短路现象
int x = 100;
int y = 10;

//逻辑与
System.out.println( x < y & ++x < y );//与运算前面为假则全为假,但是对于逻辑与则要计算两个算子
System.out.println(x);//输出结果为:101

//短路与
System.out.println( x < y && ++x < y );//与运算前面为假则全为假,但是对于短路与得到结果就不会计算后面的算子了
System.out.println(x);//输出结果为:100
/*
从某个角度看,短路与不运行后面的代码,可以提高执行效率
但对于某些特殊的业务逻辑当中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与。
*/
//逻辑或和短路或也是相同的原理

赋值类运算符

  • 基本的赋值运算符
    =
    赋值类运算符优先级:先执行登号右边的表达式,将执行结果赋值给左边的变量

  • 扩展的赋值运算符(不敢变运算类型)
    +=
    -=
    *=
    /=
    %=

public class Test01
{
	public static void main(String[] args)
	{
		int i = 10;
		System.out.println(i);//赋值10给变量i
		i = i + 5;
		System.out.pringln(i);//赋值i+5给变量i,输出结果为15
		i += 5;//等同于 i = i + 5;
		i -= 5;//等同于 i = i - 5;
	}
}

***注意:进行不同类型的赋值运算要添加强制转换符。***(可能损失精度)

字符串连接运算符

1、+运算在java语言中有两个作用:

  • 加法运算,求和计算
  • 字符串的连接运算
    2、当“+”运算符的两边都是数字的时候,一定进行加法运算。
    3、当“+”运算符两边的数据有一个是字符串的话,就一定会进行字符串的连接
public class Test02
{
	public static void main(String[] args)
	{
	int a = 10;
	int b = 20;
	System.out.println(a  + "+" + b  + "=" + (a + b));
	//最前面的变量a和b都在引号外,是变量变量和字符串+之间要用 + 连接,输出结果为:10 + 20 = 30
	}
}

三目运算符

1、语法规则:
布尔表达式 ? 表达式1 : 表达式2
2、执行原理:
当布尔表达式为真的时候,执行表达式1
当布尔表达式为假的时候,执行表达式2

public class Test03
{
	public static void main(String[] args)
	{
	int a = 10;
	int b = 20;
	System.out.println((a < b) ? b : a);//输出a和b中的最大值
	System.out.println((a < b) ? a : b);//输出a和b中的最小值
	}
}

判断语句

if 语句
  • 格式:
    if(布尔表达式)
    {
    核心语句;
    }
    注意:对于java语句中的if 来说,只要有一个分支执行,整个if 语句全部结束。(注意书写规范,便于语句的使用)
接受用户键盘输入
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入数字:");//输出后不自动换行
int age  = s.nextInt();
System.out.println(age);//输出用户输入的数字
switch语句
  • 语法结构:
    switch(int或String类型的字面值或变量)
    {
    case int或String类型的字面值或变量 :
    java语句;
    ······
    break;
    case int或String类型的字面值或变量 :
    java语句;
    ······
    break;
    ······
    default :
    java语句;
    ······
    }

  • 执行原理:
    switch后面的小括号当中的“数据”和case后面的“数据”进行一一匹配,匹配成功的分支执行
    按照自上而下的顺序依次匹配
    匹配成功的分支执行,分支当中最后有“break”语句的话,整个switch语句终止,若没有则进入下一个分支(不进行匹配),这种现象叫做case穿透现象,因此使用break语句可以避免穿透现象的发生。

  • 注意:byte,short,char可以自动转换成int类型,固可以直接写在switch和case后面

  • case 可以合并
    case 1: case 2 : case 3:
    System.out.println(“Hello World !”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值