Java最近总结

1.总结
循环结构(for, while):
初始化语句
判断条件语句
循环体语句
控制条件语句
for 循环的结构
for(初始化语句; 判断条件语句; 控制条件语句) {
循环体语句;
}
执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是 true 还是 false
如果是 false,循环结束。
如果是 true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到 B 继续
注意事项:
初始化语句只执行了一次
while 循环
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
for 循环和 while 循环的区别:

  1. 控制条件语句所控制的那个变量,在 for 循环结束后,就不能再被访问到了,而 while
    循环结束还可以继续使用
  2. 使用区别:
    for 适合循环次数明确
    while 适合循环次数不明确
    do…while
    基本格式
    do {
    循环体语句;
    } while (判断条件语句);
    扩展格式:
    初始化语句;
    do {
    循环体语句;
    控制条件语句;
    } while (判断条件语句);
    注意事项:
    do…while 循环至少会执行一次循环体。
    for 循环和 while 循环只有在条件成立的时候才会去执行循环体
    跳转控制语句:
    break: 中断
    continue: 继续
    return:返回
    break: :
    break 的使用场景
  3. switch
  4. 循环
  5. 离开使用场景的存在是没有意义的
    作用:
    跳出单层循环(如果有多层循环,只跳出内层)
    标签:(label)
    格式:
    标签名:
    Continue:
    使用场景:
    只能在循环中使用
    离开使用场景没意义
    作用:
    终止这次循环,开始下次循环
    return:
    作用:结束一个方法,并返回一个值
    方法:
    概述:完成特定功能的代码块
    格式:
    修饰符 返回值类型 方法名(参数类型 参数名 1, 参数类型 参数名 2…) {
    函数体;
    return 返回值;
    }
    方法格式解释
    修饰符 比较多,后面会详细介绍。目前 public static
    返回值类型 用于限定返回值的数据类型
    方法名 一个名称,为了方便我们调用方法
    参数类型 限定调用方法时传入参数的数据类型
    参数名 是一个变量,接收调用方法时传入的参数
    方法体 完成功能的代码
    return 结束方法以及返回方法指定类型的值
    如何返回值类型是 void,可以没有 return 语句,或者这样写 return ;
    返回值 程序被 return 带回的结果,返回给调用者
    定义一个方法,必须明确两个部分
    返回值类型
    参数列表
    有明确返回值方法的调用方式:
  6. 直接调用
  7. 输出调用
  8. 赋值调用
    注意事项:
    方法不调用不执行
    方法与方法是平级关系,不能嵌套定义
    方法定义的时候参数之间用逗号隔开
    方法调用的时候不用在传递数据类型
    如果方法有明确的返回值,一定要有 return 带回一个值
    没有明确返回值的函数调用:
    其实就是 void 类型方法的调用
    只能单独调用
    方法重载:
  9. 同一个类中
  10. 方法名字相同
  11. 参数列表不同(参数个数\参数类型不同\参数顺序不同)
    方法重载特点
    与返回值类型无关,只看方法名和参数列表
    在调用时,虚拟机通过参数列表的不同来区分同名方法
    为什么与返回值类型无关?
    直接调用不关心返回值类型。
    注意事项:
    如果没有数据类型一样的方法,编译器就会找最接近它的同名方法
    对于数据类型兼容,并且逻辑一样的方法,就没有必要使用方法重载。
    数组
    概述:存储同一种数据类型多个元素的容器。
    格式:
    格式 1 (推荐使用)
    数据类型[] 数组名;
    格式 2
    数据类型 数组名[];
    数组初始化概述:
    Java 中的数组必须先初始化, 然后才能使用。
    所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋初值。
    数组的初始化方式
    动态初始化:初始化时程序猿只指定数组长度,由系统为数组分配初始值。
    静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
    动态初始化
    格式:数据类型[] arr = new 数据类型[数组的长度];
    如何引用数组的元素
    索引(从 0 开始编号)
    Java 内存空间分布
    栈 局部变量
    堆 new 出来的东西(对象)
    本地方法栈
    方法区
    程序计数器
    什么是局部变量?
    在方法声明上或者方法体内定义的变量。
    局部变量没有默认值, 不赋值不能使用。但是堆上面的内容都有默认值
    byte 0
    short 0
    int 0
    long 0L
    float0.0f
    double 0.0
    char ‘\u0000’
    boolean false
    引用数据类型 null 0x00000000
    2: 小芳的妈妈每天给她 2.5 元钱,她都会存起来,但是,每当这一天是存钱的第 5 天或者 5
    的倍数的话,她都会花去 6 元钱,请问,经过多少天,小芳才可以存到 100 元钱。
    public class money {
    public static void main(String[] args) {
    double i=0;//钱数
    int count=0;//天数
    while(i<=100) {
    i+=2.5;
    count++;
    if (count%5==0) {
    i-=6;
    }
    }
    System.out.println(“经过”+count+“天,可存到”+i+“元”);
    }
    }
    经过 74 天,可存到 101.0 元
    3:函数的概念?函数的格式?格式的解释说明
    简单的说:方法就是完成特定功能的代码块(多行代码的集合 {语句体})
    在很多语言里面都有函数的定义
    函数在 Java 中被称为方法
    格式:
    修饰符 返回值类型 方法名(参数类型 参数名 1,参数类型 参数名 2…) {
    函数体;
    return 返回值;
    }
    方法格式解释
    修饰符 比较多,后面会详细介绍。目前 public static
    返回值类型 用于限定返回值的数据类型
    方法名 一个名称,为了方便我们调用方法
    参数类型 限定调用方法时传入参数的数据类型
    参数名 是一个变量,接收调用方法时传入的参数
    方法体 完成功能的代码
    return 结束方法以及返回方法指定类型的值
    返回值 程序被 return 带回的结果,返回给调用者
    4:函数的调用
    A:明确返回值类型的函数调用
    B:void 类型的函数调用
    有明确返回值的方法调用:
    单独调用,没有意义
    输出调用,有意义,但是不够好,因为我不一定非要把结果输出
    赋值调用,推荐方式
    没有明确返回值的函数调用:
    其实就是 void 类型方法的调用
    只能单独调用
    5:函数的练习:
    A: 获取 4 个值中的最大值
    B: 花式打印九九乘法表(按四种不同方式打印)
    import java.util.Scanner;
    public class MaxNumber {
    public static void main(String[] args) {
    System.out.println(“请输入 4 个整数”);
    Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    int c=sc.nextInt();
    int d=sc.nextInt();
    max(a, b, c, d);
    }
    public static void max(int a,int b,int c,int d) {
    int max=a;
    if (b>max) {
    max=b;
    }
    if (c>max) {
    max=c;
    }
    if (d>max) {
    max=d;
    }
    if (b>a) {
    max=b;
    }
    System.out.println(“最大值为”+max);
    }
    }

