欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java中控制执行流程

时间:2023-07-03
Java中控制执行流程

一、运算符的种类二、运算符的使用

1、赋值(=)2、算术运算符3、关系预算符4、逻辑运算符5 、按位操作符6、移位操作符7、三元操作符8、字符串操作符+和+=9、类型转换操作符10 、Java没有sizeof()操作符


一、运算符的种类

算术运算符:+,-,*,/,%,++,–

赋值运算符:=

位移运算符:<<,>>,>>>,<<=,>>=,>>>=

按位运算符:&,|,~,^

关系运算符:>,>=,<,<=,==

逻辑运算符:&&,||,!

三目运算符:? :

字符串操作运算符:+、+=

二、运算符的使用 1、赋值(=)

赋值运算符是“=”,意思是取右边的值复制或传递给左边的值。右边的值可以是任何常数、变量、表达式(只要能生成一个值)。但足左边的值必须是一个明确的、已命名的的变量。但是不能把任何东西赋值给一个常数。
代码如下(示例):

public class Tank {float a = 0;public static void main(String[] args) {Tank t1 = new Tank();Tank t2 = new Tank();t1.a = 3;t2.a = 2;t1.a = t2.a;System.out.println("t1.a:"+t1.a);System.out.println("t2.a:"+t2.a);}}

2、算术运算符

Java算术运算符包括加号(+)、减号(-)、除号(/)、乘号(*)、取模(%)。整数除法会直接去掉结果的小数位,而不是四舍五入地圆整结果。

自增(++)和自减(–):增加一个单位或减少一个单位。当前缀递增或递减时,先运算后赋值;当后缀递增或递减时,先复制后运算。
代码如下(示例):

```javapublic class Tank {public static void main(String[] args) {int a = 1,b= 1;System.out.println("a+b:"+(a+b));System.out.println("a-b:"+(a-b));System.out.println("a*b:"+(a*b));System.out.println("a/b:"+(a/b));System.out.println("a++:"+(a++));System.out.println("++a:"+(++a));System.out.println("b--:"+(b--));System.out.println("--b:"+(--b));System.out.println("a:"+a);System.out.println("b"+b);//a+b:2//a-b:0//a*b:1//a/b:1//a++:1//++a:3//b--:1//--b:-1//a:3//b-1}}

3、关系预算符

关系运算符生成一个Boolean值的结果,比较的是操作数之间的关系。如果为真,则是true;若为假,则为false;其中等于和不等于适用于所有的基本数据类型,而其他比较符不适用于Boolean类型。因为Boolean值本身就是true和false,大小对于它没有实际意义。

==和!=比较的是对象的引用。因为创建对象的时,会在堆栈中分配一个空间。若是要比较两个对象的内容,则用equals()方法。

public class Tank {public static void main(String[] args) {Integer a = new Integer(47);Integer b = new Integer(47);System.out.println(a==b);System.out.println(a.equals(b));//false//true}}

4、逻辑运算符

在逻辑预算符中,“与(&&)”、“或(||)”,“非(!)”操作是适应与布尔值。不可将一个非布尔值当做布尔值在逻辑表达式中使用。
若是在使用String值的地方使用布尔值,布尔值会自动转换成适当的文本形式。
短路现象:
&&(与)也叫做短路与,因为只要当前项为假,它就不往后判断了,直接认为表达式为假
||(或)也叫做短路或,因为只要当前项为真,它也不往后判断了,直接认为表达式为真

public class Tank { static boolean test1(int val) { System.out.println("test1(" + val + ")"); System.out.println("result:" + (val < 1)); return val < 1; } static boolean test2(int val) { System.out.println("test2(" + val + ")"); System.out.println("result:" + (val < 2)); return val < 2; } static boolean test3(int val) { System.out.println("test3(" + val + ")"); System.out.println("result:" + (val < 3)); return val < 3; } public static void main(String[] args) { System.out.println("----------&&的短路测试----------"); boolean a = test1(0) && test2(2) &&test3(1); System.out.println("a:" + a); System.out.println("----------||的短路测试----------"); boolean b = test1(1) || test2(1) || test3(4); System.out.println("b:" + b); }// ----------&&的短路测试----------// test1(0)// result:true// test2(2)// result:false// a:false// ----------||的短路测试----------// test1(1)// result:false// test2(1)// result:true// b:true}

5 、按位操作符

按位操作符用来操作整数基本数据类型中的单个“比特(bit)”,即二进制位。对两个参数中对应的为执行布尔代数运算,并最终生成一个结果。

若输入的两个数都是1,测试按位“与(&)”生成一个输出位1,否则生成一个输出位0;若是输入位只有一个1,则是按位“或(|)”生成一个输出位1,只有两个输入位都是0,才会生成一个输出位0;若是输入位的某一个是1,则是按位“异或(^)”生成一个输出位1。按位“非(~)”,也称为取反操作符。其生成与输入位相反的值——若输入0,生成1;若输入1,则生成0; 6、移位操作符

.移位操作位用来处理整数的基本数据类型,运算对象也是二进制的“位”。

左位移操作符(<<):按照操作符右侧指定的位数将操作符左边的的操作数向左移动(在低位补0)。右位移操作符(>>):按照操作符右侧指定的位数将操作符左边的的操作数向右移动。“有符号”右位移操作符使用“符号扩展”:若符号为正,则在高位插入0;弱符号为负,则在高位插入1。“无符号”右位移操作符(>>>),使用“零扩展”。即无论正负,都在高位插入0;若对char、byte、short类型的数值进行位移处理时,在位移之前,会被转化成int类型,并且得到结果也是int类型。“位移”可与“等号”(<<=、>>=、>>>=)组合使用,则表示操作符左边的值会移动由右边的的值指定的位数。再将得到的结果赋值给左边的变量。 7、三元操作符

三元操作符也称条件操作符。如果布尔表达式为true,则取value1。若表达式为false,则取value2;
表达式为:
Boolean-exp ?value1 :value2;

8、字符串操作符+和+=

该操作符的作用是:连接不同的字符串。若表达式以一个字符串开头,那么后续所有的操作数都必须是字符串型的。

9、类型转换操作符

Java会将一种数据类型自动转换成另一种数据类型。

其中布尔类型不允许进行任何类型的转换处理,其它基本类型都可转换成别的基本数据类型。将float和double转型为整型值时,总是对该数字执行截尾。如果想要得到舍入的结果,就需要使用java.lang.Math中的round()方法。 10 、Java没有sizeof()操作符

在C和C++中,sizeof()操作符可以告诉你为数据项分配的字节数。使用这个操作符的最大原因是为了进行一些与存储空间有关的运算,使程序可以在不同平台上“移植”。
而Java不需要sizeof()操作符来满足这方面的需要,因为所有数据类型在所有机器中的大小是相同的。我们不必考虑移植问题——它已经被设计在语言中了。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。