程序主要分为三种逻辑:顺序,分支,循环。
if 分支语句
  if分支语句是最为基础的分支操作,但是其有三种使用形式;
if语句
if.....else   语句
if....else...if...else  语句
if(布尔表达式){条件满足时执行}
if(布尔表达式){条件满足时执行}else{条件不满足时执行}
if(布尔表达式){条件满足时执行}else if (布尔表达式){条件不满足时执行}else if (布尔表达式){条件不满足时执行}......[else{条件都不满足时执行}]
利用if语句只能够判断满足条件时的执行
如果现在要想进行更多的条件判断,那么就使用if...else if...else if....else.....
 

switch分支语句(很少会优先考虑)
  应用if....else  可以实现多条件的验证,而switch 只能够进行多数值的判断,而且switch  本身支持的判断数据类型
    标准做法:int,char;
    JDK 1.5 支持了枚举;
    JDK 1.7 支持了字符串;
  对于switch语法结构如下:

switch(变量/内容){
case 数值:
数值满足时执行的语句;
break;
case 数值:
数值满足时执行的语句;
break;
default:
没有数据满足时执行的语句;
}
switch(表达式){
case 常量 1:
代码块1;
break;
case 常量2 :
代码块2;
break;
default:
代码块3;
break;
}

  在使用switch语句之中如果在每一case之后不加上 break。  那么就表示在第一个case满足条件之后将一直执行,执行到遇见break或者整个switch执行完毕为止。所以好的习惯一定要在每一个 case 中使用 break。

从JDK 1.7 开始 switch 进行了扩充,支持了字符串的验证。
在进行字符串判断时候依然需要考虑到大小写问题。
public class Compete{
public static void main( String [] args){
int mingci = 1; //名次
switch(mingci){
case 1 :
System.out.println("参加理工大学组织的一个月夏令营活动");
break;
case 2:
System.out.println("奖励惠普笔记本一台");
break;
case 3:
System.out.println("奖励惠普笔记本一台");
break;
default:
System.out.println("没有任何奖励");
break;
}
}
}

循环语句
  循环的意义本身非常的好理解,就是让一段代码重复执行。但是在循环语句之中,实际上定义有两类循环:while 循环,for循环。
  while循环语法:
    while 循环中分为两种形式:while,do...while。

      while(条件){
          语句;
      }

    当while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。
举个简单的例子

n=0;
while(n<2){
n++;
}

  首先给n赋值0,然后开始while循环,判断n<2是否满足,满足,然后执行n++;此次循环后n=1,再返回判断n<2是否满足,满足,执行n++,之后n=2;再返回判断n<2是否满足,不满足,结束while循环。

while循环:
do....while 循环:
循环初始化条件;while(判断循环结束条件){ 执行循环语句; 修改循环控制; 如果不修改出现死循环}
循环初始化条件;do{执行循环语句;      修改循环控制;如果不修改出现死循环}while(判断循环结束条件)
 
