运算符
注意:比较两个字符串是否相等,不能使用“
==
”,必须调用
equals
方法
逻辑运算符
赋值运算符
x += 1
和
x = x + 1
真的是完全相同吗?
byte b = 10;
//b = b + 1; 编译不通过
b += 1; //编译通过并可以正常运行
//所以实际上 b += 1 等同于:
b = (byte)(b + 1);
java
对于扩展类的赋值运算符进行了特殊的处理,
所有的扩展赋值运算符,最终都不会改变运算的结果类
型,假设前面的变量是
byte
类型,那么后面的表达式运
算之后的结果还是
byte
类型。
字符串连接运算符
“
+
”运算符在
java
语言中有两个作用,作用一是对数字进行求和运算,作用二就是字符串连接运算
当“
+
”运算的时候,两边的操作数都是数字的话,一定会进行求和运算,只要其中有一个操作数是字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果
还是字符串类型。需要注意的是,当一个
表达式当中有多个“
+
”,并且在没有小括号的前提
下,遵循自左向右的顺序依次执行。
控制语句
do-while语句
public class WhileTest
{
public static void main(String args[]){
java.util.Scanner scanner= new java.util.Scanner(System.in);
String username;
String password;
do{
System.out.print("用户名:");
username = scanner.next();
System.out.print("密码:");
password = scanner.next();
}while(!username.equals("admin")||!password.equals("123"));
System.out.println("登录成功,欢迎" + username + "回来!");
}
}
break语句
first:for(int j = 1; j <= 2; j++){
for(int i = 1; i <= 10 ; i++){
if(i == 5){
break first;
}
System.out.println("i = " + i);
}
}
当多层循环嵌套的时候,可以给每个循环设置标识,例如:
first:for...
、
second:for...
,当某个条件成立时,想终止指定循环的话,可以这样做:
break
first;
或者
break second;
,这样指定的循环就结束了。
continue语句也有类似的语法机制。