println 和print区别
println 输出换行
print 输出不换行


break和continue 区别
break 用于强行退出循环
continue 用于终止某次循环过程


关于goto关键字
尽管goto仍是java的一个保留字,但并未在语言中得到正式使用
“标签”是指后面跟一个冒号的标识符,例如:label:
对于java来说唯一用到的地方是在循环语句之前,而在循环之前设置标签的唯一理由:我们希望在其中嵌套另一个循环,由于break和contibue关键字通常只中断当前循环,但随同标签使用,他们只会中断到存在标签的地方


java方法详解
类似于C语言中的函数
System.out.println()
System:类
out:输出对象
println():方法
java方法是语句的集合,他们在一起实现某个功能
方法是解决一类问题的步骤的有序集合
方法包含于类或者对象中
方法在程序中被创建,在其他地方被引用
一个方法只完成一个功能,这样有利于我们后期的扩展
方法包含一个方法头和方法体
定义:
修饰符:这是可选的,告诉编译器如如何调用该方法,定义了 该方法的访问类型
返回类型:方法可能会有返回值
方法名:方法的实际名称
参数类型:
实参
形式参数
方法体:方法体包含具体的语句,定义该方法地 功能


方法地调用
调用方法:对象名,方法名(实参列表)


方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的额函数


方法重载的规则

方法名称必须相同
参数列表必须不同(个数不同、或者类型不、参数排列顺序不同等)
方法的返回类型可以相同也可以不同
仅仅返回类型不同不足以成为方法的重载


实现理论

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错


命令行传参
有时候你希望运行一个程序再传递给他消息。这要靠命令行参数给main()函数实现
public class Demo03 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]"+args[i]);
}
}
}


java学习笔记 2021-9-20_数组

可变参数
在方法的生命中,在指定参数类型后加一个省略号(...)
一个方法中只能指定一个可变参数,它必须是一个可变参数,它必须是一个方法的最后一个参数。任何普通的参数必须在它之前声明。
 public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2,3,4,5);
}
public void test(int... i){
System.out.println(i[0]);
}
package com.ye.method;

public class Demo04 {
public static void main(String[] args) {
printMax(1,2,3,5,6,58.2);
printMax(new double[]{1,2,3});
}
public static void printMax(double... numbers){
if (numbers.length == 0){
System.out.println("No argument passed");
return;
}
double result=numbers[0];
//排序
for (int i = 1; i < numbers.length; i++) {
if (numbers[i]>result){
result = numbers[i];
}
}
System.out.println("The max value is "+ result);
}
}


递归
递归就是:A方法调用A方法!就是自己调用自己
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归结构包括两个部分:
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
递归体:什么时候需要调用自身方法。
package com.ye.method;

public class Demo05 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if (n==1){
return 1;
}else {
return n*f(n-1);
}
}
}


作业
package com.ye.method;

import java.util.Scanner;

public class Demo06 {
public static void main(String[] args) {
//写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现
/*思想推荐:
写四个方法:加减乘除
利用循环:switch进行用户交互
传递需要操作的两个数
输出结果
*/
System.out.println("请选择想要的算术方法 1:加法 2:减法 3:乘法 4:除法");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
System.out.println("请输入要求的两个数");
int i = scanner.nextInt();
int j = scanner.nextInt();
switch (a){
case 1:
add(i,j);
break;
case 2:
sub(i,j);
break;
case 3:
mul(i,j);
break;
case 4:
div(i,j);
break;
}
}

public static void add(int i, int j) {
System.out.println(i + j);
}
public static void sub(int i, int j) {
System.out.println(i-j);
}
public static void mul(int i,int j){
System.out.println(i*j);
}
public static void div(int i,int j){
if (j==0){
System.out.println("被除数 j 不能为0");
}else {
System.out.println(i / j);
}
}
}


数组
数组是相同类型数据的有序集合.
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.


数组声明创建

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType[ ] arrayRefvar;//首选的方法 或
dataType arrayRefVar[];1/效果相同,但不是首选方法
Java语言使用new操作符来创建数组,语法如下:
dataType[ ] arrayRefVar = new dataType[ arraySize];
数组的元素是通过索引访问的,数组索引从О开始。
```

```
获取数组长度:
获取数组长度:
arrays.length
```