1.用户交互scanner
- Next()
public class demo1 {
public static void main(String[] args) {
//创建一个scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("请使用next方式进行接收:");
//判断有无输入字符
if(scanner.hasNext()){
String str=scanner.next();
System.out.println("输入的内容是"+str);
}
//关闭scanner,否则一只占用资源
scanner.close();
}
}
/*输出结果是:
请使用next方式进行接收:
happy newyear
输入的内容是happy
*/
-
Nextline()
public class demo2 { public static void main(String[] args) { //创建一个scanner对象 Scanner scanner = new Scanner(System.in); System.out.println("请使用nextline方式进行接收:"); //判断有无输入字符 if(scanner.hasNextLine()){ String str=scanner.nextLine(); System.out.println("输入的内容是"+str); } //关闭scanner,否则一只占用资源 scanner.close(); } } /* 请使用nextline方式进行接收: happy newyear 输入的内容是happy newyear */
-
一定注意close掉对象,否则一直占用
2.scanner进阶使用
-
在while中使用scanner
public class demo2 { public static void main(String[] args) { //创建一个scanner对象 Scanner scanner = new Scanner(System.in); //判断有无输入字符 double sum=0; int m=0; while(scanner.hasNextDouble()) { double x=scanner.nextDouble(); sum+=x; m++; } System.out.println(""+sum); System.out.println(""+m); //关闭scanner,否则一只占用资源 scanner.close(); } }
***跳过顺序结构,if,switch,while,dowhile,for, break,coutinue,goto
3.for循环
-
System.out.println();
-
System.out.print();
-
打印99乘法表
for(int i=1;i<10;i++) { for(int j=1;j<=i;j++) { System.out.print(""+i+"*"+j+"="+(i*j)+" "); } System.out.println(); }
-
快捷方式:5.for
4.增强for
-
用于遍历数组
int[] numbers={1,2,3}; for(int x:numbers){ System.out.print(x+" "); }
-
debug
5.方法
-
方法名
· 函数名用首字母大写的英文单词组合表示(如用动词+名词的方法),其中至少有一个动词
· 应该避免的命名方式
§ 和继承来的函数名一样。即使函数的参数不一样,也尽量不要这么做,除非想要重载它
§ 只由一个动词组成,如:Save、Update。改成如:SaveValue、UpdateDataSet则比较好
· 函数参数的命名规则
§ 函数参数应该具有自我描述性,应该能够做到见其名而知其意
§ 用匈牙利命名法命名
-
public static void main(String[] args) { int sum=add(1,2); System.out.println(sum); } public static int add(int a,int b) { return a+b; }
6.方法的重载
- 要求
7.命令行传参
-
先用javac进行编译
-
再回到代码的包的上层,开始执行
-
public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args["+i+"]"+args[i]); } }
4.
8.可变参数
-
多个同类型的参数,数量可以不确定
-
只能有一个,且放在参数的最后
-
public class demo2 { public static void main(String[] args) { demo2 demo=new demo2(); demo2.test(1,2,34); } public static void test(double d,int ... x) { System.out.println(x[1]); } }
递归调用,没看
9.数组
-
申明数组
int[] nums1;//首选
int nums2[];
-
创建数组
dataType[] arrayRefVar =new dataType[arraySize];
nums1=new int[10];
-
给数组赋值
-
获取数组长度
nums1.length
-
声明数组
放在栈中,并不实际存在
-
创建数组
放在堆中
-
静态初始化
int[] a={1,2,3,4,5};
-
动态初始化
int[] b; b[0]=1; ...
11.arrays类详细
- 在idea中输入Arrays
- 选择goto,选择deceleration and usages,选择左下角structure,可以查看arrays类的方法目录
- Arrays.sort()等