public class ChengFaBiao {
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+"="+(ij)+"\t");
}
System.out.println();
}
}
}
2.
public class ChengFaBiao {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for(int j = 1; j<= 9 - i; j++) {
System.out.print(" \t");
}
for (int j = 1; j <=i; j++) {
System.out.print(i+""+j+"="+(ij)+"\t");
}
System.out.println();
}
}
}
3.
public class ChengFaBiao {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=10-i; j++) {
System.out.print(i+""+j+"="+(ij)+"\t");
}
System.out.println();
}
}
4.
public class Chengfabiao {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for(int j = 1; j<i; j++) {
System.out.print(" \t");
}
for (int j = 1; j <=9; j++) {
if (j>=i) {
System.out.print(i+""+j+"="+(ij)+"\t");
}
}
System.out.println();
}
}
}
6:什么是函数重载?
System.out.println( )该函数有很多重载的类型,支持将一个不同类型的参数打印出来。
如:
void println(boolean x)
打印 boolean 值,然后终止行。
void println(char x)
打印字符,然后终止该行。
void println(char[] x)
打印字符数组,然后终止该行。
void println(double x)
打印 double,然后终止该行。
void println(float x)
打印 float,然后终止该行。
void println(int x)
打印整数,然后终止该行。
void println(long x)
打印 long,然后终止该行。
void println(String x)
打印 String,然后终止该行。
但是只能打印一个参数。
能不能想办法写一组类似的输出函数,支持传入两个参数打印出来?如:
void println(boolean x,boolean y) 打印两个 boolean 类型的值
void println(char x, char y) 打印两个 cha 类型的值
方法重载概述
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数\参数类型不同\参数顺
序不同)。
public class ChongZai {
public static void main(String[] args) {
print(true,false);
}
public static void print(int a,int b) {
System.out.println(a+" “+b);
}
public static void print(short a,short b) {
System.out.println(a+” “+b);
}
public static void print(long a,long b) {
System.out.println(a+” “+b);
}
public static void print(char a,char b) {
System.out.println(a+” “+b);
}
public static void print(Boolean a,Boolean b) {
System.out.println(a+” “+b);
}
public static void print(char[] a,char[] b) {
System.out.println(a+” “+b);
}
public static void print(double a,double b) {
System.out.println(a+” “+b);
}
public static void print(float a,float b) {
System.out.println(a+” "+b);
}
}

猜你喜欢

转载自blog.csdn.net/weixin_42443419/article/details/88902855
今日推荐