顺序结构:

Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
顺序结构是最简单的算法结构
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,
他是任何一个算法都离不开的一种基本结构。

选择结构:

if单选结构

if(布尔){
//如果布尔表达式的值为true
}
if双选结构
if(布尔){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if多选结构
if(布尔1){
//如果布尔表达式1的值为true执行代码
}else if(布尔2){
//如果布尔表达式2的值为true执行代码
}else if(布尔3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式的值不为true执行代码
}
嵌套的if结构
使用嵌套的if…else语句是合法的,也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if…else。
if(布尔1){
//如果布尔表达式1的值为true执行代码
if(布尔2){
//如果布尔表达式2的值为true执行代码
}
}
switch多选结构
switch(exprression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}

从Jdk7开始 switch开始支持字符串String类型了

字符的本质还是数字

反编译:java->class(字节码文件)->反编译(IDEA让我们能看懂内容)

循环结构:
while循环:
while是最基本的循环,它的结构为:
while(布尔){
//循环内容
}
只要布尔表达式为true,循环就会一直执行下去
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式失效的方式来结束循环
少部分情况需要循环一直执行,比如服务器的请求响应监听等
循环条件一直为true就会造成无限循环(死循环),我们正常的业务编码中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃!
//死循环
while (true){
//等待用户连接
// 定时检查
// 。。。。。
}
do…while循环:
do{
//循环内容
}while(布尔);
while与do while的区别:
while先判断后执行,do while先执行后判断
do while总是保证循环体至少被执行一次,这是主要区别
for循环
for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for循环执行的次数是在执行前就确定的
for(初始化;布尔表达式;更新){
//代码语句
}
//死循环
for (; ; ) {
//循环体
}

package com.zdz.struct;

import java.util.Scanner;

public class Demo {
public static void main(String[] args) {
//顺序结构
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5"); System.out.println("====================");
//选择结构
//if单选结构
Scanner scanner=new Scanner(System.in);
System.out.println("请输入:");
String s=scanner.nextLine();
//equals:判断字符串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End"); System.out.println("===================");
//if双选结构
//考试分数大于60就是及格,小于60就不及格
scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if (score>=60){
System.out.println("及格");
}else {
System.out.println("不及格");
} System.out.println("=======================");
//if多选结构
/*
if语句至多有一个else语句;else语句在所有if else语句之后;
if语句可以有若干个else if语句,它们必须在else语句之前
一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
*/
scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int sc=scanner.nextInt();
if (sc==100){
System.out.println("恭喜满分");
}else if (sc<100&&sc>=90){
System.out.println("优秀");
}else if (sc<90&&sc>=75){
System.out.println("良好");
}else if (sc<75&&sc>=60){
System.out.println("及格");
}else if (sc<60&&sc>=0){
System.out.println("不及格");
}else{
System.out.println("成绩不合法");
} System.out.println("=======================");
//switch选择
//switch 匹配一个具体的值
/*
从Jdk7开始 switch开始支持字符串String类型了
字符的本质还是数字 反编译:java->class(字节码文件)->反编译(IDEA让我们能看懂内容)
*/
scanner=new Scanner(System.in);
System.out.println("input your grade (like A):");
String grade = scanner.next();
switch (grade){
case "A":
System.out.println("优秀");
break;//可选
case "B":
System.out.println("良好");//case语句不加break会输出,此为case穿透
case "C":
System.out.println("及格");
break;//可选
case "D":
System.out.println("再接再厉");
break;//可选
case "E":
System.out.println("挂科");
break;//可选
default://可选
System.out.println("未知等级");
}
scanner.close(); System.out.println("====================");
//while循环
//输出1~100
int i=0;
while (i<100){
i++;
System.out.println(i);
}
//计算1+2+…+100=?
int j=0;
int sum=0;
while (j<=100){
sum+=j;
j++;
}
System.out.println(sum); System.out.println("=====================");
//do while循环
int j1=0;
int sum1=0;
do {
sum1+=j1;
j1++;
}while (j1<=100);
System.out.println(sum1);
//while与do while的区别
int a=0;
while(a<0){
System.out.println(a);//没有执行
a++;
}
System.out.println("---------------------");
do {
System.out.println(a);//执行了一次
a++;
}while (a<0); System.out.println("======================");
//for循环
for (int k=0;k<100;k++){
//初始化;布尔表达式;更新
System.out.println(k);
}
System.out.println("for循环结束");
/*
关于for循环的说明:
最先执行初始化步骤,可以声明一种类型,但初始化一个或多个循环控制变量,也可以是空语句
然后,检查布尔值,如果的是true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
执行一次循环后更新循环控制变量(迭代因子控制循环变量的增减)
再次检测布尔值,循环执行上面的过程
*/
System.out.println("-----------------------");
//for循环练习
//计算0~100之间的奇数和偶数的和
int oddSum=0;//奇数
int evenSum=0;//偶数 for (int i1 = 0; i1 < 100; i1++) {
if (i1%2!=0){//奇数
oddSum+=i1;
}else {//偶数
evenSum+=i1;
}
}
System.out.println("奇数和:"+oddSum);
System.out.println("偶数和:"+evenSum);
System.out.println("-----------------------");
//用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
for (int i1 = 0; i1 <= 1000; i1++) {
if(i1%5==0){
System.out.print(i1+"\t");
}
if(i1%15==0){
System.out.println("");
}
}
}
}

————————————————
版权声明:本文为CSDN博主「张生说」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangduang1/article/details/114524133

最新文章

  1. 使用HTML来生产Android界面
  2. Redis &amp; Python/Django 简单用户登陆
  3. JS-003-innerText 与 innerHTML 区别
  4. OpenJudge计算概论-寻找山顶
  5. matlab 函数说明--waitforbuttonpress
  6. ios - cordova 简介
  7. Qt 学习之路:QFileSystemModel
  8. Matrix(类似kruskal)
  9. node.js和express创建服务器
  10. 如何通过以太坊智能合约来进行众筹(ICO)
  11. python全栈开发-json和pickle模块(数据的序列化)
  12. java 如何自定义异常 用代码展示 真心靠谱
  13. 编写高质量的Python代码系列(七)之协作开发
  14. PHP实现微信随机红包算法和微信红包的架构设计简介
  15. [JSOI2016]病毒感染[dp]
  16. 20145221 《Java程序设计》实验报告四:Android开发基础
  17. Jenkins之Linux和window配置区别
  18. 【接口】【面试题】http协议相关面试题
  19. 笨方法学python学习笔记
  20. MyEclipse教程:使用UML创建模块库——第一部分(二)

热门文章

  1. Redis Cluster 分布式集群(下)
  2. 在kubernetes集群里集成Apollo配置中心(6)之实战使用apollo分环境管理dubbo服务
  3. codeforces 1013B 【思维+并查集建边】
  4. Redis内存管理中的LRU算法
  5. Python对excel的基本操作
  6. Gif2mp4 by Python
  7. flex &amp; align-content &amp; justify-items
  8. X-Frame-Options &amp; iframe &amp; CORS
  9. React &amp; Strict Mode
  10. Flutter &amp; App