一、JAVA运算符
算术运算符
类比C
++a,--a 先进行自增或者自减运算,再进行表达式运算
关系运算符
类比C
位运算符
类比C
逻辑运算符
&&、||、!
条件运算符(?:)
eg:
a=10 //如果a等于1成立,则设置b为20,否则为30
b = (a == 1)?20:30;
instanceof运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
格式
( Object reference variable ) instanceof (class/interface type)
如果运算符左侧变量所指的对象是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
eg
String name = "James";
boolean result = name instanceof String; //由于name是 String类型,所以返回真
Java运算符优先级
类比C
二、Java循环结构
顺序结构的程序语句只能被执行一次,如果想要同样的操作执行多次,就需要使用循环结构。
Java中有三种主要的循环结构:
- while循环
- do while循环
- for循环
while(条件){
}
do{
}while(布尔表达式);如果布尔表达式为true,则语句块一直执行,直至为false
for(初始化;布尔表达式;更新){
}
break continue关键字类比C
三、Java条件语句
类比c
四、Java Number & Math类
数据对象类
Java Math类
Java的Math包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math的方法都被定义为static形式,通过Math类可以再主函数中直接调用。
序号 方法与描述 | |
1 | xxxValue() 将 Number 对象转换为xxx数据类型的值并返回。 |
2 | compareTo() 将number对象与参数比较。 |
3 | equals() 判断number对象是否与参数相等。 |
4 | valueOf() 返回一个 Number 对象指定的内置数据类型 |
5 | toString() 以字符串形式返回值。 |
6 | parseInt() 将字符串解析为int类型。 |
7 | abs() 返回参数的绝对值。 |
8 | ceil() 返回大于等于( >= )给定参数的的最小整数。 |
9 | floor() 返回小于等于(<=)给定参数的最大整数 。 |
10 | rint() 返回与参数最接近的整数。返回类型为double。 |
11 | round() 它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。 |
12 | min() 返回两个参数中的最小值。 |
13 | max() 返回两个参数中的最大值。 |
14 | exp() 返回自然数底数e的参数次方。 |
15 | log() 返回参数的自然数底数的对数值。 |
16 | pow() 返回第一个参数的第二个参数次方。 |
17 | sqrt() 求参数的算术平方根。 |
18 | sin() 求指定double类型参数的正弦值。 |
19 | cos() 求指定double类型参数的余弦值。 |
20 | tan() 求指定double类型参数的正切值。 |
21 | asin() 求指定double类型参数的反正弦值。 |
22 | acos() 求指定double类型参数的反余弦值。 |
23 | atan() 求指定double类型参数的反正切值。 |
24 | atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。 |
25 | toDegrees() 将参数转化为角度。 |
26 | toRadians() 将角度转换为弧度。 |
27 | random() 返回一个随机数。 |
/**
* @author Dale
* java中的自动装箱与拆箱
* 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。
*/
public class Number {
public static void main(String[] args) {
/**
Integer i1 = 128; // 装箱,相当于 Integer.valueOf(128);
int t = i1; //相当于 i1.intValue() 拆箱
System.out.println(t);
*/
/**
对于–128到127(默认是127)之间的值,被装箱后,会被放在内存里进行重用
但是如果超出了这个值,系统会重新new 一个对象
*/
Integer i1 = 200;
Integer i2 = 200;
/**
注意 == 与 equals的区别
== 它比较的是对象的地址
equals 比较的是对象的内容
*/
if(i1==i2) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}