`
heimeiyingwang
  • 浏览: 94983 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

corejava辅导(2--2)

阅读更多

java中的运算符java的运算符的优先级和结合性和c++相同)

 

1)使用+=-=*= 等单目运算符时,不会对变量类型作自动类型提升。

2) >>=  有符号位右移,符号位是零补零,符号位是一补一,也就是高位补符号位;

3) >>>=  无符号右移(强制右移都会移进一),也就是高位补零

       >>=>>>=对于负数不一样

   正数:右移n位等于除以2n次方

   负数:变成正数。

4) &&   短路与,前面布尔表达式为假,后面的操作不会进行,& 会对所有条件进行判断。

5) ||   短路或,前面布尔表达式为真,后面的操作不会进行,| 会对所有条件进行判断。

   例:

       if(a<3&(b=a)==0)   b赋值

       if(a<3&&(b=a)==0)  b不赋值

6)instanceof,是用于判断一个对象是否属于某个类型

7)java中的求余运算符“%”可以对两个实型变量求余

 

注意:System.out.println(3/2)  按整型计算 1,在除法运算时,要注意字面值和变量的数据类型,才能得到想要得结果。

 

注:按位与是为了让某些位置一,按位或是令某些位置零,按位异或是令某些位取反。

 

注:使用左右位移和无符号右移运算符的使用方法是 变量名<<=位移位数 ,变量名>>=位移位数 (前两个运算符是不会忽略整形符号位,也称逻辑位移),变量名>>>=位移位数

 

注意:左右位移和无符号右移运算符只能用于整形及其兼容类型(byteintshortlong

 

注意:java程序的运行过程,首先是启动java虚拟机,然后就是去找.class文件,先是从系统的类库中找(系统之会在跟目录下查找,所以需要完整类名),找不到的话才会去CLASSPATH所设置的目录去找。然后加载到java虚拟机中。

要使用到其他的在JAVA_HOME中没有的类或者是其他公司提供的第三方的.jarjar包)文件时,要把它的路径及文件名加到CLASSPATH中。

 

java的流程控制

 

控制流

if()

if()….else

if()…..else if()….else

 

注意:else只是和其上面的同层的最近的if()来配对。

 

switch(){

case 'a':……..

case 1:……break

default:

…………

}

注意:switch()内数据类型为byte short char int类型,只有以上四种类型的才可以在switch()中使用。case块中不加break时顺序执行下面的语句。

 

循环语句

 

for(int i=0;i<n;i++){}

while(){}

do{} while();//注意加分号

例子:

 

loop:for(int i=0;i<n;i++){

     for(int j=0;j<m;j++){

         if(3==j){

              break loop;// loop为标签  只能用在循环语句中,循环

//嵌套中用于跳到外层循环

}

     }

}

 

辨析:

       int x,a=6,b=7;

     x=a++ + b++; //a=7,b=8,x=13

     int x=6;x=~x;// 6的二进制0110 取反得11001 再转成补码(取反加一) 10111 7

 

break,跳出本层循环,执行后面的代码,continue,提前终止本次循环,再一次进行循环或循环条件满足或不满足后退出循环。

break 标签名;  continue 标签名;这两条语句知识表示跳出有标签的循环和提前终止本次有标签的循环,只能用在循环语句(多层循环嵌套)中,循环嵌套中用于跳到外层循环。

 

注意:for循环在使用时一定要注意不要忘记()中的两个";",死循环的写法for(;;){}或者是用while(true){}

 

注意:System.out.println("..."+a)在使用这个语句时,它会将其中非字符串(String)的值转换成字符串(不是所有数据类型都可以的)。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics