鱼C论坛

 找回密码
 立即注册
查看: 2993|回复: 0

[学习笔记] Java-003运算符与流程控制

[复制链接]
发表于 2018-12-20 16:04:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 moc 于 2018-12-20 16:06 编辑

1、运算符
1. 算术运算符
        +  加法        -  减法
        *  乘法      /  除法
        % 取余    ++ 自增   --  自减
与C/C++中的用法一致。
2. 赋值运算符
数值赋值: =,  +=,  -=,  *=,  /=,  %=,
位操作赋值: <<=,  >>=,  &=,  |=,  ^=
与C/C++中的用法基本一致;
注意:  扩展赋值隐含强制类型转换。
        short a = 1;    a = a + 1;   (error)
        short a = 1;    a += 1;       (right)  
        a += 1;   相当于   a = (short) (a+1);
3. 比较操作符
  ==,  !=,  >,  >=,  <,  <=
与C/C++中的用法一致。
4. 逻辑操作符
&&,  ||,   !
与、或、非逻辑操作,具有短路效应。
5. 位操作符
操作符:        &        |        ^        &#12316;                <<                         >>                                         >>>        
按位:        与     或        非        取反                左移(补0)        有符号右移(补正0负1)        无符号右移(补0)
6. 条件操作符
  ? :
也即三目运算符,与CC/C++中的用法一致。
5.instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
下面是一个例子:
String name = "moc";
boolean result = name instanceof String;   // 由于 name 是 String 类型,所以返回真
6. 运算符优先级
类别操作符结合性
后缀、括号() [] . (点操作符)左到右
一元        + + - !&#12316;        从右到左
乘性 * /%        左到右
加性 + -左到右
移位 >> >>>  << 左到右
关系 >> = << = 左到右
相等         ==  !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或||左到右
条件        ?:从右到左
赋值        = + = - = * = / =%= >> = << =&= ^ = | =从右到左
逗号左到右
2、流程控制
1. 条件语句
if ... else if ... else ...  
        与C/C++中的用法一致。
switch ... case ... default ...  
        与C/C++中的用法一致,switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
2. 循环语句
for (;;)  
        与C/C++中的用法一致,Java5 起引入了一种用于数组的增强型 for 循环
        for(声明语句 : 表达式) {
           //代码句子
        }
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:        表达式是要访问的数组名,或者是返回值为数组的方法。
while() {}  
        与C/C++中的用法一致。
[b] do...while()[;/b]  
        与C/C++中的用法一致。
3、控制跳转语句
① continue
         适用于任何循环控制结构中; 作用是让程序立刻跳转到下一次循环的迭代。
② break
        跳出最里层的循环,并且继续执行该循环下面的语句;  配合标签语句可跳出多层循环
wc:for(int x=0; x<3; x++) {
        nc:for(int y=0; y<4; y++) {
                if(y == 2) {
                        //break nc;
                        break wc;
                }
                System.out.print("*");
        }
        System.out.println();
}

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-11 05:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表