数组的基本概念.运算符.流程控制
一、数组的基本概念
(一) 数组的基本概念及作用
①数组是相同数据类型元素的集合
②数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。
(二)数组的声明
数组的声明的两种方式:
①数据类型 [] 数组名字;
②数据类型 数组的名字 [];
注意:
在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。
数组在声明后还只是一个空指针,不能使用,要想使用必须创建。
(三)数组的创建
数组创建的三种方式:
①char[] a = new int[10];(常用方式);
②int[] a = new int[]{1, 2, 3, 4, 5};
③int[] a = {1, 2, 3, 4, 5};
(四)数组的长度
数组的长度:length属性
注意:
数组的长度是属性,String的长度是length();
创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。
数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7.
(五)数组之间赋值
在C语言中,不可以将数组直接赋值给另一个数组;
在Java中,语法上允许这样做,但实际得到的效果是两个数组引用指向同一块内存。
二、运算符
(一) 算术运算符
①单目:
+(取正)-(取负) ++(自增1) - -(自减1)
②双目:
+ - * / %(+还可以连接字符串)
③三目:
当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
(二)位运算符
①与(&)、非(~)、或(|);
②移位运算符:<<、 >>(有符号右移) 、 >>>(无符号右移);
③左移1位相当于乘以2,右移1位相当于除以2,比乘除运算效率更高;
(三)比较运算符
①== ,<,>,<=,>=,!=;
②==与!=比较基本数据类型是比较值,比较引用类型是虚地址;
③除了== !=外,都只能比较基本数据类型;
注意:
比较运算符的返回值为true或false;
(四)逻辑运算符
①用于连接两个boolean类型的表达式;
②&& (双与) 、|| (双或) 、&(与)、|(或)、!(非运算);
注意:
①&&与&的运算结果是相同的,对于&而言无论左边为什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false;
②||与|的运算结果是相同的,对于|而言无论左边为什么值,右边都参与运算;对于||来说,只要左边为true右边就不再运算,直接返回true;
③&&和||可以理解为物理上的短路,实际中多用&&
三、流程控制
(一)分支语句if/else
①条件语句 — if
1.条件表达式可以是任何一种逻辑表达式;
2.如果表达式值为true,则执行花括号的内容后,再执行后面的语句;
3.如果表达的值为false,则直接执行后面的语句;
②条件语句 — if…else…
if(表达式)
{
执行语句
}
else
{
执行语句
}
说明:
① 如果布尔表达式的值为true,则执行语句1
② 如果布尔表达式的值为false,则执行语句2
③条件语句 — if…else if…
if(表达式)
{
执行语句
}
else if
{
执行语句
}
说明:
属于嵌套式if判断语句;
(二)分支语句switch/case
①条件语句 — switch
1.表达式的值只可以接受int、byte、char、short 型、枚举,JDK1.6以后String也可以,不接受其他类型的值,不允许有重复的case取值
2.开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break语句为止
(三)循环语句for、 while、 do/while
①循环语句 — while
while (条件表达式)
{
执行语句块
}
说明:
while适用于计算求和;
②循环语句 — do…while
do
{
执行语句块;
} while(条件表达式 );
说明:
至少会执行一次循环
③循环语句 — for
for(初始化;循环条件;循环后的操作)
{
执行语句块
}
说明:
常用的循环语句
(四)循环的中断语句
①循环的中断语句 — break 、continue
1.中断语句;
2.多重循环中可以使用标号,指定中断的具体循环;
3.在使用循环语句时,只有循环条件表达式的值为false时,才能结束循环。有时,我们想提前中断循环,要实现这一点,只需要在循环语句块中添加break或continue语句;
②中断语句 — break
1.break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环。
2.break语句:可以出现在while、do…while、for、switch语句体中。
3.break label语句 :可以出现在任何语句体中。多数还是使用在循环中。
③中断语句 — continue
1.continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下未执行的循环,开始下一次循环过程;
2.continue 语句:只能出现在循环语句while、do…while、for中;