switch语句的格式?针对格式的解释?以及注意事项?
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式解释:表达式的取值:byte,short,int,char;
case后面要跟的是要和表达式进行比较的值;
语句部分可以是一条或多条语句;
break表示中断,结束的意思,可以结束switch语句;
default语句表示所有情况都不匹配时候,就应该执行该处的内容,和if语句的else相似;
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略吗?
可以省略。一般不建议。除非判断的值是固定的。(单选题)
break可以省略吗?
可以省略,一般不建议。否则结果可能不是你想要的
default的位置一定要在最后吗?
可以出现在switch语句任意位置。
switch语句的结束条件
遇到break
执行到程序的末尾
看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
答:y=5;break语句在case 3中,先执行了default的y=y++,y==4;然后执行case 3中的y++,y==5;然后执行break;
根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
输入:1
输出:星期1
public static String If04(int s){
if(s==1) {
return "星期"+ s;
}
else if(s==2) {
return "星期"+ s;
}
else if(s==3) {
return "星期"+ s;
}
else if(s==4) {
return "星期"+ s;
}
else if(s==5) {
return "星期"+ s;
}
else if(s==6) {
return "星期"+ s;
}
else if(s==7) {
return "星期天";
}else {
return "请输入正确的星期数字";
}
}
public static String For04(int s) {
switch(s) {
case 1:
return "星期"+ s;
case 2:
return "星期"+ s;
case 3:
return "星期"+ s;
case 4:
return "星期"+ s;
case 5:
return "星期"+ s;
case 6:
return "星期"+ s;
case 7:
return "星期天";
default:
return "请输入正确的星期数字";
}
for循环的格式?要能看懂执行流程。
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
用for循环完成如下案例
九九乘法表
for(int i=1;i<10;i++) {
for(int j=1;j<10;j++) {
if(j==1) {
System.out.println("");
}
System.out.print(i+""+j+"="+ij+" ");
}
}
while循环的格式?要能看懂执行流程
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
用while循环完成如下案例
我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
int high=8848;
double page=0.01;
int i=0;
while(high>=page) {
page=page*2;
i++;
}
System.out.println("纸有"+page+"米,"+"折叠"+i+"次");
}
break,continue和return分别有什么用?
break退出当前循环;
continue退出本次循环;
return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。
函数的概念?函数的格式?格式的解释说明
函数在JAVA中称之为方法;
格式为:修饰符 返回值类型 方法名(参数类型 参数名1,参数名2……){
函数体;
return 返回值;
}
- 方法(函数)格式说明:
修饰符比较多;
返回值类型用于限定返回值的数据类型;
方法名一个名称;
参数类型,限定调用方法时传入参数的数据类型;
参数名,一个变量,接受调用方法时传入的参数;
方法体(函数体) 完成功能的代码;
return 结束方法以及返回方法指定类型的值;
返回值,程序被return带回的结果,返回给调用者;
函数的调用
明确返回值类型的函数调用
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式
void类型的函数调用
其实就是void类型方法的调用
只能单独调用
函数的练习:
A:求两个数据之和
B:判断两个数据是否相等
C:获取两个数中较大的值
D:打印m行n列的星形矩形
E:打印nn乘法表
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=3,n=6;
System.out.println(add(m,n));
System.out.println(equle(m,n));
System.out.println(conpl(m,n));
martix(m,n);
chengfabiao(n);
}
public static int add(int m,int n) {
return m+n;
}
public static boolean equle(int m,int n) {
return(m==n);
}
public static int conpl(int m,int n) {
return (m>n)?m:n;
}
public static void martix(int m,int n) {
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void chengfabiao(int n) {
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
System.out.println(n+"阶乘法表"+i+"*"+j+"="+i*j);
}
System.out.println();
}
}
什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
数组的概念?有什么特点?
数组是存储多个变量(元素)的东西(容器)
数组多个变量的数据类型要一致
一维数组的定义格式?
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
:数组操作的两个小问题
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
举例:
int[] arr = new int[3];
解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。
数组常见操作:
数组遍历(依次输出数组中的每一个元素)
数组获取最值(获取数组中的最大值最小值)
数组元素逆序 (就是把元素对调)
数组查表法(根据键盘录入索引,查找对应星期)
数组元素查找(查找指定元素第一次在数组中出现的索引)
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=3,n=6;
int[] a= {1,5,6,34,6,-5};
System.out.println(add(m,n));
System.out.println(equle(m,n));
System.out.println(conpl(m,n));
martix(m,n);
chengfabiao(n);
matrix_featch(a);
matrix_max_min(a);
matrix_change(a);
matrix_find(a);
}
public static int add(int m,int n) {
return m+n;
}
public static boolean equle(int m,int n) {
return(m==n);
}
public static int conpl(int m,int n) {
return (m>n)?m:n;
}
public static void martix(int m,int n) {
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
System.out.print("*");
}
System.out.println();
}
}
public static void chengfabiao(int n) {
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
System.out.println(n+"阶乘法表"+i+"*"+j+"="+i*j);
}
System.out.println();
}
}
public static void matrix_featch(int[] a) {
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
public static void matrix_max_min(int[] a) {
int max=a[0];
int min=a[0];
for(int i=1;i<a.length;i++) {
if(a[i]>max) {
max=a[i];
}
if(a[i]<min) {
min=a[i];
}
}
System.out.println("max:"+max+",min:"+min);
}
public static void matrix_change(int[] a) {
for(int start=0,end = a.length-1;start<end;start++,end--) {
int temp=a[end];
a[end]=a[start];
a[start]=temp;
}
System.out.println(Arrays.toString(a));
}
public static int matrix_find(int[] a) {
Scanner scan=new Scanner(System.in);
int b=scan.nextInt();
for(int i=0;i<a.length;i++) {
if(b==a[i]) {
b=a[i];
}
}
return b;
}
## 二维数组定义格式?
数据类型[][] 变量名 = new 数据类型[m][n];
数据类型[][] 变量名 = new 数据类型[m][];
这一次没有直接给出一维数组的元素个数,可以动态的给出。
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
看懂针对每种格式的内存图解?
案例
### 二维数组遍历
public static void Matrix2_featch(int[][] a) {
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[0].length;j++) {
System.out.print(a[i][j]+" ");
}
}
}
### 公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
public static void Matrix2_SealCount() {
int[][] a=new int[][] {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
int count=0;
for(int i=0;i<a.length;i++) {
for(int j =0;j<a[i].length;j++) {
count=count+a[i][j];
}
}
System.out.println(count);
}
### 打印杨辉三角形(行数可以键盘录入)
public static void Yang() {
Scanner scan=new Scanner(System.in);
System.out.println("等待输入行数...");
int NMAX=scan.nextInt();
int[][] odds = new int[NMAX + 1][];
for (int n = 0; n <= NMAX; n++)
odds[n] = new int[n + 1];
for (int n = 0; n < odds.length; n++)
for (int k = 0; k < odds[n].length; k++)
{
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1) / i;
odds[n][k] = lotteryOdds;
}
for (int[] row : odds)
{
for (int odd : row)
System.out.printf("%4d", odd);
System.out.println();
}
}
面向对象思想概述和举例
面向对象是基于面向过程的编程思想,强调对象,由对象去调用功能。
-
举例:
洗衣服:
面向过程:把衣服脱下--找一个盆--放点洗衣粉--加点水--把衣服扔进去--搓一搓--清洗衣服--拧干--晾起来
面向对象:把衣服脱下--打开全自动洗衣机--扔进去--一键即可--晾起来吃饭:
面向过程:去超市买菜--摘菜--洗菜--切菜--炒菜--盛起来--吃
面向对象:上饭店吃饭,你--服务员(点菜)--厨师(做菜)--服务员(端菜)--吃
类与对象分别是什么,举例说明
JAVA中的类是具备某些共同特征的实体的集合,它是一种抽象的概念;
用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象;
对象就是真实世界中的实体,对象是一种具体的概念;
类是对象的集合,对象是类的实例;
如何定义一个类,类的组成
class 类名{
成员变量类型变量名称
…………
}
例如定义学生类
public class Student{
String name;
int age;
boolean sex;
char gender;
}
如何使用一个类的成员
使用JAVABean的Set&Get方法;
网友评论