Java基础—Java流程控制

Posted

tags:

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

Java流程控制

  • 运算符

  • 隐式与显式转换

  • 选择结构

  • 循环结构

  • 循环结束控制

一.Java运算符

1.1 基本运算符

基本运算符,包括四则运算符:加/减/乘/除.另外包括,取余运算符%.

1.2 复合运算符

复合运算符,是基本运算符与赋值运算符结合的运算符.包括:+=,-=,*=,/+,%=,值得指出的一点是,复合运算符隐含强制类型转换.

1.3 逻辑运算符

逻辑运算符包括6个运算符,逻辑与&,逻辑或|,逻辑非!,逻辑异或^,双与&&,双或||.其中,需要注意的是,&&与||和&与|的表达式结果是保持一致的,但是&&与||有一个特性,如果左边表达式的结果可以确定整个表达式的结果,那么右边的表达式将不会判断,提高了一丢丢效率.

1.4 位运算符

位运算符,有按位取反~,按位异或^,按位与&,按位或|,按位左移<<,按位右移>>,按位无符号右移>>>,其中按位异或非常有特点,一个数据对另一个数据位异或偶数次还是本身,如1^2^2=1;可以用于交换2个变量的值而不需借用第三方变量.

1.5 三元运算符

三元运算符,也称条件运算符.使用三元运算符,可以快速的得出2个数的大小,常用于判断2个数中那个大那个小.

1.6 自增/自减运算符

自增与自减运算符,在底层运算效率十分高效,常用于循环和选择判断中条件控制语句中.自增自减运算符分前缀和后缀方式,单独构成一个语句时,2种方式没有任何区别;其他情况下,需要知道的是前缀方式表示先参与自增或自减操作,再参与表达式运算,而后缀则相反,先把变量的值拿来参与表达式的运算,再对变量进行自增自减操作.

二.隐式与显式转换

2.1 Java的自动类型提升(隐式转换)

在计算机底层,需要统一变量的类型,才能进行相关的操作.这就要求,在混合运算中,编译器能自动将各种数据类型转换为最大的数据类型进行统一,在Java中基本数据类型的自动提升顺序为:byte,char,short—>int—>long—>float—>double.

2.2 Java的强制类型转换(显式转换)

有时候,需要将其他数据类型的数据转换成需要的数据类型,如小数取整.如果没有进行显式转换,编译器会认为逻辑不严谨,直接编译失败,从这一点上看,Java语言比C语言对程序员的要求比较严格.

三.选择结构

3.1 if选择结构

if,就是如果的意思,表示条件判断.if可以改变程序的流程,主要有三种形式,针对不同的情况合理选择不同的if形式能大大提高程序的健壮性.

格式1:if

格式2:if…else…

格式3:if…else if…else if…else…

if语句常用于判断区间或范围时使用...

3.2 switch多分支选择

switch,多分支选择语句,有时候情况很复杂,有多个流向,这时便需要使用switch()语句进行流程控制.

switch(byte/short/char/int/String/枚举){

case 情况1:...;break;

case 情况2:...;break;

… …

default:…;break;

}

switch常用于判断固定值使用...

四.循环结构

4.1 for循环

for循环,常用于循环次数已知的循环场合,如循环打印出1-10的数.循环,是程序设计语言中最重要的结构之一,循环对于减少代码量提高复用性上有极大的优势.for循环的格式有如下2种,第一种是常规的形式,第2种,是迭代器循环for each,主要用于遍历集合元素的场合.

形式1:

for(初始化表达式1;条件判断表达式2;循环控制表达式3){

循环体;

}

形式2:

for(数据类型 变量名:集合){

循环体;

}

4.2 while循环

while循环,与for循环刚好相反,它用于循环次数不可知的场合,如,打印数组中的元素,直到遇到数字0.while循环只有唯一的一种形式,如下:

初始化表达式1;

while(条件判断表达式2){

循环体;

循环控制表达式3;

}

4.3 do…while循环

do…while循环,使用非常少.是一种直到型循环,和while循环可以等效替换使用.形式也只有一种,如下:

初始化表达式1;

do{

循环体;

循环控制表达式3;

}while(条件判断表达式2);

五.循环结束控制

5.1 break关键字

break关键字,应用的场合有2个:循环结构中和switch多分支选择结构中.break,主要用于跳出循环,值得注意的是break一次只能跳出一个循环,带"标签"的break却可以跳到最外层循环而无论多少循环嵌套,但不常用.

5.2 continue关键字

continue关键字,只能用于循环结构中.continue只能结束本次循环,而不能跳出循环,说到底continue无法真正做到结束循环.break和continue最重要的一点是,其下不可以再有任何有效语句,因为永远无法执行到break和continue下面的语句,编译器认为这种情况不严谨,直接编译失败.

5.3 return关键字

其实,return也可以跳出循环,不过它比break更厉害,直接终止方法的执行.需要指出的是,任何方法都有return语句(有的用户显式给出,而用户没有显式给出的系统会自动添加return;),因为这是保证能返回调用者出继续执行其他语句的前提.

以上是关于Java基础—Java流程控制的主要内容,如果未能解决你的问题,请参考以下文章

Java基础03—流程控制

Java基础03—流程控制

java基础笔记----流程控制

Java基础语法之控制流程

阿花宝宝 Java基础笔记 之 流程控制

Java基础总结--流程控制