1:switch语句的格式?针对格式的解释?以及注意事项?
1.)switch(表达式){
case 值1:
语句1;
break ;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
....
default:
语句n+1;
break;
}
2).执行流程:
case语句中的值1和表达式中的值比较,如果一致,执行语句1
如果不一致,走case 值2,再进行比较,如果椅子,执行语句2
....
如果上述都不一致,执行default中的语句
3.)格式的解释:
switch:当前是一个选择结构语句,它的作用和if语句是一样
case语句:它后面的值是和表达式进行比较
break:表示结束当前switch语句
default:是和if语句中的else意识时候一样的,如果条件都不成立,执行default中的语句
4.) 关于switch语句中的注意事项:
1)case语句的后面只能跟常量(根据具体的需求),不能跟变量! javascript中的case后面是可以跟变量并且还可以表达式
2)default语句可以在switch语句中的任何位置,不影响代码执行,如果是在语句中,那么break最好带上
3)建议把break带上,否则会造成一个现象:case穿透!
case 值1:
语句1;
break ;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
....
default:
语句n+1;
break;
}
2).执行流程:
case语句中的值1和表达式中的值比较,如果一致,执行语句1
如果不一致,走case 值2,再进行比较,如果椅子,执行语句2
....
如果上述都不一致,执行default中的语句
3.)格式的解释:
switch:当前是一个选择结构语句,它的作用和if语句是一样
case语句:它后面的值是和表达式进行比较
break:表示结束当前switch语句
default:是和if语句中的else意识时候一样的,如果条件都不成立,执行default中的语句
4.) 关于switch语句中的注意事项:
1)case语句的后面只能跟常量(根据具体的需求),不能跟变量! javascript中的case后面是可以跟变量并且还可以表达式
2)default语句可以在switch语句中的任何位置,不影响代码执行,如果是在语句中,那么break最好带上
3)建议把break带上,否则会造成一个现象:case穿透!
2:看程序,分析下面程序的结果:
int x = 2,y=3;
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
4
4
3:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
package org_westos; import java.util.Scanner; public class Work1 { public static void main (String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个数字"); int days=sc.nextInt(); switch(days) { 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; } } }
package org_westos; import java.util.Scanner; public class Work1 { public static void main (String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个数字"); int days=sc.nextInt(); switch(days) { 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; } } }
4:for循环的格式?要能看懂执行流程。
用for循环完成如下案例
求和
求偶数和
求奇数和
打印水仙花数
统计水仙花数
用for循环完成如下案例
求和
求偶数和
求奇数和
打印水仙花数
统计水仙花数
九九乘法表
package org_westos; //求和一到一百 public class Work3 { public static void main(String[] args) { int sum=0; for(int i=1;i<101;i++) { sum+=i; } System.out.println(sum); } } package org_westos; //求和一到一百内偶数 public class Work4 { public static void main(String[] args) { int sum=0; for(int i=1;i<101;i++) { if(i%2==0) { sum+=i; } } System.out.println(sum); } } package org_westos; //求和奇数 public class Work5 { public static void main(String[] args) { int sum=0; for(int i=1;i<101;i++) { if(i%2!=0) { sum+=i; } } System.out.println(sum); } } package org_westos; import java.util.Scanner; //判断水仙花数 public class Work6 { public static void main(String[]args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个三位数"); int x=sc.nextInt(); int ge=x%10; int shi=x/10%10; int bai=x/100; if(ge*ge*ge+shi*shi*shi+bai*bai*bai==x) { System.out.println("是水仙花数"); } else { System.out.println("不是水仙花数"); } } } package org_westos; //统计水仙花数 public class Work7 { public static void main(String[]args) { int count=0; for(int i=100;i<1000;i++) { int ge=i%10; int shi=i/10%10; int bai=i/100; if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i) { count++; } } System.out.println(count); } } package org_westos; //九九乘法表 public class Work8 { public static void main(String[] args) { for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(i+"*"+j+"="+(i*j)+"\t"); } System.out.println(); } } }
5:break,continue和return分别有什么用?
break:表示中断,结束的意思,结束语句;
continue:继续的意思,跳出当前循环,直接进入一次循环
break:表示中断,结束的意思,结束语句;
continue:继续的意思,跳出当前循环,直接进入一次循环
continue:单独是不能使用的,在循环语句中使用多
跳转控制语句:
retrun :方法的返回值 ,会带回一个结果
6::函数的概念?函数的格式?格式的解释说明
1.)方法:完成特定功能的代码块
2.)方法的格式: 形式参数
public static 返回值 方法名(参数类型1 变量1,参数类型2 变量名){
return ...
}
3.) 方法格式的解释:
public static:方法是静态的,并且是公共的方法 (今天写方法,public static)
返回值(数据类型): 根据具体的需求,返回什么类型,用什么样的数据类型结束
方法名:给当前代码块起名字,命名规则:单个单词:字母全小写 多个单词:第一个单词全部小写,第二个单词开始每个单词首字母大写
return: 将当前代码的计算的结果,返回给调用者
6:函数的调用
A:明确返回值类型的函数调用
B:void类型的函数调用
7:函数的练习:
A:求两个数据之和
B:判断两个数据是否相等
C:获取两个数中较大的值
D:打印m行n列的星形矩形
E:打印nn乘法表
package org_westos; //求两个数之和 import java.util.Scanner; public class Work9 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("青输入两个数"); int x=sc.nextInt(); int y=sc.nextInt(); int sum; sum=sum(x,y); System.out.println(sum); } public static int sum(int x,int y) { return(x+y); } } package org_westos; import java.util.Scanner; public class Work10 { public static void main(String[] args) { Scanner sc=new Scanner(System.in) ; System.out.println("请输入两个数"); int x=sc.nextInt(); int y=sc.nextInt(); boolean flag=compare(x,y); System.out.println(flag); } public static boolean compare(int x,int y) { return (x==y)?true:false; } } package org_westos; import java.util.Scanner; public class Work11 { public static void main(String[]args) { Scanner sc=new Scanner(System.in); System.out.println("请输入两个数字"); int x=sc.nextInt(); int y=sc.nextInt(); int max=max(x,y); System.out.println(max); } public static int max(int x,int y) { int max; max=(x>y)?x:y; return max; } } package org_westos; //打印星号 import java.util.Scanner; public class Work12 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入两个数字"); int m=sc.nextInt(); int n=sc.nextInt(); print(m,n); } public static void print(int m,int n) { for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { System.out.print("*"); } System.out.println(); } } } package org_westos; import java.util.Scanner; //打印nn乘法表 public class Work13 { public static void main(String[]args) { Scanner sc=new Scanner (System.in); System.out.println("请输入一个数"); int n=sc.nextInt(); print(n); } public static void print(int n) { for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { System.out.print(i+"*"+j+"="+(i*j)+"\t"); } System.out.println(); } } }
8:short s = 1; s = s + 1;有没有问题?如果有怎么解决?
short s = 1; s += 1;有没有问题?如果有怎么解决?
第一个有问题,应强制类型转换
9:第一题
int x = 1,y = 1;
9:第一题
int x = 1,y = 1;
if(x++==2 & ++y==2) {
x =7;
}
System.out.println("x="+x+",y="+y);
x:2 y:2
x =7;
}
System.out.println("x="+x+",y="+y);
x:2 y:2
第二题
int x = 1,y = 1;
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:2 y:1
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:2 y:1
第三题
int x = 1,y = 1;
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:7 y:2
第四题
int x = 1,y = 1;
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:7 y:2
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:7 y:1
{
x =7;
}
System.out.println("x="+x+",y="+y);
x:7 y:1
10:编写代码实现如下内容:if语句实现
考试成绩分等级。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
请根据给定成绩,输出对应的等级。
考试成绩分等级。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
请根据给定成绩,输出对应的等级。
package org_westos; import java.util.Scanner; /* * 考试成绩分等级。 90~100 A等。 80-89 B等。 70-79 C等。 60-69 D等。 60以下 E等 */ public class Work14 { public static void main(String[]args) { Scanner sc=new Scanner(System.in); System.out.println("请输入成绩"); int x=sc.nextInt(); if(x>=0&&x<=100) { if(x>=90&&x<=100) { System.out.println("A等"); } else if(x>=80&&x<=89) { System.out.println("B等"); } else if(x>=70&&x<=79) { System.out.println("C等"); } else if(x>=60&&x<=69) { System.out.println("D等"); } else { System.out.println("E等"); } } else { System.out.println("非法数字"); } } }
11:编程题 需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
package org_westos; /* * 需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是, 每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱, 请问,经过多少天,小芳才可以存到100元钱。 */ public class Work15 { public static void main(String[]args) { int days=0; double money=0.0; while(money<100) { days++; money+=2.5; if(days%5==0) { money=money-6; } } System.out.println(days); } }