• 使用java操作符
操作符用于操作数,以生成一个新值,或改变操作数自身的值。
=/==/!能操作所有对象;string类支持+和+=
• 赋值
左值必须是一个明确的,已命名的变量,也即它必须有一个物理空间来存储右边的值。
为基本数据类型赋值没有问题,在为对象(类)赋值时注意:将一个对象A赋给另一个对象B,则这两个对象都指向了A引用所指向的对象,也即这两个对象包含了相同的引用。见例:
class Number{
int I;
}
public class Assignment{
public static void main(String[] args){
Number n1=new Number();
Number n2=new Number();
n1.i=9;
n2.i=47;
System.out.println("1: n1.i:"+n1.i+"n2.i:"+n2.i);
n1=n2;
System.out.println("2: n1.i:"+n1.i+"n2.i"+n2.i);
n1.i=27;
System.out.println("3: n1.i:"+n1.i+"n2.i"+n2.i);
}
}
这样的结果是:
1: n1.i:9,n2.i:47
2: n1.i:47,n2.i:47
3: n1.i:27,n2.i:27
正则表达式
正则表达式是使用通用术语来描述字符串的一种方法。用正则表达式描述字符串(可能)包含的东西。
表达式后缀问号:可能有该表达式
表达式后缀加号:表示一个或多个前述表达式
注意转义符:再加一/
/d:一个数位
(A|B)非A即B
算术运算符,自增自减
基本同c中
关系操作符
生成一个布尔结果
==和!=比较的是对象的引用,欲比较两个对象所包含的实际内容,用equals()方法
逻辑运算符
生成布尔值。
考虑所谓“短路”(short-circuiting)情况。
• 流程控制
注意java不允许将一个数字作为布尔值使用,不同于c和c++中非零即真零即假的情况。所以if(a)应当为if(a!=0)
逗号操作符:java唯一用到逗号操作符之处即for循环的控制表达式,在其初始化和步进控制部分,可使用一系列由逗号分隔的语句,这些语句均会独立执行。
操作符用于操作数,以生成一个新值,或改变操作数自身的值。
=/==/!能操作所有对象;string类支持+和+=
• 赋值
左值必须是一个明确的,已命名的变量,也即它必须有一个物理空间来存储右边的值。
为基本数据类型赋值没有问题,在为对象(类)赋值时注意:将一个对象A赋给另一个对象B,则这两个对象都指向了A引用所指向的对象,也即这两个对象包含了相同的引用。见例:
class Number{
int I;
}
public class Assignment{
public static void main(String[] args){
Number n1=new Number();
Number n2=new Number();
n1.i=9;
n2.i=47;
System.out.println("1: n1.i:"+n1.i+"n2.i:"+n2.i);
n1=n2;
System.out.println("2: n1.i:"+n1.i+"n2.i"+n2.i);
n1.i=27;
System.out.println("3: n1.i:"+n1.i+"n2.i"+n2.i);
}
}
这样的结果是:
1: n1.i:9,n2.i:47
2: n1.i:47,n2.i:47
3: n1.i:27,n2.i:27
正则表达式
正则表达式是使用通用术语来描述字符串的一种方法。用正则表达式描述字符串(可能)包含的东西。
表达式后缀问号:可能有该表达式
表达式后缀加号:表示一个或多个前述表达式
注意转义符:再加一/
/d:一个数位
(A|B)非A即B
算术运算符,自增自减
基本同c中
关系操作符
生成一个布尔结果
==和!=比较的是对象的引用,欲比较两个对象所包含的实际内容,用equals()方法
逻辑运算符
生成布尔值。
考虑所谓“短路”(short-circuiting)情况。
• 流程控制
注意java不允许将一个数字作为布尔值使用,不同于c和c++中非零即真零即假的情况。所以if(a)应当为if(a!=0)
逗号操作符:java唯一用到逗号操作符之处即for循环的控制表达式,在其初始化和步进控制部分,可使用一系列由逗号分隔的语句,这些语句均会独立执行。