一、选择结构,条件判断

1、if 语句

  一个 if 语句包含一个布尔表达式和一条或多条语句。如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

 import static java.lang.Math.round;

 public class Conditional {
/**
* 简单if语句
*/
@Test
public void testIf() {
double random = Math.random();
int num = (int) round(random * 10); //创建一个随机整数
System.out.println(num);
if (num < 3) {
System.out.println("num小于3");
} else {
System.out.println("num大于等于3");
}
} /**
* 简单if, else if,else语句
*/
@Test
public void testIf2() {
double random = Math.random();
int num = (int) round(random * 10); //创建一个随机整数
System.out.println(num);
if (num < 3) {
System.out.println("num小于3");
} else if(num < 6) {
System.out.println("num小于6");
}else {
System.out.println("num大于等于6");
}
} /**
* 嵌套if语句
*/
@Test
public void testIf3() {
double random = Math.random();
int num = (int) round(random * 10); //创建一个随机整数
System.out.println(num);
if (num < 3) {
System.out.println("num小于3");
} else if(num < 6) {
System.out.println("num小于6");
}else {
if(num == 6){
System.out.println("num等于6");
}
System.out.println("num大于6");
}
}
}

2、switch 语句

  switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法:

switch(变量或者一个表达式){
case 变量的可能值1: 功能语句;
break;
case 变量的可能值2: 功能语句;
break;
case 变量的可能值3: 功能语句;
break;
........
default:功能语句;
}

switch 语句规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串类型了

  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

  • case 后面值的数据类型必须和变量的数据类型一致,而且只能是常量或者字面常量。

  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

  • 如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

  • 按照case的值的大小顺序排列,default放最后,default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

 import static java.lang.Math.round;

 public class Conditional1 {
/**
* switch语句
*/
@Test
public void testSwitch(){
double random = Math.random();
int num = (int) round(random * 10);
System.out.println(num);
switch(num){
case 0 :
System.out.println("num为0");
break;
case 1 :
System.out.println("num为1");
break;
case 2 :
System.out.println("num为2");
break;
case 3 :
System.out.println("num为3");
break;
case 4 :
System.out.println("num为4");
break;
case 5 :
System.out.println("num为5");
break;
default :
System.out.println("num大于5");
}
}
}

二、循环结构

1、while循环

  先判断条件,再执行语句

2、do-while循环

  先执行一次,再判断条件

 public class Circulation {
/**
* while循环语句
* 先判断,再执行
*/
@Test
public void testWhile() {
int num = 5;
while (num > 0) {
System.out.println(num);
num -= 1;
}
} /**
* do-while循环
* 先do执行一次,再判断
*/
@Test
public void testDoWhile() {
int num = 5;
do {
System.out.println(num);
num -= 1;
} while (num > 0);
}
}

3、for循环

  for循环执行的次数是在执行前就确定的。

语法:

for(初始化语句A ; 条件判断B; 循环后功能语句C){
//循环体D
}

  执行一次循环后,更新循环控制变量,语句C的作用。然后再次检测布尔表达式。循环执行上面的过程。

 public class Circulation {
/**
* 简单for循环
*/
@Test
public void testFor() {
int num = 10;
for (int i = 0; i < num; i++) {
System.out.println(i);
}
}
}

4、foreach加强的for循环

  Java5 引入了一种主要用于数组的增强型 for 循环。

作用: 主要是用来遍历数组和集合的;

缺点: 没有索引,凡是涉及有索引相关操作还是用普通for循环,

Java 增强 for 循环语法:

for(源中的数据类型 值e: 源){
//代码句子,直接使用值e
}
 public class Circulation1 {
/**
* foreach循环
*/
@Test
public void testForeach() {
int[] num = {10, 20, 30, 40, 50};
for (int i : num) {
System.out.println(i);
}
}
}

5、嵌套循环

 public class Circulation {
/**
* 嵌套循环实现冒泡排序
*/
@Test
public void test() {
int[] num = {12, 2, 7, 5, 14};
int t = 0;
for (int i = 0; i < num.length-1; i++) {
for (int j = 0; j < num.length-1; j++){
if (num[j] > num[j + 1]) {
t = num[j];
num[j] = num[j + 1];
num[j + 1] = t;
}
}
}
System.out.println(Arrays.toString(num));
}
}

三、循环控制语句

1、break

  break 表示终止当前这一层循环,即跳出当前循环。

2、continue

  continue 表示跳过本次循环,进入下一次循环。

