ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小肩膀安卓逆向--027-043

2021-11-03 23:32:06  阅读:178  来源: 互联网

标签:-- 安卓 System 运算符 int 027 println 表达式 out


027.算术运算符

  1. 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
  2. +-作为单元运算符存在时,表示正负
  3. +作为二元运算符存在时
    +左右两边没有字符串,则进行数值运算。
    +左右两边有字符串,则进行字符串拼接,如果不是字符串会转成字符串。
    System.out.println(100+98);//198
    System.out.println('a'+1);//98
    System.out.println("a"+1+3);//a13
    System.out.println(1+3+"a");//4a
  1. 关于+ - * /
    System.out.println(12/5);//2
    System.out.println(12.0/5);//2.4
    double a = 12/5; System.out.println(a);//2.0
    int x = 4270; x = x / 1000 * 1000; System.out.println(x);//4000
  1. 关于%
    a % b 等价于 a - a / b * b
    System.out.println(10 % 4);
  1. 关于++ --
    作为独立的语句使用: 前++和后++都完全等价于i=i+1;
    作为表达式使用:
    前++先自增后赋值(赋值是先赋值给一个临时变量)
    后++先赋值后自增
    int i = 1; i = i++; System.out.println(i);
    int i = 1; i = ++i; System.out.println(i);
    int x = 4; int y = (--x)+(x--)+(x*10);
    int i = 100; System.out.println(++i+i);
  1. 练习
    43天等于多少星期多少天
public class Day {
    public static void main(String[] args) {
        int a = 43;
        int weeks = 43/7;
        int days = 43%7;
        System.out.println(weeks + " "+days);
    }
}

4725秒等于多少时分秒
public class Seconds {
    public static void main(String[] args) {
        int a=4725;
        int hours = a/(60*60);
        int minutes = a/60-hours*60;
        int seconds = a%60;
        System.out.println(hours + " "+ minutes+" "+seconds);
    }
}
摄氏温度c ,将其转化为华氏温度f ,转换公式为:f=9/5*c+32
public class Hua {
    public static void main(String[] args) {
        double c = 37;
        double f = 9.0/5*c+32;//不要写成9/5*c+32哦
        System.out.println(f);
    }
}

030.赋值运算符

  1. 赋值运算符就是将运算后的值,赋值给变量
  2. 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量,右边的值赋值给左边的变量。
  3. 赋值运算符的分类
    基本赋值运算符=
    int a = 100;
    复合赋值运算符
    += -= *= /= %=
    a += 2; 等价于 a = a + 2;
  4. 有趣的案例
    byte b = 3; b = b + 4; //错
    byte b = 3; b += 4; //对,理解成有一个强转的过程
    byte b = 3; b++; //对
    byte b = 3; b = b + 1; //错

031.关系运算符

  1. 关系运算符(比较运算符)的结果都是boolean型,也就是要么是true,要么是false
  2. 关系运算符组成的表达式,称为关系表达式。经常用在if结构的条件中或循环结构的条件中
  3. 关系运算符
  • == 相等于 不要写成=
  • != 不等于
  • < 小于
  • > 大于
  • <= 小于等于
  • >= 大于等于
  • A instanceof B 表示A是否是B这个类的对象

032.逻辑运算符

  1. 用于连接多个关系表达式,最终的结果也是一个boolean值

  2. 逻辑运算符

  • 逻辑与&
  • 短路与&&
  • 逻辑或|
  • 短路或||
  • 取反!
  • 逻辑异或^
  1. 逻辑运算规则
  • a&b:当a和b同时为true ,则结果为true,否则为false
  • a&&b:当a和b同时为true ,则结果为true,否则为false
  • a|b:当a和b,有一个为true ,则结果为true,否则为false
  • a||b:当a和b,有一个为true ,则结果为true,否则为false
  • a^b:当a和b不同时,则结果为true,否则为false
  • !a:当a为true,则结果为false,当a为false,结果为true
  1. 逻辑和短路的区别
    & 不管真假两边都运算
    && 左边为假,右边就不运算
    | 不管真假两边都运算
    || 左边为真,右边就不运算

034.三目运算符

  1. 基本语法
    变量 = (条件表达式) ? 表达式1 : 表达式2;
    相当于if...else...的简写,条件表达式结果为true,则执行表达式1,反之亦然。
  2. 练习
