Java基础三
Posted xuweiweiwoaini
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础三相关的知识,希望对你有一定的参考价值。
1 运算符
1.1 运算符的常用概念
- 运算:对常量和变量进行操作的过程。
- 运算符:对常量和变量进行操作的符号。
- 操作数:参与运算的数据称为操作数。
- 表达式:用运算符把常量和变量连接起来的符合java语法的式子称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
- 例如:int a = 3 + 4;
- 就是做了一个加法运算。
- +就是运算符,是算术运算符。
- 3、4就是参与运算的操作数据。
- 3+4整体其实就是一个算术表达式。
1.2 算术运算符
- +,加法
- -,减法
- *,乘法
- /,除法
- %,取余
- ++,自增
- ---,自减
- 示例:
package com.xuweiwei; /** * 运算符 */ public class Operator { public static void main(String[] args) { //定义变量 int x = 3; int y = 4; System.out.println(x+y); System.out.println(x-y); System.out.println(x*y); System.out.println(x/y);//整数相除只能得到整数 System.out.println(x%y);//取余 /** * 如果我想要整数相除不是得到整数,只需要把操作数其中一个操作数变为浮点数即可 */ System.out.println(x*1.0/y); } }
- 示例:
package com.xuweiwei; /** * ++、--运算符的应用 */ public class Operator2 { public static void main(String[] args) { //定义两个变量 int x = 3; int y = 4; System.out.println("x:"+x); System.out.println("y:"+y); //单独使用 x++; //相当于x=x+1; y++; System.out.println("x:"+x); System.out.println("y:"+y); x =3; y=4; //参与运算 int a = x++; //++在后面,先赋值,再自增 int b = ++y; //++在前面,先自增,再赋值 System.out.println("x:"+x); System.out.println("y:"+y); System.out.println("a:"+a); System.out.println("b:"+b); } }
1.3 赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
- 示例:
package com.xuweiwei; /** * 赋值运算符 */ public class Operator3 { public static void main(String[] args) { int x = 10; System.out.println("x:" + x); int y = 10; y += 20; //相当于y = y + 20; System.out.println("y:" + y); } }
1.4 关系(比较)运算符
- ==,等于
- !=,不等于
- <,小于
- >,大于
- <=,小于等于
- >=,大于等于
- instanceof,检查是否是类的对象,例,"Hello" instanceof String
- 注意事项:
- ①比较运算符的结果都是boolean类型,要么是true,要么是false。
- ②比较运算符“==”不要误写为“=”。
- 示例:
package com.xuweiwei; /** * 关系运算符 */ public class Operator4 { public static void main(String[] args) { int a = 3; int b = 4; System.out.println(a == b); System.out.println(a != b); System.out.println(a > b); System.out.println(a >= b); System.out.println(a < b); System.out.println(a <= b); } }
1.5 逻辑运算符
- &,与
- |,或
- !,非
- &&,短路与
- ||,短路或
- ^,异或
- 示例:
package com.xuweiwei; /** * 逻辑运算符 * 特点: * 逻辑运算符一般用于连接boollean类型的表达式或值 */ public class Operator5 { public static void main(String[] args) { int a = 3; int b = 4; int c = 5; //&:一假全假 System.out.println((a > b) & (a > c)); //false & false = false System.out.println((a > b) & (a < c)); //false & true = false System.out.println((a < b) & (a > c)); //true & false = false System.out.println((a < b) & (a < c)); //true & true = true //|:一真全真 System.out.println((a > b) | (a > c)); //false & false = false System.out.println((a > b) | (a < c)); //false & true = true System.out.println((a < b) | (a > c)); //true & false = true System.out.println((a < b) | (a < c)); //true & true = true //^:相同为false,不同为true System.out.println((a > b) ^ (a > c)); //false ^ false = false System.out.println((a > b) ^ (a < c)); //false ^ true = true System.out.println((a < b) ^ (a > c)); //true ^ false = true System.out.println((a < b) ^ (a < c)); //true ^ true = false } }
1.6 位运算符
- &,位与
- |,位或
- ^,位异或
- ~,反码
- <<,左移
- >>,右移
- >>>,无符号右移
- 示例:
package com.xuweiwei; /** * 位运算符: */ public class Operator6 { public static void main(String[] args) { int a = 3; int b = 4; System.out.println(a & b); System.out.println(a | b); System.out.println(a ^ b); System.out.println(~a); } }
package com.xuweiwei; /** * ^ * 一个数据对另一个数据异或两次,该数本身不变 */ public class Operator7 { public static void main(String[] args) { int a = 3; int b = 4; System.out.println(a ^ b ^ b); System.out.println(a ^ b ^ a); } }
package com.xuweiwei; /** * << :左边最高为丢弃,右边补0 * >> :最高位为0的时候,左边补齐0;最高位为1的时候,左边补齐1 * >>> :无论最高位是0还是1,左边补齐0 */ public class Operator8 { public static void main(String[] args) { System.out.println(3 << 2); System.out.println(24 >> 2); System.out.println(-24 >>> 2); } }
1.7 三目运算符
1.7.1 格式
- (关系表达式)?表达式1:表达式2;
- 如果关系表达式为true,运算后的结果就是表达式1。
- 如果关系表达式为false,运算后的结果就是表达式2。
1.7.2 三目运算符的应用
- 示例:
package com.xuweiwei; /** * 使用三目运算符求两个数的最大值 */ public class Operator9 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println(a >= b ? a : b); } }
2 流程控制语句
- 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来四线我们要完成的功能。
- 流程控制语句的分类:
- 顺序结构
- 选择结构
- 循环结构
3 顺序结构
- 是程序中最简单最基本的流程控制,没有特点的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
- 总的来说,写在前面的先执行,写在后面的后执行。
- 示例:
package com.xuweiwei; /** * 顺序结构 */ public class orderDemo { public static void main(String[] args) { System.out.println("程序开始了"); System.out.println("I love java"); System.out.println("程序结束了"); } }
4 选择结构
- 选择结构也称为分支结构。
- 选择结构有特定的语法规则,代码要执行具体的逻辑运行进行判断,逻辑运算的结果有2个,所以产生选择,按照不同的选择执行不同的代码。
- Java语言提供了两种选择结构语句
- if语句
- switch语句
5 分支结构之if语句
5.1 if语句的格式一
5.1.1 格式
if(关系表达式){ 语句体; }
5.1.2 执行流程
- 首先判断关系表达式,看其结果是true还是false。
- 如果是true就执行语句体。
- 如果是false就不执行语句体。
5.1.3 if语句格式一的应用
- 示例:
package com.xuweiwei; public class IfDemo1 { public static void main(String[] args) { int x = 10; if (x >= 10) { System.out.println("x>=10"); } System.out.println("程序执行结束了"); } }
5.2
以上是关于Java基础三的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )