数组运算符流程控制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组运算符流程控制相关的知识,希望对你有一定的参考价值。

 

1.数组

1.1数组的基本概念及作用

1.数组是相同数据类型元素的集合

数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

 

2.数组的举例:

int [] a = new int []{45,65,548,74,12};

String [] s = new String []{"小红","小李","小凯"};

 

1.2数组的声明

1.数组的声明的两种方式:

数据类型 []  数组名字    例如:int  []  a;

数据类型 数组的名字 []   例如: int  a [];

注意:

Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。

数组在声明后还只是一个空指针,不能使用,要想使用必须创建。

 

1.3数组的创建

1.数组创建的三种方式:

//声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值

  double [] a=new double[15];

//声明数组并分配内存,同时将其初始化

int[] b = new int[]{15, 56, 87, 458, 332};

//与前一种方式相同,仅仅只是语法相对简略

int[] ary2 = {15, 56, 87, 458, 332};

 

2.从另一个角度,数组创建可以分为动态和静态两种

 

动态创建数组(没有为元素赋值,可以结合for循环进行赋值)

    char[] a = new char[12];

 

静态创建数组,在创建的时候,即为每个元素赋初值

    int[] ary1 = new int[]{45,23,45,6,15,23};

 

1.4数组的长度

 

int [] a = new int []{45,23,45,6,15,23};

System.out.println(a.length);

 

注意:数组的长度是属性,String的长度是length();

创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。

数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7.

 

1.5数组赋值

1.C语言中,不可以将数组直接赋值给另一个数组;

Java中,语法上允许这样做,但实际得到的效果是两个数组引用指向同一块内存。

int[] a = {2, 4, 6, 8, 10};

int[] b;

ary2 = ary1;  //允许这样赋值

 

2.示例

public class test1 {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

  

int [] a=new int [] {1,2,5,4,8,8,9};

int [] b;

b=a;

 

b[2]=325;

 

int i=0;

System.out.println("数组a中的元素:");

for(i=0;i<a.length;i++) {

System.out.println(a[i]);

}

System.out.println("数组b中的元素:");

for(i=0;i<b.length;i++) {

System.out.println(b[i]);

}

}

}

 

2.Java中的运算符

按照功能分,Java中的运算符可以分为四类:

算术运算符

位运算符

比较运算符

逻辑运算符

除了== !=+外,其他运算符都是针对基本数据类型进行运算,==!=可以对基本数据类型及引用类型进行运算,+还可以对字符串进行连接操作

重点:++--==!=&&||

2.1算术运算符

1.单目:+(取正)-(取负) ++(自增1- -(自减1

双目:+ - * / %(取余)(+还可以连接字符串)

 三目:a>b?true:false

说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象.

 

2.总结

  1、单目运算中的++--的取值顺序

  2、基本运算符要掌握,尤其是/%

  3、要掌握三目运算符的逻辑过程

 

2.2位运算符

位运算符:(先转化成二进制再进行运算)

 

与(&)、非(~)、或(|)、异或(^

移位运算符:<<、    >>(有符号右移) 、  >>>(无符号右移)

左移1位相当于乘以2,右移1位相当于除以2,比乘除运算效率更高

2.3比较运算符

比较运算符:

 == <,>,<=,>=,!=

==!=比较基本数据类型是比较值,比较引用类型是虚地址

除了==  !=外,都只能比较基本数据类型

 

注意:比较运算符的返回值为truefalse

 

2.4逻辑运算符

1.用于连接两个boolean类型的表达式

&& (双与) 、|| (双或) 、&(与)、|(或)、^(异或)、!(非运算)

 

2.注意事项

&&&的运算结果是相同的,对于&而言无论左边为什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false

|||的运算结果是相同的,对于|而言无论左边为什么值,右边都参与运算;对于||来说,只要左边为true右边就不再运算,直接返回true

 &&||可以理解为物理上的短路,实际中多用&&||

 

 

3.流程控制

Java中的流程:

顺序流程

分支流程

循环流程

 

3.1分支语句if/else

1.条件语句 — if

 

条件语句ifelse

 

条件语句ifelse if

 

2.条件语句 — if (说明)

条件表达式可以是任何一种逻辑表达式

 如果表达式值为true,则执行花括号的内容后,再执行后面的语句

如果表达的值为false,则直接执行后面的语句

如果,大括号只有一条语句,则可以省略大括号(推荐不省略)

 

if(c==‘+‘) System.out.println(a+b);

 

3.条件语句 — ifelse

nt x = 2;

if(x=2){

X+=2;

}

else{

X-=2;

}

System.out.println("x="+x);

 

4.条件语句ifelse if

int x = 88;

if(x<60){

System.out.println(“成绩不合格”);

}

else if(x>=85){

System.out.println(“成绩优秀”);

}

else{

System.out.println(“成级良好”);

}

 

6.总结

条件语句的三种格式

if语句和三目运算符的关系

if语句中的一些说明

 

3.2条件语句 — switch

1. 条件语句 — switch

 语法格式switch

 

 

 

 

switch (表达式)

{

case 取值1:语句块1

case 取值n:语句块n

default: 语句块n+1

}

 

 

2.条件语句 — switch(说明)

表达式的值只可以接受intbytecharshort 型、枚举,JDK1.6以后String也可以,不接受其他类型的值,不允许有重复的case取值

switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置

开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break语句为止.

 

int x = 65;

switch (x) {

case x>90&&X<100:

System.out.println("A");

break;

case X>80&&X<90:

System.out.println("B");

break;

case X>70&&X<80:

System.out.println("C");

break;

default:

System.out.println("垃圾");

}

3.3循环语句forwhiledo/while

1.循环语句while

while (条件表达式)

{

执行语句块

}

int x=1;

while(x<11){

System.out.println("x="+x);

x++;

}

 


2.循环语句 — dowhile  至少会执行一次循环

 语法格式

do

{

执行语句块;

} while(条件表达式 );

 

int x=3;

do{

System.out.println("x="+x);

x++;

} while(x<3);

 

3.循环语句 — for

语法格式

 

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句块

}

 

int i=0;

for(i=0;i<a.length;i++) {

System.out.println(a[i]);

 

4.循环的中断语句

 

循环的中断语句break continue

中断语句

多重循环中可以使用标号,指定中断的具体循环

 

在使用循环语句时,只有循环条件表达式的值为false时,才能结束循环。有时,我们想提前中断循环,要实现这一点,只需要在循环语句块中添加breakcontinue语句

 

5.中断语句 — break

break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环。

break;”语句:可以出现在whiledowhileforswitch语句体中。

break label”语句 :可以出现在任何语句体中。多数还是使用在循环中。

 

6.中断语句 — continue

 continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下未执行的循环,开始下一次循环过程

continue;” 语句:只能出现在循环语句whiledowhilefor

7.循环语句 —  死循环

for(int x=1;;x++)

{

System.out.println("x="+x);

}

 

以上是关于数组运算符流程控制的主要内容,如果未能解决你的问题,请参考以下文章

关于数组运算符流程控制的总结

Go语言基础:运算符_流程控制循环_数组_切片

Go语言基础:运算符_流程控制循环_数组_切片

Java语言中学习数组运算符流程控制的一些理解

数组运算符和控制流程的基本介绍和范例

关键字,标识符,变量,运算符,程序流程控制,数组