java运算符
算术运算符
操作符 | 描述 |
---|---|
+ | 加法 - 相加运算符两侧的值 |
- | 减法 - 左操作数减去右操作数 |
* | 乘法 - 相乘操作符两侧的值 |
/ | 除法 - 左操作数除以右操作数 |
% | 取余 - 左操作数除以右操作数的余数 |
++ | 自增: 操作数的值增加1 |
- - | 自减: 操作数的值减少1 |
自增自减运算符
1、前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
2、后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算
关系运算符
运算符 | 描述 |
---|---|
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 |
逻辑运算符
运算符 | 描述 |
---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(全真则真) |
丨丨 | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(有真则真) |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 |
短路逻辑运算符
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
public class LuoJi{
public static void main(String[] args){
int a = 5;//定义一个变量;
boolean b = (a<4)&&(a++<10);
System.out.println("使用短路逻辑运算符的结果为"+b);
System.out.println("a的结果为"+a);
}
}
结果
使用短路逻辑运算符的结果为false
a的结果为5
位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:
A = 0011 1100
B = 0000 1101
-----------------
A&b = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011
运算符 | 描述 | 例子 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
丨 | 如果相对应位都是0,则结果为0,否则为1 | (A |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
~ | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
赋值运算符
运算符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+= | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
-= | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
*= | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/= | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<<= | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>>= | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^= | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
丨= | 按位或赋值操作符 | C 丨= 2等价于C = C 丨 2 |
条件运算符( ? : )
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
public class Test {
public static void main(String[] args){
int a , b;
a = 10;
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " + b );
// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
b = (a == 10) ? 20 : 30;
System.out.println( "Value of b is : " + b );
}
}
结果为:
Value of b is : 30
Value of b is : 20
java运算符优先级
键盘输入
1.编写java源文件的第一行import java.util.Scanner;
2.创建Scanner对象
Scanner input = new Scanner(System.in);
3.给出输入提示
System.out.print("提示");
4.键盘输入
int score = input.nextInt(); //整型
double num = input.nextDouble();//小数
String name = input.next();//字符串
boolean flag = input.nextBoolean();//布尔型</font>
**注意:java中不能直接输入char类型,因此只能从String中获取指定位置的字符,如下:**
String info = input.next();//获取的是字符串类型
char sex = info.charAt(0);//info字符串中第0个位置的字符,赋值给sex
charAt()方法
描述
此方法返回位于字符串的指定索引处的字符。该字符串的索引从零开始。
语法
此方法定义的语法如下:
public char charAt(int index)
参数
这里是参数的细节:
index – 返回字符的索引。
返回值
该方法的返回指定索引处char值。
public class Test {
public static void main(String args[]) {
String s = "Strings are immutable";
char result = s.charAt(8);
System.out.println(result);
}
}
结果为
a