小肩膀安卓逆向--027-043
2021/11/3 23:40:39
本文主要是介绍小肩膀安卓逆向--027-043,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
027.算术运算符
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- +-作为单元运算符存在时,表示正负
- +作为二元运算符存在时
+左右两边没有字符串,则进行数值运算。
+左右两边有字符串,则进行字符串拼接,如果不是字符串会转成字符串。
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
- 关于+ - * /
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
- 关于%
a % b 等价于 a - a / b * b
System.out.println(10 % 4);
- 关于++ --
作为独立的语句使用: 前++和后++都完全等价于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);
- 练习
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.赋值运算符
- 赋值运算符就是将运算后的值,赋值给变量
- 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量,右边的值赋值给左边的变量。
- 赋值运算符的分类
基本赋值运算符=
int a = 100;
复合赋值运算符
+= -= *= /= %=
a += 2; 等价于 a = a + 2; - 有趣的案例
byte b = 3; b = b + 4; //错
byte b = 3; b += 4; //对,理解成有一个强转的过程
byte b = 3; b++; //对
byte b = 3; b = b + 1; //错
031.关系运算符
- 关系运算符(比较运算符)的结果都是boolean型,也就是要么是true,要么是false
- 关系运算符组成的表达式,称为关系表达式。经常用在if结构的条件中或循环结构的条件中
- 关系运算符
- == 相等于 不要写成=
- != 不等于
- < 小于
- > 大于
- <= 小于等于
- >= 大于等于
- A instanceof B 表示A是否是B这个类的对象
032.逻辑运算符
-
用于连接多个关系表达式,最终的结果也是一个boolean值
-
逻辑运算符
- 逻辑与&
- 短路与&&
- 逻辑或|
- 短路或||
- 取反!
- 逻辑异或^
- 逻辑运算规则
- 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
- 逻辑和短路的区别
& 不管真假两边都运算
&& 左边为假,右边就不运算
| 不管真假两边都运算
|| 左边为真,右边就不运算
034.三目运算符
- 基本语法
变量 = (条件表达式) ? 表达式1 : 表达式2;
相当于if...else...的简写,条件表达式结果为true,则执行表达式1,反之亦然。 - 练习
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.进制与位运算
-
整数有四种表示方式(字符可以根据码表先转成数字)
十进制 0-9
二进制 0和1,0b或者0B开头
八进制 0-7,0开头
十六进制 0-9abcdef,0x或者0X开头 -
演示
-
位运算符
& | ^ ~ << >> >>>
037.进制转换
- 十进制转十六进制
将该数不断除以16,直到商为0,每步得到的余数倒过来,就是对应的十六进制。 - 二进制转十进制
- 二进制转十六进制
从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。 - Hex编码
1 byte = 8 bit
Java中的数字都是有符号的
038.if
- 程序的三种结构
- 顺序结构
- 分支结构
- 循环结构
- 分支的分类
- 单分支 if
刷公交卡 money < 10 的时候提示 余额小于10,请适时充值。否则不做提示 - 双分支 if...else 三目运算
刷公交卡 money > 2 的时候,提示刷卡成功。money < 2 的时候提示余额不足 - 多分支 if...else if...else
- 连续if和if...else if...else的区别
- if、switch、while、do...while、for
如果只有一条语句包含在内部,可以省略括号 - 根据定义的月份不同,打印该月份所属的季节
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
-
switch的基本语法
switch、case、break、default 关键字作用介绍
case和default是可选的 -
根据定义的数值不同,打印对应的星期
-
一般情况下,case块的顺序可以调换
-
加不加break的区别
-
根据定义的月份不同,打印该月份所属的季节
int x = 4; switch(x){ case 3: case 4: case 5: System.out.println("春季"); break; }
- switch中表达式的数据类型,要和case后面常量类型一致,或者是可以转换的
- switch中表达式的数据类型,只能是byte、short、char、int、String、enum
- case后面的值,只能是常量或者常量表达式,不能是变量
039.while
-
while基本语法
循环变量初始化
while(循环条件){
执行语句;
循环变量迭代
}
先判断,再执行。 -
执行流程
循环变量初始化
判断循环条件
执行语句
循环变量迭代
判断循环条件
...... -
do...while基本语法
循环变量初始化
do{
执行语句;
循环变量迭代
}while(循环条件);
先循环,后判断,至少会执行一次。
042.for
-
for循环基本语法
for(初始化表达式; 循环条件表达式; 循环后的操作表达式){
执行语句;
} -
for循环的执行流程
初始化表达式
循环条件表达式
执行语句
循环后的操作表达式
循环条件表达式
...... -
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("这是循环体外的语句"); } }
这篇关于小肩膀安卓逆向--027-043的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器