【大数据开发】Java语言基础——基本语法day02

1.运算符

1.1算术运算符
在这里插入图片描述

取余%的计算结果的正负由被除数决定

class Demo3 
{
	public static void main(String[] args) 
	{
		System.out.print(5%-2);
	}
}

在这里插入图片描述
自增运算符

class Demo3
{
	public static void main(String[] args)
	{
		int m = 6,n;
		n = m++;
		System.out.println("m:" + m + "\t" + "n:" + n);
	}
}

在这里插入图片描述

class Demo3
{
	public static void main(String[] args)
	{
		int m = 6,n;
		n = ++m;
		System.out.println("m:" + m + "\t" + "n:" + n);
	}
}

在这里插入图片描述

class Demo3
{
	public static void main(String[] args)
	{
		int m , n=5;
		m=++n + n++ + ++n;
		System.out.println("m:" + m + "\t" + "n:" + n);
	}
}

在这里插入图片描述

class Demo3
{
	public static void main(String[] args)
	{
		int m, n = 6;
		m = n-- + --n;
		System.out.println("m:" + m + "\t" + "n:" + n);
	}
}

在这里插入图片描述
1.2复合赋值运算符

+= -= *= /= %=

class Demo3
{
	public static void main(String[] args)
	{
		short s = 5;
		s = s+5;
		System.out.print(s);
	}
}

在这里插入图片描述

class Demo3
{
	public static void main(String[] args)
	{
		short s = 5;
		s += 5;
		System.out.print(s);
	}
}

在这里插入图片描述
结论:利用复合赋值运算符编译不会出错,内部做了强制类型转换

1.3关系运算符

  >=		<		<=		==		!=

运算符是有值的,由运算符和数据组合在一起的式子就是表达式

class Demo3
{
	public static void main(String[] args)
	{
		int a = 5, b = 6, c=8;
		System.out.println(a<b);
		System.out.println(a>b);
		System.out.println(c==88);
		System.out.println(c!=88);
	}
}

在这里插入图片描述
总结:关系表达式的值只有True和False两种情况
1.4逻辑运算符

&&(短路与) ||(短路或) !(非) &(逻辑与) |(逻辑或)

&&:短路与,如果左边的表达式为false,那么不会计算右边的表达式
&:逻辑与,如果左边的表达式为false,还会计算右边的表达式
||:短路或,如果左边的表达式为true,那么不会计算右边的表达式
|:逻辑或,如果左边的表达式为true,还会计算右边的表达式

1.5位运算符

&(与) |(或) ^(异或) ~(取反) <<(左移) >>(无符号右移)

在这里插入图片描述
&(与):
在这里插入图片描述
|(或):
在这里插入图片描述
^(异或)
在这里插入图片描述
注意:连续异或两次又得到结果7
~(取反)
在这里插入图片描述

class  Demo4
{
	public static void main(String[] args) 
	{
		System.out.println(~8);
	}
}

在这里插入图片描述
得到结果为-9

<<(左移)
在这里插入图片描述

class  Demo4
{
	public static void main(String[] args) 
	{
		System.out.println(6<<2);
	}
}

在这里插入图片描述
得到结果为24

>>(右移)

在这里插入图片描述
在这里插入图片描述
得到结果我-2

>>>(无符号右移)

在这里插入图片描述
用于进制转换,例如将十进制的60转换为16进制的数字
在这里插入图片描述
十进制转换为十六进制

class  Demo4
{
	public static void main(String[] args) 
	{
		int num = 60;
		int n1 = num&15;  //将数字与二进制1111相与,得到低4位
		int n2 = num>>>4;
		System.out.println(n2 + "" +(char)(n1-10+'a'));
	}
}

在这里插入图片描述
1.6三元运算符
1.7习题总结

class Demo5
{
	public static void main(String[] args) 
	{
		//最有效的方式计算2*8
		System.out.println(2<<3);

		//对两个整数变量进行交换
		int a=5, b=6;
		a=a^b;
		b=a^b;
		a=a^b;
		System.out.println("a=" + a +'\t' + "b=" + b);
		
		//利用三元运算符计算最大值max
		int x=6, y=9, z=78;
		int num = x<y?y:x;
		int max = num<z?z:x;
		System.out.println(max);
	}
}

1.8运算符的优先级
一元运算符–>算术运算符、位运算符–>关系运算符–>逻辑运算符–>得到计算结果

2.循环流程控制

  • if语句
//if或else下语句只有一条语句时,大括号可以省略
if(condition)
{
	//代码块
}
//else总是和离它最近的且没有else的if对应
else
{
	//代码块
}
  • switch语句
    switch遇到break或者大括号才会结束执行
    表达式值的类型:byte,short,int,char,枚举(jdk1.5),String(jdk1.7)
//switch遇到break或者大括号才会结束执行
//表达式值的类型:byte,short,int,char,枚举(jdk1.5),String(jdk1.7)
Switch(表达式) 
{
	case 取值1:
				执行语句;
				break;
	case 取值2:
				执行语句;
				break;
	case 取值3:
				执行语句;
				break;
	......
	default:
				执行语句;
}
Switch(表达式) 
{
	//依次执行,直到找到第一个break
	default:
				执行语句;
	case 取值1:
				执行语句;
				break;
	case 取值2:
				执行语句;
				break;
	case 取值3:
				执行语句;
				break;
	......
}
  • while语句
    判断循环条件是否成立, 如果循环条件条件成立, 循环体循环执行。 直到循环条件不成立。
while(条件)
{
	需要重复执行的代码块
}
  • do-while()语句
do{
	需要重复执行的代码块
}while(条件)

(1)先执行循环体, 再判断循环条件是否成立;
(2)如果循环条件成立, 继续执行循环体;
(3)如果循环条件不成立, 结束循环。
while循环和do-while循环的区别 :while循环可能一次都不会执行,而do-while循环至少执行一次。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值