键盘录入
步骤
1.导包—获取信息位置
2.找到Scanner
3.获取数据
/*
键盘录入
*/
//导包
import java.util.Scanner;
class JavaDemo{
public static void main (String [] args){
//2.找到Scanner
Scanner sc=new Scanner(System.in);
//获取数据
//int num =sc.nexInt();//获取整行
String s=sc.nextLine();//获取一行
System.out.println(s);
}
}
流程控制语句
顺序结构
绝大部分代码都是按照从上到下,从左往右一次编译和执行
/*
顺序结构
*/
class JavaDemo{
public static void main (String [] args){
System.out.println(“欢迎来到召唤师峡谷”);
System.out.println(“敌军还有三十秒到达战场”);
}
}
选择结构
if语句(提供三种格式的语句 范围)
1.if语句的格式1(提供了一个选项,可能有结果可能没有结果)
if(判断条件){
语句体;
}
执行流程
首先先进行判断,如果判断结果是true、执行语句体,
语句体执行完毕if语句结束了。
如果判断结果是false直接跳过if语句不执行。
/*
if语句格式2(提供一个选项返回一个结果)
if(判断条件){
语句体1;
}else{
语句体2;
}
执行流程
先去执行判断,如果判断结果为true执行语句体1,执行完语句体1if语句结束。
如果判断结果为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=5;
int c=2;
//选择判断
//if嵌套
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语句结束了。
测试数据:1.正确数据 2.边界数据 3.错误数据
*/
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<=3){
System.out.println("倔强青铜");
}else if(xing>3&&xing<=10){
System.out.println("不屈白银");
}else if(xing>10&&xing<=20){
System.out.println("荣耀黄金");
}else if(xing>=20&&xing<30){
System.out.println("华贵铂金");
}else if(xing>=30&&xing<90){
System.out.println("超凡大师");
}else if(xing>=90){
System.out.println("嘴强王者");
}else{//统一处理非正常数据
System.out.println("亲,您输入数据有误!!!");
}
}
}
switch语句(列举值)
格式:
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
case值3:
语句体3;
break;
default:
语句体n+1;
break;
}
执行流程
先计算表达式的值,和每个case值进行比较
如果有相等的执行对应的语句执行break语句结束
如果没有相等的执行default里的语句执行break结束
注意:
1.case的值时有且不能重复
2.表达式的值类型支持byte,short,char,int,
从jdk1.5开始支持枚举型,从jdk1.7开始支持string类型
3.支持省略break,产生case穿透效果
4.支持省略default(选择题)
5.结束条件(1.遇见break 2.执行到代码最后)
/*
switch语句
格式:
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
case值3:
语句体3;
break;
default:
语句体n+1;
break;
}
执行流程
先计算表达式的值,和每个case值进行比较
如果有相等的执行对应的语句执行break语句结束
注意:
1.case的值时有且不能重复
2.表达式的值类型支持byte,short,char,int,
从jdk1.5开始支持枚举型,从jdk1.7开始支持string类型
3.支持省略break,产生case穿透效果
4.支持省略default(选择题)
*/
import java.util.Scanner;
class Switch{
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;
}
}
}
循环结构
1.for循环
/*
for循环(循环范围确定)
格式
for(初始值;判断条件;控制条件){
循环体;
}
执行流程
先去计算出初始值,拿着初始值和判断条件进行比较如果
为true执行循环体,执行控制条件改变初始值拿着改变的初始值和判断条件进行比较如果为true重复上述操作直到判断条件的结果值为false则循环结束。
*/
class ForDemo{
public static void main(String[] args) {
//打印10遍helloworld
for(int i=1;i<=10;i++){
System.out.println(“helloworld”);
}
}
}
2.while循环
/*
whlie循环(循环范围不确定)
格式
初始值
while(判断条件){
循环体;
控制条件;
}
执行流程
计算出初始值,初始值和判断条件进行比较,
如果结果为true,执行循环体,执行控制条件给编初始值拿着改变的初始值和判断条件进行比较如果为true重复上述,直到结果为false则结束
/
class WhileDemo{
public static void main(String[] args) {
//首付
int price=2000030;
//存的钱
int leftmoney=0;
//统计数
int count=0;
//循环
while (leftmoney<price) {
//每月存钱
leftmoney+=5500;
//
count++;
}
System.out.println(count*1.0/12);
}
}
3、dowhile循环
/*
dowhile循环
格式
初始值
do{
循环体;
控制条件;
}while(判断条件);
执行流程
先计算出初始值,执行循环体,执行控制条件,
拿着改变初始值和判断条件进行比较,如果
*/
class DowhileDemo{
public static void main(String[] args) {
//打印十遍helloworld
int i=0;
do{
System.out.println(“helloworld”);
i++;
}while(i<10);
}
}
三种循环的区别和联系
1、循环范围确定推荐使用for循环,循环范围不确定推荐使用while寻呼韩,最少执行一次推荐使用dowhile循环
2.三种循环可以等价转换
3。三种循环—死循环
4.for循环初始值后面不能使用