其他分享
首页 > 其他分享> > 20210403笔记整理

20210403笔记整理

作者:互联网

Android:

四大组件:Activity、Service、ContentProvider和BroadcastReceiver

Activity是一个负责与用户交互的组件,每个Android应用中都会用Activity来显示界面以及处理上一些控件的事件。

Activity的生命周期

Activity的生命周期指的是Activity从创建到销毁的整个过程,这个过程大致可以分为五种状态,分别是启动状态、运行状态、暂停状态、停止状态和销毁状态

启动状态:Activity的启动状态很短暂,一般情况下,当activity启动之后便会进入运行状态。

运行状态:Activity在此状态时处于界面最前端,它是可见、有焦点的,可以与用户进行交互。当Activity处于运行状态时,Android会尽可能地保持这种状态,即使出现内存不足的情况,Android也会先销毁栈底的activity以确保当前activity的正常运行。

暂停状态:在某些情况下,Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应。

停止状态:当Activity完全不可见时,它就处于停止状态。如果系统内存不足,那么这种状态下的Activity很容易被销毁。

销毁状态:当Activity处于销毁状态时,将被清理出内存。Activity生命周期的启动状态和销毁状态是过渡状态,Activity不会在这两个状态之间停留。

Activity的生命周期包括创建、可见、获取焦点、失去焦点、不可见、重新可见、销毁等环节。

Activity的回调方法

(1)onCreate():Activity创建时调用,通常做一些初始化设置。

(2)onStart():Activity即将可见时调用。

(3)onResume():Activity获取焦点时调用。

(4)onPause():当前Activity被其他Activity覆盖或屏幕锁屏时调用。

(5)onStop():Activity对用户不可见时调用。

(6)onDestroy():Activity销毁时调用。

(7)onRestart():Activity从停止状态到再次启动时调用。

 

Java:

运算符

一、算术运算符

加减运算符
对基本数值类型的数据进行加减运算,结果的数据类型取决于两个操作数的数据类型。当两个操作数类型为char,byte,short 和int类型时,其运算结果的数据类型必为int 。"+"还用于连接两个对象的运算,将用于连接两个字符串连接起来。

int a=a+1;//把(a+1)的值赋值给a
String str=”abc”+”bcd”;//连接两个字符串

乘法运算符
乘运算符用于对两个基本数值类型的数据进行相乘运算,其运算的数据类型取决于两个操作数的数据类型。当两个操作数类型为char , byte , short,int类型时,其运算结果数据类型必为int。

Int a=b*c; // b=10,c=10a=100

除法运算符
除运算用于两个基本数值的类型数据进行相除运算。当相除的两个操作数均为整数时,如果运算结果为整数,则将运算结果作为返回值返回;如果运算结果不为整数,则运算结果整数部分作为返回值返回。当相除的两个操作数只要有一个为浮点数时,则运算结果必为浮点数。当除运算中右操作数取值为0时,如果操作数均为整数,则会抛出算术异常ArithmeticException;如果操作数中至少有一个为浮点数时,则结果为一个Infinity值。

Int a=b/c; // b=10,c=10a=1

取模运算符
取模运算%用于从除法中获得两数相除的余数。取模运算的操作数既可以是整数,也可以是浮点数,取模的过程实际是用左操作数连续减去右操作数,直到相减的结果小于右操作数,此时的结果即为余数。此过程适于操作数中有浮点数和负数的情况。当取模运算中右操作数取值为0时,如果操作数均为整数,则会抛出算术异常ArithmeticException,因为取模运算归根结底为算术除法运算;如果操作数至少有一个浮点数,则结果为一个NAN(Not a Number)值。取模运算结果的正负符号完全取决于左操作数,即和左操作数的正负符号一致。

二、移位运算符

Java定义了几个位运算符,分别为带符号左移位运算符<<,带符号右移位运算符>>和无符号右移位运算符>>>, 它可以应用到整数类型,长型,整型,短整型,字符和字节。位运算符作用于位,并执行逐位操作。

左移运算符

用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n 位,就相当于乘上2 的n 次方。

public class data{
public static void main(String[] args){
int a=2;
int b=2;
system.out.println("a 移位的结果是:"+(a<<b));}
}//a 移位的结果是:8

右移运算符

右移运算符用符号“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方。

public class data{
public static void main(String[] args){
       int a=16;
       int b=2;
       System.out.println("a 移位的结果是:"+(a>>>b));}
}//a 移位的结果是:4

带符号的右移运算符

带符号的右移运算符用符号“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1。

