JAVA流程控制(2021-07-11)
Java流程控制
图片来源
01 用户交互Scanner
public class demo01 {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner =new Scanner(System.in);System.out.println("请输入数据:"); //Hello World!// 判断用户有没有输入字符串if(scanner.hasNext()){//使用next方式接收,程序会等待用户输入完毕String str=scanner.nextLine();//hello World!String str = scanner.next(); //HelloSystem.out.println("输出的内容为"+str);}//凡是术语IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉scanner.close();}
}
02 Scanner进阶使用
import java.util.Scanner;public class demo02 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//从键盘接收数据;int i=0;float f=0.0f;System.out.println("请输入整数:");// 如果...那么if(scanner.hasNextInt()){i=scanner.nextInt();System.out.println("整数数据"+i);}else{System.out.println("输入的不是整数数据!");}System.out.println("请输入小数:");if(scanner.hasNextFloat()){f=scanner.nextFloat();System.out.println("小数数据"+f);}else{System.out.println("输入的不是小数数据!");}scanner.close();}
}
//编译结果
/*请输入整数:
10
整数数据10
请输入小数:
1.1
小数数据1.1*/
import java.util.Scanner;//输入多个数字,求其总和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
public class demo03 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//和double sum = 0;// 计算输入了多少个数字int m = 0;// 通过循环while (scanner.hasNextDouble()) {double x = scanner.nextDouble();m = m+1; //m++sum = sum + x;}System.out.println(m + "个数的和为" + sum);System.out.println(m + "个数的平均数为" + (sum / m));scanner.close();}
}
//编译结果
/*10
20
30
40
x
4个数的和为100.0
4个数的平均数为25.0*/
03 顺序结构
04 if选择结构
if单分支结构
import java.util.Scanner;public class demo04 {public static void main(String[] args) {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");scanner.close();}
}
/*example:
请输入内容:
hello
hello
End*/
if双分支结构
public class demo05 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入成绩:");int score = scanner.nextInt();if(score>60){System.out.println("及格");}else{System.out.println("不及格");}scanner.close();}
}
/*例子:
请输入成绩:
34
不及格*/
if 多分支结构
import java.util.Scanner;
public class demo06 {public static void main(String[] args) {Scanner scanner =new Scanner(System.in);int score=scanner.nextInt();if(score==100){System.out.println("恭喜满分");}else if(score <100 && score >=90){System.out.println("A级");}else if(score <90 && score >=80){System.out.println("B级");}else if(score <80 && score >=70){System.out.println("C级");}else if(score <70 && score >=60){System.out.println("D级");}else if(score <60 && score >=0){System.out.println("不及格");}else {System.out.println("成绩不合法");}scanner.close();}
}
嵌套if结构
if语句至多有1个else语句,else语句在所有的else if 语句之后,if 语句可以有若干个else if 语句,他们必须在else语句之前,一旦其中一个else if 语句检测为true,其他的else if 以及else语句都将跳过执行。
05 Switch选择结构
public class SwitchDemo01 {public static void main(String[] args) {//case 穿透 // switch 匹配一个具体的值char grade ='D';switch(grade){case 'A':System.out.println("优秀");break;case 'B':System.out.println("良好");break;case 'C':System.out.println("及格");break;case 'D':System.out.println("再接再厉");break;case 'E':System.out.println("挂科");break;default:System.out.println("未知等级");}}
}
public class SwitchDemo02 {public static void main(String[] args) {String name="秦疆";//JDK7的新特性,表达式结果可以是字符串!!!//字符的本质还是数字//反编译 java---class(字节码文件)---反编译(IDEA)switch (name){case "西可分":System.out.println("秦疆");break;case "狂神":System.out.println("狂神");break;default:System.out.println("错误");}}
}
06 while循环详解
while 循环
public class DoWhileDemo01 {public static void main(String[] args) {//计算1+2+3+...+100=?int i=0;int sum=0;while(i<=100){sum=sum+i;i++;}System.out.println(sum); //5050}
}
do while 循环
public class DoWhileDemo01 {public static void main(String[] args) {//计算1+2+3+...+100=?int i=0;int sum=0;do{sum=sum+i;i++;}while(i<=100);System.out.println(sum); //5050
}
do while 和 while 的区别
while判断后再执行,do while是先执行后判断;
Do…while 总是保证循环体会至少被执行一次!这是他们的主要差别。
public class DoWhileDemo02 {public static void main(String[] args) {int a=0;while(a<0){System.out.println(a);a++;}System.out.println("======");do{System.out.println(a);a++;}while(a<0);}
}
/*
result:
======
0*/
07 for循环详解
public class ForDemo01 {public static void main(String[] args) {int a=1; //初始化条件while (a <= 100) {//条件判断System.out.println(a);//循环体a+=2;//迭代}System.out.println("while循环结束!");//初始化,条件判断,迭代for (int i = 0; i < 100; i++) {System.out.println(i);}System.out.println("for循环结束!");}
}
关于for循环有以下几点说明:
最先执行初始化布置。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后,检测布尔表达式的值。如果为true,循环体被执行;如果为false,循环终止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
再次检测布尔表达式,循环执行上面的过程。
for(;;){}//死循环
//练习1:计算0到100之间的奇数和偶数的和
public class ForDemo02 {public static void main(String[] args) {int oddSum=0;int evenSum=0;for(int i=0;i<=100;i++){if(i%2!=0){//奇数oddSum+=i;}else{//偶数evenSum+=i;}}System.out.println("奇数的和:"+oddSum);System.out.println("偶数的和:"+evenSum);}
}
//练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
public class ForDemo03 {public static void main(String[] args) {for (int i = 0; i <= 1000; i++) {if(i%5==0){System.out.print(i+"\t");}if(i%(5*3)==0){System.out.println();//System.out.println("\n");}}//println 输出完会换行//print 输出完不会换行}
}
//打印九九乘法表/* 1.先打印第一列 2.把固定的1再用一个循环抱起来 3.去掉重复项,j<=i 4.调整样式*/
public class ForDemo04 {public static void main(String[] args) {for(int i=1;i<=9;i++) {for (int j = 1; j <= i; j++) {System.out.print(j+"*"+i+"="+ i * j+"\t\t");}System.out.println("\n");}}
}
08 增强for循环
public class ForDemo05 {public static void main(String[] args) {int[] numbers={10,20,30,40,50};for(int i=0;i<5;i++){System.out.println(numbers[i]);}System.out.println("-----------");for(int x:numbers){System.out.println(x);}}
}
//结果
/*10
20
30
40
50
-----------
10
20
30
40
50*/
09 break、continue、goto
break在任何循环语句的主题部分,均可用break控制循环的流程。 break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue语句用在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
public class ContinueDemo {public static void main(String[] args) {int i=0;while(i<100){i++;if(i%10==0) {System.out.println("a");continue;}System.out.print(i); //break在任何循环语句的主体部分,均可用break控制循环的流程。 //break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句使用) /*continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次循环是否执行的判定。*/}} } /*result: 123456789a 111213141516171819a 212223242526272829a 313233343536373839a 414243444546474849a 515253545556575859a 616263646566676869a 717273747576777879a 818283848586878889a 919293949596979899a */
10 打印三角形及Debug
//打印三角形 5行 public class TestDemo {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {for(int j=5;j>=i;j--){System.out.print(" ");}for(int j=1;j<=i;j++){System.out.print("*");}for(int j=1;j<i;j++){System.out.print("*");}System.out.println();}} } /* 结果**************** */
JAVA流程控制(2021-07-11)相关推荐
- 《快乐编程大本营》java语言训练班-第4课:java流程控制
<快乐编程大本营>java语言训练班-第4课:java流程控制 第1节. 顺序执行语句 第2节. 条件分支语句:if条件语句 第3节. 条件分支语句:switch 条件语句 第4节. 条件 ...
- java 流程控制_Java流程控制
依旧是用Xmind来显示Java流程控制的大致内容: ---------------------------------------------------- Variable举例: public c ...
- 【四】Java流程控制
Java流程控制 1. 顺序结构 2. 选择结构 3. 循环结构 `while` 语法 `do-while`循环语法: `for` 循环 三种循环结构的应用场景 `break` 跳出循环 `conti ...
- 狂神说学习笔记 Java流程控制
目录 Java流程控制 1.用户交互Scanner Scanner对象 next() nextLine(): 2.顺序结构 3.选择结构 4.循环结构 5.Break & Continue 6 ...
- Java流程控制01 用户交互Scanner
Java流程控制1 用户交互Scanner 1. Scanner对象 2. 测试代码 3. 比较 4. Scanner进阶使用 1. Scanner对象 1) 在Java中可以通过Scanner类来获 ...
- Java流程控制相关知识(四)
Java流程控制 1.用户交互Scanner Scanner对象 Java提供了一个工具,我们可以获取用户的输入.java.util.Scanner 是 Java5 的新特征,我们可以通过Scanne ...
- Java流程控制(一)
Java流程控制(一) 用户交互Scanner · java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入. · 基本语法: Scanner s = ne ...
- java 流程控制_《Java基础知识》Java流程控制
流程控制分类: 一.顺序结构 如果没有流程控制(即没有分支结构和循环结构),Java方法里面的语句是一个顺序执行流,从上到下依次执行每条语句. 二.分支结构 1.if语句 if语句使用布尔表达式或者布 ...
- java流程控制both_java web面试题
[1.jsp和servlet的区别.共同点.各自应用的范围??JSP是Servlet技术的扩展,本质上就是Servlet的简易方式.JSP编译后是"类servlet".Servle ...
最新文章
- JS实现的表单验证和强大的×××
- 界面编程与视图(View)组件
- 【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
- 二叉树的先序/中序/后序/层次遍历
- php 批量压缩png,利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)...
- python多进程写入mysql_Python实现 多进程导入CSV数据到 MySQL
- rxvt_为什么我使用rxvt作为终端
- NB-IoT的DRX、eDRX、PSM三个模式怎么用?
- How browsers work
- maven下设置默认jdk版本和maven项目构建默认使用jdk版本
- WAP 手机及开发技术调研(转)
- redhat linux防火墙状态,Redhat下配置iptables防火墙
- matlab灰色图像和彩色图像的均值、标准差和熵
- 大数据第一季--Hadoop(day4)-徐培成-专题视频课程
- Python 云标签——玩点浪漫!
- 哈佛,斯坦福和麻省理工学院等投资加密货币基金
- “远程主机强迫关闭了一个现有连接”问题的解决方法之一
- Python学习摘录(自用)
- iClap:产品经理再忙也要看《琅琊榜》
- 根据经纬度计算两地距离