Java流程控制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java流程控制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6199字,纯文字阅读大概需要9分钟。
内容图文
用户交互Scanner
Scanner对象
java.util.Scannner是java5新特性,我们可以通过Scanner类来获取用户的输入。
//基础语法
//创建一个扫描器对象,用于接受键盘的数据。
Scanner sc = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
next()方法
//创建一个扫描器对象,用于接受键盘的数据。
Scanner sc = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判断用户有没有输入字符串
if(sc.hasNext()){
//使用next方法接收
String str = sc.next();
System.out.println("输出的内容是:"+str);
}
//凡属于IO流的类如果不关闭会一直占用资源,养成良好习惯用完关闭。
sc.close();
输出结果: 使用next方法接收: Hello World! 输出的内容是:Hello
nextLine()方法
//创建一个扫描器对象,用于接收键盘输入的数据
Scanner sc = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");
//判断是否输入字符串
if (sc.hasNextLine()){
//使用nextLine方法接收
String str = sc.nextLine();
System.out.println("输出的内容是:"+str);
}
//关闭
sc.close();
输出结果: 使用nextLine方法接收: Hello World! 输出的内容是:Hello World!
next()方法和nextLine()方法区别
next方法:
-
一定要读取有效字符后结束。
-
对输入有效字符前空白,next()方法自动去掉
-
对输入有效字符后有空白是结束符
-
next()不能带有空格的字符串
nextLine()方法
-
nextLine()方法可以输出回车前的所以字符
-
可以有空白
顺序结构
从上到下依次执行它是由若干个依次执行的处理步骤组成,它是任何一个算法都离不开的一种基本算法结构。
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
输出结果:
1 2 3 4 5
选择结构
if单选择结构
if(布尔表达式 ){
//如果布尔表达式为true将执行的语句
}
if双选择结构
if(布尔表达式 ){
//如果布尔表达式为true将执行的语句
}else{
//如果布尔表达式为false将执行的语句
}
if多选择结构
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else if(布尔表达式4){
//如果布尔表达式4为true将执行的语句
}else{
//如果以上布尔表达式都不为true执行语句
}
嵌套的if结构
if(布尔表达式1 ){
//如果布尔表达式1为true将执行的语句
if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}
}
switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是
-
byte,short,int或者char.
-
switch支持字符串String类型
-
同时case标签必须为字符串常量
switch(expression表达式){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//可以有任意数量的case语句
default://可选
//语句
}
case穿透
循环结构
while循环
while(布尔表达式){
//循环内容
}
我们大多数情况下会让循环停下来,我们需要一个让一个表达式失效的方式来结束循环。
如果循环条件是true就是一个死循环,正常业务中会避免死循环发生。
do...while循环
do{
代码块
}while(布尔表达式);
While和do-While的区别
-
while先判断执行后,do-while先执行后判断
-
do-while总是保证循环体会被至少执行一次,这是他们主要差别。
for循环
for循环语句是支持迭代的一种通用结构。是最有效的,最灵活的循环结构。
for循环执行的次数是在执行前就确定的,语法如下
for(初始化;布尔表达式;更新){
//代码语句
}
//初始化 条件判断 迭代
for (int i = 0; i <= 100; i++) {
System.out.println(i);
}
练习一:计算0到100之间的奇数和偶数和
int sum = 0;//偶数和
int sum1=0;//奇数和
for (int i = 0; i <= 100; i++) {
if (i%2==0){//判断是否为偶数
sum=sum+i;
}else {
sum1=sum1+i;
}
}
System.out.println("偶数和是:"+sum);
System.out.println("奇数和是:"+sum1);
练习二:用While或for循环输出1-1000之间被5整除的数,并且每行输出三个。
//用While或for循环输出1-1000之间被5整除的数,并且每行输出三个。
//用While执行
int i =1;
while (i<1000){
if (i%5==0){
System.out.print(i+"\t");
}
i++;
if (i%(5*3)==0){//每行输出三个
System.out.println();
//System.out.print("\t");
}
}
//用While或for循环输出1-1000之间被5整除的数,并且每行输出三个。
//用for执行
for (int i = 1; i < 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){//每行输出三个
System.out.println();
//System.out.print("\t");
}
}
练习三:九九乘法表
/*
1.打印第一列
2.我们把固定的1循环包起来
3.去掉重复项 i<=j
4.调整样式
*/
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <=j; i++) {
System.out.print(i+"*"+j+"="+(j*i)+ "\t");
}
System.out.println();
}
?
}/*
1.打印第一列
2.我们把固定的1循环包起来
3.去掉重复项 i<=j
4.调整样式
*/
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <=j; i++) {
System.out.print(i+"*"+j+"="+(j*i)+ "\t");
}
System.out.println();
}
?
增强For循环
java5引用一种只要用于数组或集合的增强型for循环
格式如下
for(声明语句:表达式){
//代码句子
}
声明语句:声明新的局部变量,改变量的类型与数组元素的类型匹配其作用域限定在循环语句块,其值
与此时数组元素值相等。
表达式:表达式式是要访问的数组名,或者是返回值为数组的方法。
int [] numbers = {10,3,34,45,56};//定义一个数组
//遍历数组中的元素
for (int i:numbers) {
System.out.println(i);
}
break&continue
break在任何循环语句主体部分,均可用break控制循环的流程,break用于强制退出循环,不执行剩余的语句
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体尚未执行的语句,接着进行下一次是否循环。
int a = 0;
while (a<100){
if (a==3){
break;
}
a++;
System.out.println(a);
}
?
}
int i = 0;
while (i<20){
i++;
//从0-20除了被10整除的数不输出,其它输出
if (i%10==0){
System.out.println();
continue;
}
?
System.out.print(i+"\t");
}
}
输出结果:
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
练习
-
打印三角形
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流程控制全部内容,希望文章能够帮你解决Java流程控制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。