public class data17{
public class data19{
public static void main(String[] args){
       int a=16;
       int c=-16;
       int b=2;
       int d=2;
       System.out.println("a 的移位结果:"+(a>>b));
       System.out.println("c 的移位结果:"+(c>>d));}
}//a 的移位结果:4,c 的移位结果:-4

三、比较运算符

Java语言共提供了6种比较运算符,它们分别为小于,小于等于,大于,大于等于,等于,不等于。这6个比较运算符适合所有基本类型数值之间的比较,但布尔型值只能与布尔型值比较,比较运算的结果是一个布尔型值,整个比较表达式可以作为逻辑运算符的操作数,除了可以用于基本类型数值之间的比较,也可以应用于对象变量之间的比较。字符型值可以作为比较操作数与其他基本类型数值(除布尔型值外)进行比较,因为每个字符都有一个对应的标准字符码。当字符型值进行比较运算时,实际比较的是该字符对应的一个整数字符码。

== 和!= 运算符

关系运算符等于(==)和不等于(!=)不仅可以用于基本类型数值之间的比较,而且可以用于引用型之间的比较,但是这种引用型之间的比较不同于基本类型数值之间的比较,是对象的引用值,即内存地址。两个引用变量之间的等于比较是在判断这两个变量是否引用了同一个对象。如果需要判断两个对象的内容是否相等,则应该使用equals()方法。在java.lang.Object中定义的equals()方法用来比较两个对象的内容是否相等。

int a=1,b=1;
a==b的结果是true
String s1="123",s2="123";
s1==s2的结果是true
String s1="123";String s2=new String("123");
s1==s2的结果是false;

> 或 >= 运算符

分别对应大于和大于等于,根据比较的结果返回值为true或false。

Boolean a=c<b; //c=20,b=10—>a=false

< 或 <= 运算符

分别对应小于和小于等于,根据比较的结果返回值为true或false。

Boolean a=c>b; //c=20,b=10—>a=true

四、位运算符

Java语言中共提供了4种按位运算符,分别为按位与(&), 按位或(|),按位异或(^)和按位非(~),这四个运算符适合所有整型数据。进行按位运算时,总是先将字符型、字节型、短整型值转换为整型再进行位运算。对于布尔型运算只有按位非(~)不能用于布尔型数值。其他3种位运算都可以把布尔型数值当作一个具有一位值进行按位运算。布尔型值为true对应为1,false对应为0,尽管位运算可以应用于布尔型,但不能将布尔型值和其他整数型值混合使用,如混合使用,将发生类型转换错误,因为布尔型值和其他基本类型之间不能进行相互转换。

& 运算符

&(与)运算符对于两个整型操作数中对应的位执行操作。

| 运算符

|(或)运算符对于两个整数型操作数中对应的位执行操作。

在这里插入图片描述

^ 运算符

^(异或)运算符对于两个整数型操作数中对应的位执行操作。

在这里插入图片描述

五、逻辑运算符

逻辑运算符共有三种:!(逻辑取反),&&(逻辑与),||(逻辑或)。它们的操作数类型必须是一个布尔值或布尔表达式。

!运算符

非运算符。反转一个表达式的“真相”。它使一个表达式从 true 变成了 false,或者从 false 变成了 true。

public static void main(String[] args)
 int a=2;
 System.out.println("a 非的结果是:"+(~a));
}}

&& 运算符

类似按位与的公式。左右操作数必须是一个布尔值或是一个布尔表达式。该运算符存在逻辑短路的现象:A&&B&&C。如果A为false,那么后面的表达式就不运算了。

public class data{
public static void main(String[] args){
 int a=129;
 int b=128;
 System.out.println("a 和b 与的结果是:"+(a&b));
}}
运行结果
a 和b 与的结果是:128
449318

|| 运算符

类似按位与的公式。左右操作数必须是一个布尔值或是一个布尔表达式。该运算符存在逻辑短路的现象:A||B||C。如果A为true,那么后面的表达式就不运算了。

public class data{
public static void main(String[] args)
 int a=129;
 int b=128;
 System.out.println("a 和b 或的结果是:"+(a|b));
}}
运行结果
a 和b 或的结果是:129

六、条件运算符

是Java语言中唯一的一个三目运算符(三个操作数)相当于if…else。

格式:条件值?表达式1: 表达式2

整个表达式的值、表达式1的值、表达式2的值的类型必须一致。当条件值为true,那么整个表达式的最终结果为表达式1的结果;如果为false,最终结果就是表达式2的结果。条件运算符最终的结果类型,是由两个子表达式来决定的,两个子表达式之间进行类型转换。转换规则满足向取值范围宽的方向转换。

public class Test {
public static void main(String args[]){
      int a , b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );
      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}
结果:
Value of b is : 30
Value of b is : 20

七、赋值运算符

将具体数值赋给变量时,将使用赋值运算符。 赋值运算符有:=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=。

运算符的优先级

Java语言中的运算符有着不同的级别,优先级高的运算符先被运行,具体运算符的级别由高到低排列如下:
单操作数运算符 > 算术运算符 > 移位运算符 > 比较运算符号 > 位运算符 >逻辑运算符 > 条件运算符 > 赋值运算符

 

标签:操作数,运算,结果,int,笔记,运算符,20210403,Activity,整理
来源: https://blog.csdn.net/LucasGOE/article/details/115446289