快捷键
psvm= public static void main(String[] args){}
sout=system
输入
Scanner scanner=new Scanner(System.in);//开启一个IO流
scanner.hasNext();//是否有下个单词
scanner.hasNextLine();//是否有下一行
scanner.hasNextDouble();//是否有下一个数字
String str=scanner.next();//读取单词,空格结束
String str=scanner.nextLine();//读取一行
String str=scanner.nextDouble();//读取一个数字
scanner.close();//关闭IO流
JDK版本 | 名称 | 发布时间 |
---|---|---|
1.0 | Oak(橡树) | 1996-01-23 |
1.1 | 1997-02-19 | |
1.2 | Playground(运动场) | 1998-12-04 |
1.3 | Kestrel(美洲红隼) | 2000-05-08 |
条件判断
1.if
if(){}
if(){}
else{}
if(){}
else if(){}
else if(){}
else{}
if(){
if(){}
}//嵌套if
2.switch
switch(va){
case value;{}break;
case value;{}break;
case value;{}break;//break可选
default:
//
}
case穿透,没有break会执行后面的匹配语句。
switch可支持char、byte、short、int
Java SE 7开始,支持String类型了
循环
1.while(){}
2.do{}while();
{}可以不用分号
3.for(){}
for是最高效的
快捷键 100.for
for (int i = 0; i < 100; i++) {
}
死循环:
for(;;){}
例题1:1-1000内能被5整除的数,每行输出3个
public static void main(String[] args) {
for (int i = 0; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){
System.out.print("\n");
}
}
}
例题2:打印99乘法表
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
if(i<=j) {
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
}
System.out.println();
}
}
增强for循环
遍历数组数据
for (int i:a){}
public static void main(String[] args) {
int[] a={1,11,21,31};
System.out.println(add(a));
System.out.println(add(1,5));
}
public static int add(int... a){
int sum=0;
for(int n:a){sum+=n;}
return sum;
}
4.break、continue、goto
break
:退出整个循环
continue
:退出当前循环,进行下次循环
goto
:java没有goto,可以用label+continue代替:
例题3:打印100-150间的所有质数
public static void main(String[] args) {
//打印100-150间的所有质数
int count=0;
outer:for (int i=100;i<=150;i++){
for (int j = 2; j < i; j++) {
if (i%j==0){
continue outer;
}
}
System.out.print(i+" ");
}
}
例题4:打印三角形
public static void main(String[] args) {
//打印三角形 5行
int n=7;
for (int i = 0; i < n; i++) {
for (int j=n;j>i;j--) {
System.out.print(" ");
}
for (int j=0;j<i+1;j++){
System.out.print("*");
}
for (int j=0;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
方法
方法重载
方法名相同,参数列表不同(个数、类型、排列顺序)
public static int add(int a,int b){retrun a+b;}
public static double add(double a,double b){retrun a+b;}
可变参数
参数类型后加...
一个方法后,只能有1个可变参数,并且只能放最后。
可变参数可作为数组调用。
public static int add(int... a){
int sum=0;
for(n:a){sum+=n;}
}
递归
递归头:递归退出条件
递归体:递归内容