int型整数,a>>b,系统会先对b用32取模,按照得到的结果来做移位运算。这就避免了移33位的问题。
java中只对加号做了运算符重载
表达式的概念:exp -> 变量|数值|-exp|exp与exp的运算
在对数值进行强制类型转换时,需要考虑转换的方向
利用括号来表示运算的优先级
switch语句是一种不需要求布尔值的分支语句。
switch要求传入的参数为int,所以其他比如byte,char,short的数据都可以用于switch语句。(可以理解为做了隐式转换)
判断成绩的等级的方法:(有点意思)
int grade = 91; temp = grade / 10; switch(temp){ case 10: case 9: System.out.println("A"); break; case 8: System.out.println("B"); break; ....... }
java中的循环语句:
--for
--do/while
--while
在操作系统上圈地。比如浏览器之争,现在又有输入法的竞争,都是为了能够在操作系统上占有一席之地。从而为后面的战略做铺垫。
移位运算:
public class Count{ public static void main(String[] args){ int num = 5; int count = 0; int temp = 0; for(int i = 0;i < 32;i++){ if(num % 2 == 1){ temp += Math.pow(2,count); //temp = temp + Math.pow(2,count);编译时会报损失精度错误 count++;//如果累计的数大于原来的数值,说明所有的1都已找到 if(temp>=num) break; } num = num >> 1; } System.out.println("1的个数为"+count); } }
发现在ultraEdit中敲number会自动将其变为Number。
比如:
public void doSomething(int Number){//number的首字母变为大写,java中有Number类
}
求素数:
public class Prime{ public static void main(String[] args){ int number = 37; if(isPrime(number)) System.out.println("is a prime number"); else System.out.println("is not a prime number"); } public static boolean isPrime(int number){ int temp = 2; boolean flag = true; //System.out.println(Math.sqrt(number)); while(temp < Math.sqrt(number)){ if(number % temp ==0){ flag = false; break; } temp++; } return flag; } }