1.运算符
1.1算数用算符
1[ ]、.、( )方法调用,属性获取从左向右
2!、~、 ++、 --一元运算符从右向左 a++自增运算符在经历了一次运算符之后也会运行,例如
a=5;
a=++a*a++;答案为35
++(a++);会报错
自增自减运算符只能操作变量不能操作常量,()内的内容会被认为是一个整体常量,所以不能被操作;
++a++;也会报错默认++a结果是一个常量。
3* 、/ 、%乘、除、取模(余数)从左向右
4+ 、 -加减法从左向右
5<<、 >>、 >>>左位移、右位移、无符号右移从左向右
6< 、<= 、>、 >=、 instanceof小于、小于等于、大于、大于等于,对象类型判断是否属于同类型从左向右
7== 、!=2个值是否相等,2个值是否不等于。 下面有详细的解释从左向右
8&按位与从左向右
9^按位异或从左向右
10|按位或从左向右 只要发现第一个条件为真,那么后面的条件就不再执行!!!!
11&&短路与从左向右 只要发现第一个条件为假后面的条件不需要执行!!!!
逻辑运算符的闰年问题
1.能被4整除并且不能被100整除
2.能被400整除
(ch%4==0&&ch%100!=0)||(ch%400==0)
12||短路或从左向右13?:条件运算符从右向左14=、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>=混合赋值运算符从右向左
取余
猜数代码
import java.util.*;
class new1{
public static void main(String args[]){
Random r=new Random();
int scanner_a;
char code;
int random_a;
Scanner a=new Scanner(System.in);
System.out.println("*******猜随机数,请输入0-99的正整数********");
do{random_a=r.nextInt(100);
do{
scanner_a=a.nextInt();
if(scanner_a>=100||scanner_a<0)
System.out.println("猜数不能超过范围");
else if(scanner_a>random_a)
System.out.println("猜数大了");
else if(scanner_a
System.out.println("猜数小了");
}while(scanner_a!=random_a);
System.out.println("恭喜你猜对了,你希望再来一轮不y/n");
String s=a.next();
code=s.charAt(0);
}while(code=='y');
}
}
java中变量的定义声明最好在前面,不能随处声明赋值!!!
2.java number和math类
math的方法都被定义成了static形式,通过math类可以在主函数内直接调用
例如:
public class Test {
public static void main (String []args)
{
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));
System.out.println("1的反正切值: " + Math.atan(1));
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));
System.out.println(Math.PI);
}
}