Java基础复习Day04
1. 包机制
- 包定义: package pkg1; 例:package org.springframework.security.config.annotation.web.configuration;
- 包引入:import pkg1(.className|*) 例:import org.apache.commons.logging.Log;
- 包命名: 一般利用公司域名的倒置作为包名 例:com.sony.espace…
2. JavaDoc
-
javadoc命令是用来生成属于自己的API文档的
命令格式:javadoc -encoding UTF-8 -charset UTF-8 Doc.java
-
在文档中用到的参数(可在类上边,也可在方法上边):
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param参数名
- @return 返回值情况
- @throws 异常抛出情况
-
IDEA中 可快捷生成,选中pakage->Tools->Generate JavaDoc
设置locale:zh-cn
其他命令参数:-encoding UTF-8 -charset UTF-8
3. Scanner
-
作用:通过Scanner类来实现程序和人的交互, 通过java.util.Scanner类来获取用户的输入
-
基本语法:
Scanner scanner = new Scanner(System.in);
-
使用
使用前:通过Scanner中的hasNext()或者hasNextLine()判断是否有输入的数据
使用时:通过Scanner中的next()或者nextLine()方法来获取输入的字符串
使用后:一定要用Scanner中的close()方法来关闭流
-
next()和nextLine()的区别
-
next()
-
一定要读取到有小资附后才可以结束输入
-
对输入有效字符前的空白, next()方法会自动去掉
-
只有输入有效字符后,才会将其后输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
Scanner scanner = new Scanner(System.in); if (scanner.hasNext()){ String str = scanner.next();//键盘输入为:this is my first input sentence System.out.println( "用户输入的是: "+ str);//实际输出:this } scanner.close();
-
-
nextLine()
-
以enter为结束符,nextLine返回的是输入回车前的所有字符
-
可以获得空白
Scanner scanner = new Scanner(System.in); if (scanner.hasNextLine()){ String str = scanner.nextLine();//键盘输入为:this is my first input sentence System.out.println( "用户输入的是: "+ str);//实际输出:用户输入的是: this is my first input sentence } scanner.close();
-
-
-
其他方法:nextXxx(),hasnextXxx()可以用来判断以及接收键盘输入的整数,浮点数,等用来处理键盘输入的数据。
例:
//应用,输入多个数字求其和与平均数 Scanner scanner = new Scanner(System.in); System.out.println("please input a number"); double sum = 0; int count = 0; double aver = 0; while (scanner.hasNextDouble()){ double inputNum = scanner.nextDouble(); sum = sum + inputNum; count++; aver = sum / count; System.out.println("当前你输入了第" + count + "个数据"); } System.out.println("输入的数的总和为: " + sum); System.out.println("输入的数的平均数为: " + aver); scanner.close();
4. Switch多选择语句
switch …case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch语句中的变量类型:
-
byte、short、int或者char
-
从java SE7 开始,switch支持字符串String类型了(反编译后就会发现,实际上比较的是String变量的hashcode,然后去匹配)
-
同事case标签必须为字符串常量或字面量
//case穿透,switch会匹配每一个具体的值, // 如果每个case后的语句不加break语句,则会向下执行。直到遇见加break的语句截止执行 char grade = 'B'; switch (grade){ case 'A': System.out.println("level1"); break; case 'B': System.out.println("level2"); case 'C': System.out.println("level3"); case 'D': System.out.println("level4"); break; case 'E': System.out.println("level5"); break; default: System.out.println("non level involved");