java程序的三种结构
从结构化程序设计角度出发,程序有三种结构:
顺序结构:
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。顺序结构在程序流程图中的体现就是用流程线将程序框自上而地连接起来,按顺序执行算法步骤。
选择结构:
if(条件表达式){
语句;
}
意义:if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
条件表达式必须是布尔表达式
示例:
import java.util.Scanner;
public class TestIf{
public static void main(String[] args){
/*
0~18:你还是小屁孩!
18~30:你是精力旺盛小青年!
30~50:你是处在人生顶峰的老男人!
大于50:你已经人老珠黄了!
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
if(age> && age<=){
System.out.println("你还是小屁孩");
}
if(age> && age<=){
System.out.println("你是精力旺盛小青年");
}
if(age> && age<=){
System.out.println("你是出于人生巅峰的老男人");
}
if(age>){
System.out.println("你已经日落西山了");
}
}
}

if-else双选择结构:如果条件为true执行一个操作,为false执行另一个操作:
   流程图:   
示例:
 public class IfElse{
     public static void main(String[] args){
         double r = Math.random()*;
         double s = Math.PI*r*r;
         double c = *Math.PI*r;
         System.out.println("半径为:" + r);
         System.out.println("面积为:" + s);
         System.out.println("周长为:" + c);
         if(s>=c){
             System.out.println("圆的面积大于周长");
         }else {
             System.out.println("圆的周长大于面积");
         }
     }
 }

If-elseif-else多选择结构:
if(布尔表达式1) {
语句块1;
} else if(布尔表达式2) {
语句块2;
}………
else if(布尔表达式n){
语句块n;
} else {
语句块n+1;
}
逐条对if语句进行判断,条件匹配,进入语句体不再进行判断,否则对if语句继续判断匹配
  
 public class TestIfElse3{
     public static void main(String[] args){
         int age = (int)(Math.random()*100);
         System.out.println("您的年龄是:" + age + ",属于:");
         if(age<15){
             System.out.println("儿童");
         }else if(age<35){
             System.out.println("青年");
         }else if(age<50){
             System.out.println("壮年");
         }else if(age<85){
             System.out.println("老年");
         }else {
             System.out.println("老寿星");
         }
     }
 }

switch多选择结构
根据表达式值的不同执行许多不同的操作
Switch语句:case标签必须是整数或者枚举,不能是字符串。
switch (表达式) {
case 值1:
语句序列;
[break];
case 值2:
语句序列;
[break];
… … … … …
[default:
默认语句;]
}
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾
与任一case值不匹配,则进入default语句(如果有的话)
  
import java.util.Scanner;
public class SwitchTest1{
public static void main(String[] args){
int number;
System.out.println("请拨号:");
Scanner sc = new Scanner(System.in);
number = sc.nextInt();
switch(number){ case 1:
System.out.println("打给爸爸。。。");
break;
case 2:
System.out.println("打给妈妈。。。");
break;
case 3:
System.out.println("打给爷爷。。。");
break;
case 4:
System.out.println("打给奶奶。。。");
break;
default:
System.out.println("对不起,没有你要输入的亲情号");
}
}
}

根据输入的月份,打出该月份的天数(不需要考虑润年、闰月)
int month =(int)(1+Math.random()*12);
if(month>0&&month<13){
switch (month) {
case 2:
System.out.println("28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
default:
System.out.println("31天");
} // 31:1,3,5,7,8,10,12 30:4,6,9,11 28:2 }else{
System.out.println ("月份不合法!");
}

循环结构:
while语句格式
while (布尔表达式) {
循环体;
}
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

public class WhileTest {
    public static void main(String[] args) {
        int  i = 0;
        int  sum = 0;
        while (i <= 100) {   // 1+2+3+…+100=?
            sum += i;   //sum = sum+i;
            i++;
        }
        System.out.println("Sum= " + sum);
    }
}

while语句结构
do{
循环体;
}while(布尔表达式);
先执行循环体,后判断boolean表达式,循环体至少执行一次,而while循环可能一次都不执行
示例:
 public static void main(String[] args) {
         int i=0;
         int sum = 0;
         do{
             sum +=i;
             i++;
         }while(i<=100);
         System.out.println(sum);
 }

For循环
For循环语句是支持迭代的一种通用结构,是最有效最灵活的循环结构
语法形式:
for(循环变量初始化; 布尔表达式;循环变量改变语句)
  
n for循环在第一次反复之前要对循环变量进行初始化。随后,它会进行条件测试,而且在每一次反复的时候,循环变量进行某种形式的“改变”。
- 初始化部分设置循环变量的初值
- 条件判断部分为任意布尔表达式
- 迭代因子控制循环变量的增减
public static void main(String[] args){
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            sum += i;
        }
        System.out.println("Sum= " + sum);
    }

如何使用循环结构呢?
当不知道执行次数循环次数的时候使用while循环,当至少执行一次的时候使用do...while循环,当有明确循环次数哦的时候使用for循环
一般而言,能用while循环的都可以用for循环解决,而且for循环看着更加整洁大方
break语句和continue语句
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句
public class BreakTest {
        public static void main(String[] args) {
          int total = 0;
          System.out.println("Begin");
          while(true) {
             total++;
             int i = (int)Math.round(100 * Math.random());
             if(i == 88) break;
          }
          System.out.println("Game over, used " + total + " times.");
        }
    }

当条件满足时,退出当前循环。不再执行以后的循环
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
把100~150之间不能被3整除的数输出:
public class ContinueTest {
    public static void main(String[] args) {
                   int count = 0;
           for (int i = 100; i < 150; i++) {
            if (i % 3 == 0){
                continue;
            }
            System.out.println(i);
           }
    }
}            
无限循环的第二种形式是for(;;)。编译器将while(true)与for(;;)看作同一回事。
用循环求九九乘法表:
public class HomeWork1{
    //九九乘法表
    public static void main(String[] args){
        for(int i=1;i<10;i++){
            for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}

java程序的三种结构的更多相关文章
- Java程序员的现代RPC指南(Windows版预编译好的Protoc支持C++,Java,Python三种最常用的语言,Thrift则支持几乎主流的各种语言)
		Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大 ... 
- OID,主键生成策略,PO VO DTO,get和load区别,脏检查,快照,java对象的三种状态
		主键生成策略 sequence 数据库端 native 数据库端 uuid 程序端 自动赋值 生成的是一个32位的16进制数 实体类需把ID改成String 类型 assigned 程序端 需手 ... 
- Tomcat部署发布JSP应用程序的三种方法 (转)
		Tomcat部署发布JSP应用程序的三种方法 1.直接放到Webapps目录下 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应 ... 
- 斐波那契数列-java编程:三种方法实现斐波那契数列
		题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ... 
- 【Java 线程的深入研究1】Java 提供了三种创建线程的方法
		Java 提供了三种创建线程的方法: 通过实现 Runnable 接口: 通过继承 Thread 类本身: 通过 Callable 和 Future 创建线程. 1.通过实现 Runnable 接口来 ... 
- JavaSE(一)Java程序的三个基本规则-组织形式,编译运行,命名规则
		一.Java程序的组织形式 Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位. J ... 
- python程序的三种控制结构
		程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ... 
- Eclipse远程调试Java代码的三种方法
		Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Ecli ... 
- Hibernate 系列 07 - Hibernate中Java对象的三种状态
		引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ... 
随机推荐
- <a>链接添加样式问题
			<a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ... 
- SQL-记录查询篇-009
			在学习记录查询之前,学习一些关键字的使用: 1.逻辑运算符:and . or . not .is null select * from table_name where id>2 and ... 
- vue中使用axios给生产环境和开发环境配置不同的baseUrl
			第一步:设置不同的接口地址 找到文件:/config/dev.env.js 代码修改为: var merge = require('webpack-merge') var prodEnv = requ ... 
- 学习笔记TF021:预测编码、字符级语言建模、ArXiv摘要
			序列标注(sequence labelling),输入序列每一帧预测一个类别.OCR(Optical Character Recognition 光学字符识别). MIT口语系统研究组Rob Kass ... 
- WRITING POSTGRESQL TRIGGERS IN GO
			转自:https://www.opsdash.com/blog/postgresql-triggers-golang.html 可以学习如何使用golang 编写pg extension Trigge ... 
- LeetCode——300. Longest Increasing Subsequence
			一.题目链接:https://leetcode.com/problems/longest-increasing-subsequence/ 二.题目大意: 给定一个没有排序的数组,要求从该数组中找到一个 ... 
- 1131(★、※)Subway Map
			思路:DFS遍历 #include <iostream> #include <map> #include <vector> #include <cstdio& ... 
- DokuWiki 插件使用
			本身DokuWiki提供了一些公共,但是不是很强大,所以可以安装一些插件. 安装方法可以参考:https://www.dokuwiki.org/extensions 下面列举出我觉得好用的一些插件: ... 
- Windows安装配置Anaconda2/PyCharm
			一.安装Anaconda2 1.进入Anaconda官网:https://www.anaconda.com/download/,下载对应版本的安装包. 2.下载成功后,打开可执行文件进行安装. 3.N ... 
- Pycharm 设置上下左右快捷键
			Pycharm的版本 Note:英文版的Pycharm,使用中文版的对照即可. 1. 打开Pycharm软件→File→Settings 2.Keymap→Editor Actions→搜索(up)→ ... 
