java基础--操作符
Posted knight11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础--操作符相关的知识,希望对你有一定的参考价值。
1.操作符
在Java中操作符有以下几类:
- 算术运算符
- 关系操作符
- 逻辑运算符
- 位操作符
- 赋值操作符
- 三元操作符
1.1算术运算符
常见的操作符有:+,-,*,/,%,++,--
1.1.1基本的加 减 乘 除
public class HelloWorld { public static void main(String[] args) { int i = 10; int j = 5; int a = i+j; int b = i - j; int c = i*j; int d = i /j; } }
1.1.2从键盘读取数据
需要用到从控制台输入数据,所以需要用到Scanner类,这个类在java.util包中 。
可以使用scanner中的方法:
- next():读取一行数据
- nextLine():读取一行数据
- nextInt():读取一个整型数据
- 同理还可以是其他类型如nextFloat()等等
例子:从键盘输入两个数,并输出他们的和
import java.util.*; public class addNum { public static void main(String[] args) { System.out.print("first num:"); int num1=new Scanner(System.in).nextInt(); System.out.print("second num:"); int num2=new Scanner(System.in).nextInt(); System.out.println("the sum is:"+(num1+num2)); } }
1.1.3取模%与取整/
int i=13%2;//i=1
int j=13/2;//j=6
1.1.4自增与自减(++,--)
在原来的基础上增加1或者减少1
public class HelloWorld { public static void main(String[] args) { int i = 5; i++; System.out.println(i);//输出为6 } }
但自增与自减有前置和后置的区别:
前置++:先+1,后取值
后置++:先取值,后+1
public class HelloWorld { public static void main(String[] args) { int i = 5; System.out.println(i++); //输出5 System.out.println(i); //输出6 int j = 5; System.out.println(++j); //输出6 System.out.println(j); //输出6 } }
1.1.6小程序BMI
BMI的计算公式是 体重(kg) / (身高*身高)
import java.util.Scanner; public class BMI { public static void main(String[] args) { System.out.print("请输入你的体重:"); float weight=new Scanner(System.in).nextFloat(); System.out.print("请输入你的身高:"); float height=new Scanner(System.in).nextFloat(); System.out.println("你的BMI为:"+weight/(height*height)); } }
1.2关系操作符
常见的关系操作符有:>, >= ,< , <= ,,== ,!=
public class HelloWorld { public static void main(String[] args) { int a = 5; int b = 6; int c = 5; System.out.println(a>b); //返回 false System.out.println(a>=c); //返回 true System.out.println(a==b); //返回false System.out.println(a!=b);//返回true } }
1.3逻辑运算符
常见的逻辑运算符有:&,|,!,&&,||,^
1.3.1与,或,非
与:只有都为真时才为真
或:只要有一个为真则为真
非:取反
public class HelloWorld { public static void main(String[] args) { //长路与 无论第一个表达式的值是true或者false,第二个的值,都会被运算 int i = 2; System.out.println( i== 1 & i++ ==2 ); //无论如何i++都会被执行,所以i的值变成了3 System.out.println(i); //短路与 只要第一个表达式的值是false的,第二个表达式的值,就不需要进行运算了 int j = 2; System.out.println( j== 1 && j++ ==2 ); //因为j==1返回false,所以右边的j++就没有执行了,所以j的值,还是2 System.out.println(j); } }
1.3.2&&,||
&&:只要第一个表达式为假,则后面的不用计算,直接为假
||:只要第一个表达式为真,则为真,后面的不用计算
public class HelloWorld { public static void main(String[] args) { //长路或 无论第一个表达式的值是true或者false,第二个的值,都会被运算 int i = 2; System.out.println( i== 1 | i++ ==2 ); //无论如何i++都会被执行,所以i的值变成了3 System.out.println(i); //短路或 只要第一个表达式的值是true的,第二个表达式的值,就不需要进行运算了 int j = 2; System.out.println( j== 2 || j++ ==2 ); //因为j==2返回true,所以右边的j++就没有执行了,所以j的值,还是2 System.out.println(j); } }
1.3.3异或^
不同为真,相同为假。
public class HelloWorld { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println(a^b); //不同返回真 System.out.println(a^!b); //相同返回假 } }
1.4位操作符
常见的位操作符有:&,|,!,^,<<,>>
1.4.1位或|
0|0=0,其他都为1
public class wiehuo { public static void main(String[] args) { int i=2,j=3; System.out.println(Integer.toBinaryString(i));//10 System.out.println(Integer.toBinaryString(j));//11 System.out.println(i|j);//3 System.out.println(Integer.toBinaryString(i|j));//11 } }
Integer.toBinaryString():可以将一个数转化为2进制
1.4.2位与&
1&1=1,其他为0
public class weiyu { public static void main(String[] args) { int i=5,j=6; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(j));//110 System.out.println(Integer.toBinaryString(i&j));//100 System.out.println(i&j);//4 } }
1.4.3异或^
相同为0,相异为1.
public class yihuo { public static void main(String[] args) { int i=5,j=6; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(j));//110 System.out.println(Integer.toBinaryString(i^j));//011 System.out.println(i^j);//3 } }
1.4.4左移,右移
左移:根据一个整数的二进制表达,将其每一位都向左移动,最右边一位补0
右移:根据一个整数的二进制表达,将其每一位都向右移动
public class weiyi { public static void main(String[] args) { int i=5; System.out.println(Integer.toBinaryString(i));//101 System.out.println(Integer.toBinaryString(i<<1));//左移一位1010 System.out.println(Integer.toBinaryString(i>>1));//右移一位10 } }
1.5赋值操作符
1.6三元操作符
以上是关于java基础--操作符的主要内容,如果未能解决你的问题,请参考以下文章