2494天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】学习札记第1章之运算符和流程控制

发布于 / 1289 次围观 / 0 条评论 / Android / 二呆 /

运算符包括算数、比较、逻辑、位、三项、转型和赋值运算符等,它们将会用与各个方法中;流程控制语句包含if else、switch case、for、while、do while等,其中switch case 要比if else运算速度快,for循环比较常用。

工具/原料

  • JDK、eclipse、android SDK、ADT

一、基本数据类型运算符

  1. (1)算数运算符

    + - * / %

    ++、-- 自增自减运算:

    int a=10;System.out.print(a++);//打印的是a的原值10,a自增变成11

    int a=10;System.out.print(++a);//打印的是a的新值11,a自增变成11

    (2)比较运算符

    > >= < <= == !=

    (3)逻辑运算符

    && 逻辑与:两侧同时为真,结果为真。短路与,左侧是假,右侧被忽略。

    || 逻辑或:只要有一侧为真,结果为真。短路或,左侧是真,右侧被忽略。

    ! 非:非真即假,非假即真。

    (4)位运算符

    & 位与:两位同时为1,结果为1。

    | 位或:两位同时为0,结果是0。

    ^ 异或:相同是0,不同是1。跟同一个值异或两次,可以得到原值。如:1^128^128==1。

    ~ 求反:0变1,1变0。

    >> 带符号向右移位:符号位是0,左侧补0;符号位是1,左侧补1。>>1相当于/2,<<1相当于*2

    >>> 不带符号向右移位:左侧补0。

    << 向左移位:右侧补0。

    (5)三项运算

    a?b:c->若a是真,则执行b;若a是假,则执行c。

    (6)转型运算

    类型强行转换->如:(int)

    (7)赋值运算

    int a=3+4;

    还可以和算术运算符一起使用:+=、-=、*=、/=(这些会自动转型,如:byte a=2;a+=1;相当于a=(byte)(a+1))

  2. 练习:
    ①int 整数强转拆分成4个byte值
    ②使用三项运算求三个数的最大值

二、变量和方法

  1. 局部变量:

    定义在局部代码块中的变量,局部变量必须手动初始化(第一次赋值,分配内存空间并完成赋值),否则不能使用。

    作用域(作用范围):只在定义的大括号内有效,执行完毕在内存中清理掉,在作用域内不能重复定义。

  2. 成员变量:

    定义在类中的变量

  3. 方法:

    命名的代码块:由返回值类型、方法名、方法体组成,创建断点后进入debug界面按F11可以进行分行调试。

    参数:f(int x){x++;}

    返回值:

    如果有返回值,就需要定义返回值类型;如:int f(){return x;}

    如果没有返回值,void就表示没有返回值。如:void f(){}

三、流程控制语句

  1.  流程控制语句的种类:

    (1)if-else if-else

    (2)switch case default:只能判断byte,short,char,int,enum。

    当满足一个case,就从这个case开始无条件执行所有case直到结束,或者遇到break结束。

    (3)for

    (4)while

    (5)do while

  2.  练习:
    ①符号函数

    检查用户输入的整数:是正数,返回1;是负数,返回-1;是0,返回0。

    ②计算个人所得税

    (公式:个人所得税=(工资-3500)*税率-速算扣除数),扣税规律如下:

    <1500     0           0

    1500     3%           0

    4500     10%       105

    9000     20%       555

    35000     25%     1005

    55000     30%     2755

    80000     35%      5505

    >80000   45%     13505

    ③输入百分制分数,显示ABCDE五档分值。

    (将分数除以10,用switch判断输入的分数等于0-10来判断等级)

    A [90,100]

    B [80,90)

    C [60,80)

    D [40,60)

    E [0,40)

注意事项

  • 位运算往往不容易懂,以上int和byte互相转换的练习可以很好的掌握位运算,理解位运算要结合0和1的二进制来辅助理解。
  • 流程控制需要良好的逻辑能力,而逻辑能力又不是马上能练出来的,所以不断的敲代码,提高对代码的敏感,用代码的语言能理解了,就可以锻炼出逻辑能力了。
sitemap