与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流。本文将简单讲解条件、循环和switch。

一、块作用域

块(block),即复合语句。是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。

比如:

 public class Code {
static
{
System.out.println("");
}
{
System.out.println("");
}
public Code()
{
System.err.println("");
}
public static void main(String[]args)
{
new Code();
}
}

注意:不能在嵌套的两个块中声明同名的变量。

二、条件语句

格式1:

if(condition)

{

statement1

statement2

........

}

例如:

 if(youSales>=target)
{
performance="Satisfactory";
bonus=;
}

格式2:

if(condition)statement1 else statement2

例如:

 if(youSales>=target)

performance=“Satisfactory”;
bonus=+*(youSales-target“);

else

performance=”Unstatisfactory“;
bonus=;

三、循环

当条件为true时,while循环执行。

格式1:

while(condition)statemnet

例如:

 while (balance<goal)
{
balance+=payment;
double interest=balance*interestRate/;
balance+=interest;
years++;
}

格式2:

do statement while(condition);

 do
{
balance+=payment;
double interest=balance*interestRate/;
balance+=interest; year++; System.out.printf("After year %d,your balance is %,.2f%,year,balance"); System.out.print("Ready to retire?(Y/N)");
input=in.next();
}
while(input.equals("N")); }

四、确定循环

for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代的次数。

格式类似如下:

for(int i=0;i<x.length;i++)

System.out.println(i);

例子4个:

 public class ShuZu1 {
public static void main(String[]args){
int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}};
int result=qiuHe(x);
System.out.println("和是"+result);
}
public static int qiuHe(int[][]x){
int s=0;
for(int i=0;i<x.length;i++)
{
for(int j=0;j<x[i].length;j++)
{
s+=x[i][j];
}
}
return s;
}
}
 public class ShuZu2 {
public static void main(String[]args){
int [][] x=new int[7][7];
//生成随机数组,注意没有返回值,另外打印一行字
suiJi(x);
System.out.println("生成的数组是:"); //显示数组内容,注意没有返回值
showArray(x); //取值
float result=getAvg(x);
System.out.println("平均数是"+result); }
static float getAvg(int [][] x){
float s=0;
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i].length;j++){
s+=x[i][j];
}
}
return s/(x.length*x[0].length);
}
static void suiJi (int[][]x){ //这里我出错了。返回值写了int型,不应该的。思考一下。
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i].length;j++){
x[i][j]=(int)(Math.random()*10);
}
}
}
static void showArray(int[][]x){ //这里我出错了。返回值写了int型,不应该的。思考一下。
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i].length;j++){
System.out.print(x[i][j]+"\t");// 给数据空格
}
System.out.println();//打印换行
}
}
}
 import java.util.Arrays;
public class SuZu3{
public static void main(String[] args) {
int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};
sort(x,'n');
for(int i=0;i<x.length;i++){
System.out.print(x[i]+"\t");
}
}
//给数组进行选择性排序
//调用API进行升序
static void sort(int[]x,char Flag){
if('A'==Flag){
Arrays.sort(x);
}
else {
for(int i=0;i<x.length-1;i++){
for(int j=0;j<x.length-1-i;j++){
int temp=0;
if(x[j]<x[j+1]){
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
}
}
}
}
 import java.util.Scanner;

 public class Suzu4 {
public static void main(String[] args) {
System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。
Scanner scan = new Scanner(System.in);
//System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面
String str = scan.nextLine();// nextLine才是接收一行 char[] s = str.toCharArray();// 把字符串转换称一个字符数组
scan.close();
int letterCount = 0;
int numberCount = 0;
int spaceCount = 0;
int otherCount = 0;
for (int i = 0; i < s.length; i++) {
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {
letterCount++;
} else if (s[i] >= '1' && s[i] <= '9') {
numberCount++;
} else if (s[i] == ' ') {
spaceCount++;
} else {
otherCount++;
}
}
System.out.println("字母有" + letterCount + "个");
System.out.println("数字有" + numberCount + "个");
System.out.println("空格有" + spaceCount + "个");
System.out.println("其他有" + otherCount + "个");
}
}//ctrl+shift+f 是代码格式化
//ctrl+shift+o 是导包

五、多重选择:switch语句

格式类似如下:

switch(choice)

case 1:

........

break;

case 2:

.......

break;

.........

//可以再来几个case(用break结束一下)

default:

.......

break;

注意:

case标签可以是:

* 类型为char、byte、short或int的常量表达式。

* 枚举常量

* 从Java SE 7开始,case标签还可以是字符串字面量。

Java使用条件语句和循环结构确定控制流的更多相关文章

  1. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  2. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  3. Java入门 - 语言基础 - 09.循环结构

    原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...

  4. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

  5. Python——条件语句及其循环

    条件语句及其循环 一. 条件语句 在条件语句中可以使用以下所有的运算符: 算术运算符:+.-.*././/.%.** 关系运算符:>.<.==.<=.>=.!= 测试运算符:i ...

  6. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  7. python基础(4):条件语句与循环语句

    今天我们看看条件语句与循环语句. 预习: 1.使用while循环输出1 2 3 4 5 6 8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所 ...

  8. 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句

    MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...

  9. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

随机推荐

  1. 用Pyton玩转数据练习题---第二周

    找前5个默尼森数.P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数.例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数. # coding:utf-8 im ...

  2. MySQL注射的过滤绕过技巧

    SQL注射的绕过技巧较多,此文仅做一些简单的总结. 最好利用的注射点: 支持Union 可报错 支持多行执行.可执行系统命令.可HTTP Request等额外有利条件 若非以上类型,则可能需要暴力猜解 ...

  3. phtread_mutex 组合

    phtread_mutex通过mutexattr设定其类型,并保存在成员__kind中.pthread_mutex的锁操作函数根据__kind进行方法的分派(dispatch).__kind由5个字段 ...

  4. Java发布一个简单 webservice应用 并发送SOAP请求

    一.创建并发布一个简单的webservice应用 1.webservice 代码: package com.ls.demo; import javax.jws.WebMethod; import ja ...

  5. 使用DocFX生成文档

    使用DocFX命令行生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/docfx/releases 2.使用 创建初始项目 docfx init -q 此命 ...

  6. hdu1420 Prepared for New Acmer 简单数学

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1420 简单数学题 第一次wa在可能和会出现取模后值为负数的情况. 只要会一个数论上的简单公式(a*b) ...

  7. 自坑实录 - Asp.net MVC中无法使用@Ajax.BeginForm问题解决

    创建空的web项目,通过Nuget引用mvc组件来搭建空的MVC项目时, 在视图页面中无法使用@Ajax.BegForm来进行异步提交数据, 而新建默认的MVC模板项目却能够正常使用@Ajax.Beg ...

  8. 门面(Facade)模式

    门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行.门面模式提供一个高层次的接口,使得子系统更易于使用. 医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个 ...

  9. .net数据统计系统设计(中小型)

    近一年多没在博客园写东西了,从换公司后就一直努力学习公司的框架和业务.而今接手一个电商数据统计项目,在博客园搜索统计项目解决方案却一无所获,最终自己设计并在开发的过程中持续更新,希望可以和大家一起交流 ...

  10. 纯CSS图片缩放后显示详细信息

    哎~!突然好久没更新博客了,最近总在下雨,晚上也经常没有时间来管理博客(目前在敲自己的一个平台,晢时还在写逻辑层的代码),好吧!废话不多说了,言归正传. 现在很多图片缩放的特效大多数都是用javasc ...