3、return

  return 表示结束当前的方法。

注意:break、continue、return 后面都不能跟任何代码,因为永远都不会执行。

for(源中元素类型 e  : 源 ){

直接使用e就可以了

}

Java基础(三)选择和循环结构的更多相关文章

  1. Java使用三种不同循环结构对1+2+3+...+100 求和

    ▷//第一种求法,使用while结构 /** * @author 9527 * @since 19/6/20 */ public class Gaosi { public static void ma ...

  2. java顺序、选择、循环结构

    一.顺序结构 二.选择结构 1.if都执行 2.if else if else 条件满足才执行 3.选择结构switch 一个case后有多条语句要加花括号 多个case的值不能相同 case中要加b ...

  3. Java使用条件语句和循环结构确定控制流

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句 ...

  4. Java基础三(Scanner键盘输入、Random随机数、流程控制语句)

    1.引用类型变量的创建及使用2.流程控制语句之选择语句3.流程控制语句之循环语句4.循环高级 ###01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scanner类是属于 ...

  5. Java语法基础(四)----循环结构语句

    一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...

  6. Java流程控制以及顺序、选择、循环结构

    目录 用户交互Scanner Scanner对象 hasNext()与next() hasNextLine()与nextLine() Scanner进阶用法 求和与平均数 顺序结构 选择结构 if单选 ...

  7. java第三课:分支结构、循环结构

    分支结构 1.if后面可以不加{},但是不建议,容易产生误解2.写程序的时候先防屌丝测试,再写逻辑,否则会出错3.if:一条分支 if else:两条分支 if...else if...:多条分支(结 ...

  8. java基础三种循环的使用及区别

    摘要:Java新人初学时自己的一些理解,大神们路过勿喷,有什么说的不对不足的地方希望能给予指点指点,如果觉得可以的话,希望可以点一个赞,嘿嘿,在这里先谢了.在这里我主要说的是初学时用到的Java三个循 ...

  9. java基础:switch语句应用,循环的详细介绍以及使用,附练习案列

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...

随机推荐

  1. leecode刷题(8)-- 两数之和

    leecode刷题(8)-- 两数之和 两数之和 描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输 ...

  2. KVM 安装 VMware 虚拟机

    去掉了“双引号”改为:vmx.allowNested = TRUE 打开在其中创建虚拟机的文件夹VMDISK和搜索与您的虚拟机的名称. vmx 文件. 用记事本打开它,并添加上述条目. 所以 vmx. ...

  3. The server of Nginx(三)——Nginx企业级优化

    相信看过我之前apache文章的朋友们,对服务优化也有了一个大概的了解,相比较而言,Nginx企业中应用的更多一些,因此今天也会详细阐述Nginx的优化,有人说,服务器不需要优化,开虚拟化,分分钟成倍 ...

  4. 在通知栏上玩游戏,Steve iOS 游戏实现思路

    最近有一款游戏特别的火爆,叫做Steve ,一种可以在通知中心直接玩的游戏.作者的脑洞也是非常的大,实在让人佩服.其实实现起来也简单,就是用到了iOS8新特性 app extension(Today ...

  5. iOS开发之像素Compositing

    假如Layer S·在Layer D上面,则最终的屏幕的颜色值如下: \[R = S + D \cdot (1- S_\alpha)\] \(R\): 最终的RGB \(S\): source col ...

  6. PyQt5(3)——信号和槽初探

    信号和槽是QT的核心机制(当信号发射时,链接的槽函数会自动执行) 在pyqt5中信号和槽通过 QObject.signal.connect()链接. QObject类或子类(QWidget)派生的类都 ...

  7. tomcat Setting property 'source' to 'org.eclipse.jst.jee.server

    很不爽,好好的项目不知道突然怎么了... 启动tomcat出个错,,,,, setting property 'source' to 'org.eclipse.jst.jee.server:jeesi ...

  8. ubuntu下Android反编译详细教程-apktool,dex2jar,jd-gui的使用

    转载请注明出处:http://blog.csdn.net/fightlei/article/details/52432161 最近在学习Android反编译的一些知识,虽然在网上搜到了很多相关的文章, ...

  9. spring切面拦截实现

    1.建立业务类(英雄战斗实现类) package com.g2.api; public interface Weapon { int attack(); String getName(); } pac ...

  10. [转] crontab命令

    [From] http://man.linuxde.net/crontab   当前位置:首页 » 系统管理 » crontab crontab命令 crontab命令被用来提交和管理用户的需要周期性 ...