三种循环的区别和联系
1.循环范围确定推荐for循环,循环范围不确定推荐while循环,最少执行一次循环推荐dowhile循环
2.三种循环可以等价转换
3.三种循环—死循环
4.for循环初始值后面不能使用
键盘录入
步骤
1.导包—获取信息的位置
2.找到Scanner
3.获取数据
/*
键盘录入
*/
//1.导包
import java.util.Scanner;
class JavaDemo{
public static void main(String[] args) {
//2.找到Scanner
Scanner sc=new Scanner(System.in);
//3.获取数据
//int num=sc.nextInt();//获取整数
String s=sc.nextLine();//获取一行
System.out.println(s);
}
}
流程控制语句
顺序结构
绝大部分代码从上往下由左往右依次编译和执行
/*
顺序结构
*/
class JavaDemo{
public static void main(String[] args) {
System.out.println(1);
System.out.println(22);
System.out.println(333);
System.out.println(4444);
System.out.println(55555);
}
}
运行结果:
选择结构
if语句(提供三种格式的语句 范围)
/*
if语句格式1
if(判断条件){提供一个选项,可能有结果可能没结果
语句体;
}
执行流程
首先进行判断,如果判断结果是TRUE执行语句体,
语句体执行完毕if语句结束。
如果判断的结果是FALSE直接跳过if语句不执行。
*/
class IfDemo1{
public static void main(String[] args) {
//衣服价格
int price=1999;
//剩余的钱
int money=2;
//进行选择判断
//如果语句体只有一句话省略大括号不写
if(money>=price){
System.out.println("不差钱 买!");
}
System.out.println("家里着火了 回家");
}
}
运行结果:
/*
if语句格式2(提供一个选项返回一个结果)
if(判断条件){
语句体1;
}else{
语句体2
}
执行流程
首先进行判断,如果判断结果是TRUE执行语句体1,执行完语句体1 if语句结束
如果判断的结果是FALSE执行语句体2,执行完语句体2 if语句结束。
当if语句格式2返回值时和三目等效转换
*/
class IfDemo2{
public static void main(String[] args) {
//求两个整数最大值
/*int a=1;
int b=2;
//选择判断
if(a>b){
System.out.println(a);
}else{
System.out.println(b);
}*/
//求三个整数最大值
int a=1;
int b=2;
int c=3;
//选择判断
if(a>b){
//进入这个判断说明a比b大
if(a>c){
System.out.println(a);
}else{
System.out.println(c);
}
}else{
//进入这个判断说明b比a大
if(b>c){
System.out.println(b);
}else{
System.out.println(c);
}
}
}
}
运行结果:
/*
if语句格式3
if(判断条件1){
语句体1;
}else if(判断条件2){
语句体2
}
...
else{
语句体n+1
}
执行流程
执行判断条件1,如果是TRUE执行语句体1执行完毕if语句结束了,
如果是FALSE执行判断条件2,如果是TRUE执行语句体2执行完毕if语句结束了,
如果是FALSE按照上述操作继续往下执行,
直到所有的判断条件都是FALSE执行else里的语句体n+1执行完毕if语句结束了。
*/
import java.util.Scanner;
class IfDemo3{
public static void main(String[] args) {
//提供输入召唤师的星星数返回对应的段位
//获取星星数据
Scanner sc = new Scanner (System.in);
int xing=sc.nextInt();
//选择判断---返回对应的段位
if(xing>=0&&xing<=9){
System.out.println("倔强青铜");
}else if(xing>9&&xing<=21){
System.out.println("秩序白银");
}else if(xing>21&&xing<=37){
System.out.println("荣耀黄金");
}else if(xing>37&&xing<=62){
System.out.println("尊贵铂金");
}else if(xing>62&&xing<=87){
System.out.println("永恒钻石");
}else if(xing>87&&xing<=112){
System.out.println("至尊星耀");
}else if(xing>112){
System.out.println("最强王者");
}else{
System.out.println("数据有误");
}
}
}
运行结果:
switch语句 列举值
/*
switch语句
格式
switch(表达式){
case 值1:
语句体1;
brake;
case 值2:
语句体2;
brake;
case 值3:
语句体3;
brake;
...
default:
语句体n+1;
break;
}
执行流程
先去计算表达式的值,和每一个case值进行比较,
如果有相等的值
注意:
1.case值是常量,且不能重复
2.表达式类型支持---byte、short、char、int、
从JDK1.5开始支持枚举类型,从jdk1.7开始支持string类型
3.支持省略break,产生case穿透效果
4.支持省略default
5.结束条件(1.遇见break 2.执行到代码的最后)
*/
import java.util.Scanner;
class SwitchDemo{
public static void main(String[] args) {
//输入整数返回对应的星期
//获取整数
Scanner sc=new Scanner(System.in);
int week=sc.nextInt();
//选择匹配
switch(week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入有误!");
break;
}
}
}
循环结构
for循环、while循环、dowhile循环