public class Max {
	//三个数里面求最大值
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 18;
        int temp = a > b ? a : b;
        int max = temp > c ? temp : c;
        System.out.println(max);
    }
}

035.运算优先级

如果不清楚优先级,又想确保代码运行没有问题,可以加小括号,改变优先级

036.进制与位运算

  1. 整数有四种表示方式(字符可以根据码表先转成数字)
    十进制 0-9
    二进制 0和1,0b或者0B开头
    八进制 0-7,0开头
    十六进制 0-9abcdef,0x或者0X开头

  2. 演示
    image

  3. 位运算符
    & | ^ ~ << >> >>>

037.进制转换

  1. 十进制转十六进制
    将该数不断除以16,直到商为0,每步得到的余数倒过来,就是对应的十六进制。
  2. 二进制转十进制
  3. 二进制转十六进制
    从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
  4. Hex编码
    1 byte = 8 bit
    Java中的数字都是有符号的

038.if

  1. 程序的三种结构
  • 顺序结构
  • 分支结构
  • 循环结构
  1. 分支的分类
  • 单分支 if
    刷公交卡 money < 10 的时候提示 余额小于10,请适时充值。否则不做提示
  • 双分支 if...else 三目运算
    刷公交卡 money > 2 的时候,提示刷卡成功。money < 2 的时候提示余额不足
  • 多分支 if...else if...else
  1. 连续if和if...else if...else的区别
  2. if、switch、while、do...while、for
    如果只有一条语句包含在内部,可以省略括号
  3. 根据定义的月份不同,打印该月份所属的季节
    int x = 3;
    if(x>12 || x<1)
        System.out.println("月份不存在");
    else if(x>=3  &&  x<=5)
        System.out.println("春季");
    else if(x>=6  &&  x<=8)
        System.out.println("夏季");
    else if(x>=9  &&  x<=11)
        System.out.println("秋季");
    else
        System.out.println("冬季");

039.switch

  1. switch的基本语法
    switch、case、break、default 关键字作用介绍
    case和default是可选的

  2. 根据定义的数值不同,打印对应的星期

  3. 一般情况下,case块的顺序可以调换

  4. 加不加break的区别

  5. 根据定义的月份不同,打印该月份所属的季节

int x = 4;
switch(x){
	case 3:
	case 4:
	case 5:
		System.out.println("春季");
		break;
}
  1. switch中表达式的数据类型,要和case后面常量类型一致,或者是可以转换的
  2. switch中表达式的数据类型,只能是byte、short、char、int、String、enum
  3. case后面的值,只能是常量或者常量表达式,不能是变量

039.while

  1. while基本语法
    循环变量初始化
    while(循环条件){
    执行语句;
    循环变量迭代
    }
    先判断,再执行。

  2. 执行流程
    循环变量初始化
    判断循环条件
    执行语句
    循环变量迭代
    判断循环条件
    ......

  3. do...while基本语法
    循环变量初始化
    do{
    执行语句;
    循环变量迭代
    }while(循环条件);
    先循环,后判断,至少会执行一次。

042.for

  1. for循环基本语法
    for(初始化表达式; 循环条件表达式; 循环后的操作表达式){
    执行语句;
    }

  2. for循环的执行流程
    初始化表达式
    循环条件表达式
    执行语句
    循环后的操作表达式
    循环条件表达式
    ......

  3. for循环注意事项
    初始化表达式和循环后的操作表达式,可以写到别的地方,但是分号不能省略
    可以放任意表达式,但是循环条件表达式必须返回boolean类型
    初始化表达式和循环后的操作表达式,可以放多个表达式,用逗号连接
    变量有自己的作用域。对于for来讲:如果将变量定义在for语句中。那么该变量只在for语句内有效。for语句执行完毕。该变量在内存中被释放

043.break 与 continue

一个例子搞懂break、continue、return

public class BreakContinueReturn {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if(i==2){
                break;
//                continue;
//                return;
            }
            System.out.println(i);
        }
        System.out.println("这是循环体外的语句");
    }
}

标签:--,安卓,System,运算符,int,027,println,表达式,out
来源: https://www.cnblogs.com/hack2xia/p/15506146.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有