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;
}
}