操作符
更简单打印语句
import java.util.*;
import static net.mindview.util.print.*;
public class HelloWord{
public static void main(String[] args){
print("hello java");
}
要想使用这个库,必须要到https://www.minddviewllc.com下载,并在你的计算机的CLASSPATH环境变量中添加该代码目录树的根目录。虽然它可以简化代码,但是只有少量的打印语句的时候,还是建议写完整的System.out.println()。
赋值
赋值使用操作符“=”。取右边的值把它复制给左边的值。左值必须是明确的、已命名的变量。
class text{
int level;
}
public class Assignment{
public static void main (String[] args){
text t1= new text();
text t2=new text();
t1.level=9;
t2.level=47;
print("t1.level:"+t1.level+", t2.level:"+t2.level);
t1=t2;
print("t1.level:"+t1.level+", t2.level:"+t2.level);
t1.level=27;
print("t1.level:"+t1.level+", t2.level:"+t2.level);
}
Output:
t1.level:9 ,t2.level=47
t1.level:47 ,t2.level=47
t1.level:27 ,t2.level=27
由于赋值操作的是一个对象的引用,所以修改t1的同时也改变了t2,它们指向同一个对象导致了t2被覆盖,而原来t2的空间就会被Java的垃圾回收器回收。
算术操作符
Java的算术操作符与其他大多的编程语言差不多,比如像c和c++。其中包括加号(+)、减号(-)、除号(/)、乘号(*)和取模操作符(%)。(整数的除法是直接去掉小数部分)
自动递减和递加
前置++:将++编写在变量名称前面,先自身加1,然后再做其他运算(++a)
后置++:将++编写在变量名称后面,先做其他运算,然后再自身加1(a++)
关系操作符
关系操作符是生成一个boolean结果,表达式关系是正确的则生成true,不正确则生成false。
关系操作符还包括小于、大于、小于等于、大于等于、等于(==)和不等于(!=)。其运算方法和c或c++中差不多。
逻辑运算
优先级别: 算术运算符 > 关系运算符 > 逻辑运算符
还有一些逻辑运算符“与”(&&)、“或”(||)、“非”(!)能根据参数的逻辑关系,生成一个布尔值。
类型转换
强制类型转换(显式类型转换):精度会有损失,大小可能发生改变。取值范围大的类型赋给取值范围小的类型时,高精度(double)向低精度赋值(float);
int a=1;
long i=(long)a;
类型转化规则
1. 基本数据类型中除了boolean类型以外,剩余7种类型可以进行相互转换。
2. byte -> short -> char -> int -> long -> float ->double (取值范围变大),从前往后是自动类型转换,从后往前是强制类型转换(取值范围小的类型赋给取值范围大的类型是自动类型转换,强制类型转换相反)
3. 对byte、short、char类型赋值的时候,如果没有超出该类型取值范围则可以直接赋值(用数字赋值)。
4. 当对byte、short、char类型进行混合运算时,会自动先转为int类型然后再进行计算。
5. 当多种数据类型进行混合运算时,则先转换为取值范围大的类型,然后再进行计算。
6. 当做减法运算时,必须保证两个操作数都是数值类型
当一个float值与一个double值相乘,结果就是double;将一个int和一个long相加,结果是long;
Java中没有sizeof
因为所有数据类型在所有机器中的大小都是相同的,我们不必考虑移植问题,它已经被设计在语言中了。
本人初学,有不对的地方请指教,谢谢。
如有侵权,请联系我,本人马上删除。