
javadoc -encoding UTF-8 -charset UTF-8 operator.java
idea生成一份文档阅读工具栏tools>generate>javadoc
Scanner 作用:可以获取用户的输入
导入java.util.Scanner
格式Scanner scanner = new Scanner(System.in);
…
scanner.close();
scanner.hasNext()判断用户有没有输入
scanner.next() 保留空格前的内容 是以空格作为分割依据
scanner.nextline() 保留所有内容 以回车作为依据
scanner.hasNextDouble()
scanner.hasNextFloat()
scanner.hasNextInt()
if语句
if(布尔语句){
}else if(布尔语句){
}else if(布尔语句){
}
switch语句
switch(expression){
case value:
//语句
break;
case value:
//语句
break;
default:
//如果上面都不匹配则输出默认语句
}
case穿透
break可跳出 不加break会输出全部
JDK7新特性:表达式结果可以是字符串
while语句
while(布尔语句){
}
只要语句为真 会无限循环
do{
执行语句
}while(条件)
while先判断后执行
do while 先执行后判断 总会保证循环体被至少执行一次
for语句
for(初始值;布尔表达式;迭代){
执行语句
}
for( ; ; ){} 这是一个死循环
println 输出完全换行
print 输出不换行
for each循环
for(变量类型 变量名:数组名){
执行语句
}
break用于强制退出循环 不执行循环中剩余的语句
continue 用于终止某次循环过程 即跳过循环体中尚未执行的语句 接着进行下一次是否执行循环的判定
需要在包的下面调用
java method.compare 传参
JDK1.5开始 java支持传递同类型的可变参数给一个方法
在方法声明中 在指定参数类型后加一个省略号(…) 调用的时候可以给出任意多个参数也可不给参数
一个方法中只能指定一个可变参数 它必须是方法的最后一个参数 任何普通的参数必须在他之前声明
public static void printmax(double...numbers){
//方法体
};
//printmax(1.2,2.2,3.3);
方法
定义:方法是解决一类问题的语句集合
格式:public static int add(int a,int b){}
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return返回值
}
return可以结束方法
方法的原子性:一个方法只完成一个功能
方法的重载:
要求:方法名字一样 但参数类型不同 方法的返回类型可以相同也可以不相同
注意:静态方法 static 可以调用
非静态方法 需要实例化这个类 Student student=new Student(); 对象类型 对象名=对象值
注意:静态方法是和类一起加载的 非静态方法是类实例化后才存在的
值传递:只是赋值并没有返回值 就是方法里没有return值
引用传递:赋值给对象
注意:
如果参数是基本类型,传递的是基本类型的字面量值的拷贝。
如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。
定义:自己调用自己
递归结构:1. 递归头 什么时候不调用自身方法 如果没有头 将陷入死循环
2. 递归体 什么时候需要调用自身方法
注意:递归会占用大量内存 小量计算更合适
数据类型[] 数组名=new 数据类型[数组大小];
int[] nums; nums = new int[10] ; 表示里面可以存放10个int类型的数字举例说明
nums[0]=1; 给数组第0个元素赋值
nums[0]; 取第0个元素的值
arrays.length; 获取数组长度
int[] a ={1,2,3,4,5,6}; 获取静态初始化
int[][] array ={{1.2},{2,3}}; //两行两列
Arrays.toString() 数组打印出来
Arrays.sort 数组排序
Arrays.fill(a,2,4,0) 用0填充数组a中第2到4个数字
定义:当大部分元素为0或者为同一个值
处理方法:记录数组一共几行几列 有多少个不同值
把具有不同值的元素的行列及值记录在一个小规模的数组中
例如:举例一个稀疏数组
11,11,2 一共11行11列,有两个有效数字
1,2,1 第一个有效值在第一行第二列 值为1
2,3,1 第二个有效值在第二行 第三列 值为1
for (int[] ints : array3) {
for (int anInt : ints) {
System.out.print(anInt+"t");
}
System.out.println();
}
注意:
数组本身就是对象, java中对象是在堆中的, 因此数组无论保存原始类型还是其他对象类型 数组对象本身是在堆中的