Java基础
一、顺序结构
顺序结构是最常见的结构 , 代码按先后依次执行;
顺序结构语句有许多种
1、if语句
包括
1.if(条件 ){ 语句体};
2.if ( 条件 ){语句体一}else{ 语句体2}
3.if ( 条件一 ){ 语句体一} else if(条件二 ){语句体二}
2、switch 语句
witch表示这是switch语句 表达式的取值:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String case后面跟的是要和表达式进行比较的值 语句体部分可以是一条或多条语句 break表示中断,结束的意思,可以结束switch语句 default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
格式为:
二、循环流程控制语句
1、for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }
while循环语句
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}do…while 语句
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
三、控制循环语句
1.Break的使用场景和作用
break的使用场景: 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 break的作用: 跳出单层循环
2.continue的使用场景:
在循环语句中 离开使用场景的存在是没有意义的 continue的作用: 单层循环对比break,然后总结两个的区别 break 退出当前循环 continue 退出本次循环
代码练习在这里插入代码片
今日作业(必做)------------------------------------------------------------------第一题:看程序说结果,请不要提前运行?public class Test01_01 {public static void main(String[] args) {int x = 1,y = 1;if(x++==2 & ++y==2)//false x=2; y=2;{x =7;} System.out.println("x="+x+",y="+y); //x=2,y=2int a = 1,b = 1;if(a++==2 && ++b==2) // false a=2 {a =7;}System.out.println("a="+a+",b="+b); // a=2,b=1;}}public class Test01_02 {public static void main(String[] args) {int x = 1,y = 1;if(x++==1 | ++y==1)// true x=2 y=2{x =7;}System.out.println("x="+x+",y="+y); //x=7 y=2int a = 1,b = 1;if(a++==1 || ++b==1) //true a=2 b =1{a =7;}System.out.println("a="+a+",b="+b);// a=7,b=1boolean c = true;if(c==false) System.out.println("a");else if(c)System.out.println("b"); // belse if(!c)System.out.println("c");elseSystem.out.println("d");}}public class Test01_03 {public static void main(String[] args) {int x = 2,y=3;switch(x){default:y++;case 3:y++;break;case 4:y++;}System.out.println("y="+y); // y=5}}第二题:分析以下需求,并用代码实现:1.键盘录入一个整数给变量x,输出对应的变量y的值2.x值和y值的对应关系如下:x<0 y=-1x=0 y=0x>0 y=13.如果用户输入的x的值为2,程序运行后打印格式"x=2,y=1"import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int x = sc.nextInt();if(x<0) {System.out.println("y=-1");}else if(x==0){System.out.println("y=0");}else {if(x==2) {System.out.println("x=2,y=1");}else System.out.println("y=1");}}}第三题:分析以下需求,并用代码实现:1.根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入2.涨工资的条件如下:[10-15)+5000[5-10)+2500[3~5) +1000[1~3) +500[0~1) +.如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入工龄:");int age = sc.nextInt();System.out.println("请输入基本工资:");int count= sc.nextInt();if(age>=0&&age<1) {System.out.println("您目前工作了"+age+"年,基本工资为"+count+"元, 应涨工资为200,涨后工资"+(count+200)+"元");}if(age>=1&&age<3) {System.out.println("您目前工作了"+age+"年,基本工资为"+count+"元, 应涨工资为500,涨后工资"+(count+500)+"元");}if(age>=3&&age<5) {System.out.println("您目前工作了"+age+"年,基本工资为"+count+"元, 应涨工资为1000,涨后工资"+(count+1000)+"元");}if(age>=5&&age<10) {System.out.println("您目前工作了"+age+"年,基本工资为"+count+"元, 应涨工资为2500,涨后工资"+(count+2500)+"元");}if(age>=10&&age<15) {System.out.println("您目前工作了"+age+"年,基本工资为"+count+"元, 应涨工资为5000,涨后工资"+(count+5000)+"元");}}}第四题:分析以下需求,并用代码实现:1.键盘录入三个整数,按照从小到大的顺序输出2.如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"public class Test3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println();int a = sc.nextInt();int b = sc.nextInt();int c = sc.nextInt();int xiao;int zhong;int da;if (a>b){if(a>c) {if(b>c) {da=a; zhong=b; xiao=c; System.out.println("按照从小到大排序后的顺序为:"+xiao+zhong+da);}else {da=a; zhong=c; xiao=b;System.out.println("按照从小到大排序后的顺序为:"+xiao+zhong+da);}}}else if(b>a) {if(b>c){if(a>c) {da=b;zhong=a;xiao=c;System.out.println("按照从小到大排序后的顺序为:"+xiao+zhong+da);}else {da=b; zhong=c; xiao=a;System.out.println("按照从小到大排序后的顺序为:"+xiao+zhong+da);}}}}}第五题:分析以下需求,并用代码实现:1.功能描述:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果2.要求:(1)键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)(2)使用今天所学知识完成功能(3)演示格式如下:请输入第一个整数:30请输入第二个整数:40请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0控制台输出:30+40=70public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入第一个整数:");int a = sc.nextInt();System.out.println("请输入第二个整数:");int b = sc.nextInt();System.out.println("请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):");while(true) {int c = sc.nextInt(); if(c==0){int sum=a+b;System.out.println(a+"+"+b+"="+sum);}else if(c==1) {int sum =a-b;System.out.println(a+"-"+b+"="+sum);}else if(c==2) {int sum =a*b;System.out.println(a+"*"+b+"="+sum);}else if(c==3) {int sum = a/b;System.out.println(a+"/"+b+"+"="+sum);}else {System.out.println("请输入正确的运算数字!");continue;}}}}第六题:分析以下需求,并用代码实现:1.功能描述:键盘录入月份,输出对应的季节2.要求:(1)键盘录入一个整数(代表月份,范围1-12)(2)输出该月份对应的季节3,4,5春季6,7,8夏季9,10,11秋季12,1,2冬季(3)演示格式如下:请输入一个月份:3控制台输出:3月份是春季import java.util.Scanner;public class YeFen {public static void main(String[] args) {while (true) {Scanner b = new Scanner(System.in);System.out.println("请输入一个月份:");int mouth = b.nextInt();if (mouth >= 1 && mouth <= 12) {if (mouth >= 3 && mouth <= 5) {System.out.println(mouth+"是春天");continue;} else if (mouth >= 6 && mouth <= 8) {System.out.println(mouth+"是夏天");continue;} else if (mouth >= 9 && mouth <= 11) {System.out.println(mouth+"是秋天");continue;} else {System.out.println(mouth+"是冬天");continue;}} else {System.out.println("您输入的月份错误!请再次输入~");continue;}}}}第七题:分析以下需求,并用代码实现:1.打印1到100之内的整数,但数字中包含9的要跳过2.每行输出5个满足条件的数,之间用空格分隔3.如:1 2 3 4 5 public class Test5 {public static void main(String[] args) {int num = 0;for (int i = 1; i <= 100; i++) {if (i / 10 == 9 || i % 10 == 9) {continue;} else {System.out.print(i);System.out.print(" ");num++;if (num % 5 == 0) {System.out.println();continue;}}}}}第八题:分析以下需求,并用代码实现:1.按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数2.每行输出5个满足条件的数,之间用空格分隔3.如:9999 9988 9977 9966 9955 public class Test6 {public static void main(String[] args) {int num = 0;for (int i = 1000; i <= 9999; i++) {if ((i % 10) + (i / 100 % 10) == ((i / 10 % 10) + (i / 1000))) {num++;System.out.print(" " + i);if (num % 5 == 0) {System.out.println();}}}System.out.println("有"+num+"个");}}第九题:分析以下需求,并用代码实现:1.珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.0001米。2.请问,我折叠多少次,可以折成珠穆朗玛峰的高度。public class Test7 {public static void main(String[] args) {double a=0.0001;double i=1;int count=1;while(i<=8848) {count++;i= a*=2;System.out.println(i);}System.out.println(count);}}第十题:分析以下需求,并用代码实现:1.键盘录入学生成绩(整数类型),如果录入的成绩为-1表示录入结束2.打印输出录入的学生成绩的平均值import java.util.Scanner;public class Test8 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double sum = 0;double count = 0;while (true) {System.out.println("请输入成绩:");int a = sc.nextInt();if (a > 0) {count++;sum = sum + a;System.out.println("sum=" + sum);} else if (a == -1) {System.out.println("输入的成绩个数=" + count);break;}}System.out.println("平均数为:" + (double) (sum / count));}}第十一题:看程序,完成以下问题public class Test11 {public static void main(String[] args) {for(int x=1; x<=10; x++) {if(x%3==0) {//()在此处填写代码System.out.println("Java基础班");}System.out.println("Java基础班");}}}问题:1.想在控制台输出2次:"Java基础班" 括号()里面应该填写什么? // break2.想在控制台输出7次:"Java基础班" 括号()里面应该填写什么? // continue3.想在控制台输出13次:"Java基础班" 括号()里面应该填写什么? // 不填``