菜鸡的Java笔记 第五 - java 程序逻辑控制
|
if语句
|
if.....else 语句
|
if....else...if...else 语句
|
|
if(布尔表达式){条件满足时执行}
|
if(布尔表达式){条件满足时执行}else{条件不满足时执行}
|
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。
在进行字符串判断时候依然需要考虑到大小写问题。
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 程序逻辑控制的更多相关文章
- Effective java笔记(五),枚举和注解
30.用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型.在java没有引入枚举类型前,表示枚举类型的常用方法是声明一组不同的int常量,每个类型成员一个常量,这种方法称作int枚 ...
- Java笔记(五)
泛型:JDK1.5版本后出现的新特性.用于解决安全问题,是一个类型安全机制. 好处:将运行期间出现问题ClassCastException,转移到了编译时期.方便程序员解决问题,让运行时问题减少. 避 ...
- 【Java笔记】配置文件java.util.Properties类的使用
配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...
- Java笔记12:Java对象排序
代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...
- 菜鸡的Java笔记 第七 - java 数组
数组的基本概念 笔试中经常出现的试题或是问题 1.1 概念 数组指的是一组相关变量的集合 如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...
- 菜鸡的Java笔记 第四 - java 基础运算符
数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好 简化运算符 代码:x=x+y 可以 ...
- 菜鸡的Java笔记 第二十三 - java 抽象类的概念
abstractClass 抽象类的概念 1.抽象类的基本定义 2.抽象类的使用原则 不会抽象类与接口,java = 没学 ...
- 菜鸡的Java笔记 第八 - java 面向对象
面向对象的特点以及开发过程. java中最大的特点是其支持面向对象编程设计思想.在面向对象之前广泛流传的是面向过程的编程思想,例如:C语言的开发就属于面向过程 如果要想更简单的去理解面向过 ...
- 菜鸡的Java笔记 第六 - java 方法
前提:现在所讲解的方法定义格式,只属于JAVA 方法定义的其中一种组成方式.而完整的组成方式将随着学习逐步渗透. 1.方法的基本定义 方法(Method)在一些书中也会有人将其说是 函数(Funct ...
随机推荐
- 微信小程序Canvas添加水印字体,通过setGlobalAlpha设置字体透明度。
微信小程序自带的设置透明度只有setGlobalAlpha,但是CanvasContext.setGlobalAlpha设置透明度,是全局透明,整张图片都透明了.所以直接使用是不行的. 换种思路实现: ...
- WebXml文件与SpringMVC的联系
WebXml文件与SpringMVC的联系 无论采用何种框架来进行Java Web的开发,只要是Web项目必须在WEB-INF下有web.xml,这是java规范. 当然,我们最早接触到Java We ...
- 从零入门 Serverless | 架构的演进
作者 | 许晓斌 阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverless ...
- ssh 批量免密登陆
SSH第一次连接远程主机 公钥交换原理 1.客户端发起链接请求2.服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)3.客户端生成密钥对4.客户端用自己的公钥异或会话ID,计算出一个 ...
- 题解 2020.10.24 考试 T2 选数
题目传送门 题目大意 见题面. 思路 本来以为zcx.pxj变强了,后来发现是SPJ出问题了...考试的时候感觉有点人均啊...结果自己还是只想出来一半. 我们假设 \(f(x)=(\lfloor\f ...
- .NET 分布式系统架构(有转载部分)
一.设计目的 搭建一个大型平台需要综合考虑很多方面,不单纯是软件架构,还包括网络和硬件设备等.由于现代大部分应用建设都面临用户多.高并发.高可用的需求,传统软件架构已不能满足需求,需要支持分布式软件架 ...
- Python学习系列之一: python相关环境的搭建
前言 学习python和使用已经一年多了,这段时间抽空整理了一下以前的笔记,方便日后查阅. Python介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Pytho ...
- 【UE4】GAMES101 图形学作业3:Blinn-Phong 模型与着色
总览 在这次编程任务中,我们会进一步模拟现代图形技术.我们在代码中添加了Object Loader(用于加载三维模型), Vertex Shader 与Fragment Shader,并且支持了纹理映 ...
- Java正则中"\\\\"表示普通反斜杠
Java中"\"用于转义字符,"\\"表示普通无转义功能的反斜杠. 如果将字符串当做正则表达式来解析,那么"\\"也有了特殊意义,它与其后的 ...
- Beta阶段第六次会议
第六次会议 时间:2020.5.22 完成工作 姓名 任务 难度 完成度 xyq 1.编写技术博客 中 90% ltx 1.编写小程序2.添加全局变量之后页面无法加载的bug 中 90% lm(迟到) ...