public class TestDemo{
public static void main(Srting ars[]){
//希望在循环之中x 的内容可以按照1,2,3,4,5...100的方式增长
// 实际上当x 的内容增长到了100的时候那么就表示循环的结束
int x = 1;
int sum = 0;
// x = 1,x = 2,x = 3,...x = 100,x=101 (循环结束)
while(x<100){
sum+=x; // 进行数据累加
x ++; // 修改循环的控制,x 自增1

System.out.println(sum);
}
}

while 与 do...while 循环的最大区别在于:while 先判断后执行,而 do...while 先执行一次再判断,如果条件不满足,while 执行 0 次,do..while 执行 1 次。以后不用do...while。

for 循环
  for 循环的语句要比 while 循环简化,其形式如下:
    for(循环初始化条件;循环判断;改变循环条件){
      循环语句;
    }

//循环打印a-z
for(int j=0;j<26;j++){
char temp = (char)(97+j);
System.out.print(temp);
public class TestDemo{
public static void main(Srting ars[]){
for(int x = 0;x<10;x++){
if(x == 2){
continue; // 此语句之后的循环体代码不执行,而直接结束本次循环

System.out.println(x);
}
}
}

使用for 循环打印下面的图形

public class Compete{
public static void main( String [] args){
//从上到下循环5次,每次输出星号,但位置是要算出来的,可以看出是每行9列,能排出这个阵势
String a = "*";
String b = "";
int count = 5;//全局定义输出几行
for (int temp = 1; temp < (count + 1); temp++){
if (temp != 1){//第1次就是一个×
a += " *";//逐行构造 × ×× ×××
}
//这里写一个方法,传入a,和当前第几行,还有要输出多少行,返回带空格的字符串,去形成居中的版式
b = trans(count, temp, a);
System.out.println(b);
} }
}
  private static String trans(int count,int temp,String a){
String b = a;
for (int temp2 = count; temp2 > temp; temp2--){
//以5行为例,第1次循环4次,第2次循环3次,在前面加空格
b = " " + b;
}
return b;
}

循环总结
  现在给出了while 和 for 两种循环,那么用那个呢?
    1.如果已经明确知道循环次i数就使用 for 循环;
    2.如果不知道循环次数,但是知道循环条件,那么使用 while 循环。

循环控制
  循环默认情况下肯定要一直执行,直到循环条件满足,但是在循环的执行中提供有两个循环的控制语句:continie(中断一次),break(跳出循)
  一般这样的两个语句都会结合if 语句来一起使用。

  String就是C++、java等编程语言中的字符串,用双引号引起来的几个字符.如"Abc","一天"

总结
  现阶段不要求编写过于复杂的循环操作。

菜鸡的Java笔记 第五 - java 程序逻辑控制的更多相关文章

  1. Effective java笔记(五),枚举和注解

    30.用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型.在java没有引入枚举类型前,表示枚举类型的常用方法是声明一组不同的int常量,每个类型成员一个常量,这种方法称作int枚 ...

  2. Java笔记(五)

    泛型:JDK1.5版本后出现的新特性.用于解决安全问题,是一个类型安全机制. 好处:将运行期间出现问题ClassCastException,转移到了编译时期.方便程序员解决问题,让运行时问题减少. 避 ...

  3. 【Java笔记】配置文件java.util.Properties类的使用

    配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...

  4. Java笔记12:Java对象排序

    代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...

  5. 菜鸡的Java笔记 第七 - java 数组

    数组的基本概念     笔试中经常出现的试题或是问题    1.1 概念        数组指的是一组相关变量的集合         如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...

  6. 菜鸡的Java笔记 第四 - java 基础运算符

    数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好   简化运算符 代码:x=x+y 可以 ...

  7. 菜鸡的Java笔记 第二十三 - java 抽象类的概念

    abstractClass 抽象类的概念        1.抽象类的基本定义        2.抽象类的使用原则                不会抽象类与接口,java = 没学           ...

  8. 菜鸡的Java笔记 第八 - java 面向对象

    面向对象的特点以及开发过程.    java中最大的特点是其支持面向对象编程设计思想.在面向对象之前广泛流传的是面向过程的编程思想,例如:C语言的开发就属于面向过程    如果要想更简单的去理解面向过 ...

  9. 菜鸡的Java笔记 第六 - java 方法

    前提:现在所讲解的方法定义格式,只属于JAVA 方法定义的其中一种组成方式.而完整的组成方式将随着学习逐步渗透. 1.方法的基本定义 方法(Method)在一些书中也会有人将其说是  函数(Funct ...

随机推荐

  1. 使用Jacoco统计服务端代码覆盖情况实践

    一.背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线.如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本.但经历比较长的迭代以及系统交接,可能 ...

  2. [源码解析] PyTorch 流水线并行实现 (6)--并行计算

    [源码解析] PyTorch 流水线并行实现 (6)--并行计算 目录 [源码解析] PyTorch 流水线并行实现 (6)--并行计算 0x00 摘要 0x01 总体架构 1.1 使用 1.2 前向 ...

  3. 实时获取股票数据,免费!——Python爬虫Sina Stock实战

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 实时股票数据的重要性 对于四大可交易资产:股票.期货.期权.数字货币来说,期货.期权.数字货币,可以从交 ...

  4. SphereEx 公司成立,推动 Apache ShardingSphere 社区加速发展

    近日,SphereEx 商业公司在中国红杉种子基金及初心资本助力下,已完成公司及团队组建.各大媒体平台及公众号已相继报道,并抢占新闻头条.作为以 Apache ShardingSphere 核心团队组 ...

  5. NX CAM 读取加工参数

    '取加工几何试图程序组 Function GetGemoGroup_Name(ByVal camObjectTag As NXOpen.Tag) As String Dim theGemoGroupT ...

  6. mysql锁场景及排查

    1.查询长时间不返回: 在表 t 执行下面的 SQL 语句: mysql> select * from t where id=1; 查询结果长时间不返回. 一般碰到这种情况的话,大概率是表 t ...

  7. 浅尝装饰器和AOP

    [写在前面] 参考文章:https://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html[从简单的例子入手进行讲解,由浅入深,很到位] 装饰器部 ...

  8. shopping cart

    #Author:Kevin_hou #定义产品列表 product_list =[ ('HUAWEI',5999), ('Watch',500), ('Nike',800), ('Toyota',20 ...

  9. [软工顶级理解组] Alpha阶段测试报告

    [软工顶级理解组] Alpha阶段测试报告 在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原 ...

  10. Noip模拟31 2021.8.5

    T1 Game 当时先胡了一发$\textit{Next Permutation}$... 然后想正解,只想到贪心能求最大得分,然后就不会了.. 然后就甩个二十分的走了... 正解的最大得分(叫它$k ...