包机制
-
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
-
一般利用公司域名倒置作为包名
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能
import package1[.package2……].(classname|*);
JavaDoc
javadoc命令是用来生成自己API文档的
参数信息
-
@author 作者名
-
@version 版本号
-
@since 指明需要最早使用的jdk版本
-
@param 参数名
-
@return 返回值情况
-
@throws 异常抛出情况
package com.baidu.www.base.operator; /** * @author mh * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author mh * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; } //通过cmd命令生成JavaDoc文档 javadoc -encoding UTF-8 -charset UFT-8 Doc.java //学会查找使用IDEA生成JavaDoc文档 }
Scanner对象
-
我们可以通过Scanner类来获取用户的输入
-
基本语法:
Scanner s=new Scanner(System.in);
-
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
next():
-
一定要读到有效字符后才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动将其去掉
-
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
-
next()不能得到带有空格的字符串
package com.baidu.scanner; import javax.print.DocFlavor; import java.util.Scanner; public class S1 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner=new Scanner(System.in); System.out.println("使用next方式接受:"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用next方式接收 String str=scanner.next();//程序会等待用户输入完毕 System.out.println("输出 的内容为:"+str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉 scanner.close(); } }
nextLine():
-
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所以字符
-
可以获得空白格
package com.baidu.scanner; import java.util.Scanner; public class S2 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //判断用户有没有输入字符串 if (scanner.hasNextLine()) { //使用nextLine方式接收 String str = scanner.nextLine();//程序会等待用户输入完毕 System.out.println("输出 的内容为:" + str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉 scanner.close(); } }
if语句的使用
package com.baidu.scanner; import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks; import java.util.Scanner; public class S3 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); //从键盘接收数据 int i=0; float f=0.0f; System.out.println("请输入整数:"); //如果....那么..... if (scanner.hasNextInt()){ i=scanner.nextInt(); System.out.println("整数数据:"+i); }else { System.out.println("输入的数据不是整数!"); } System.out.println("请输入小数:"); //如果....那么..... if (scanner.hasNextFloat()){ f=scanner.nextFloat(); System.out.println("小数数据:"+f); }else { System.out.println("输入的数据不是小数!"); } } }
while语句的使用
package com.baidu.scanner; import java.net.SocketImpl; import java.util.Scanner; public class S4 { public static void main(String[] args) { //我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果 Scanner scanner=new Scanner(System.in); //求和 double sum=0; int m=0; //通过循环语句判断是否还有输入,并在里面对每一次进行求和和统计 while (scanner.hasNextDouble()){ double x= scanner.nextDouble(); m=m+1; sum=sum+x; System.out.println("你输入了第"+m+"个数据,然后当前结果sum="+sum); } System.out.println(m+"个数的和为"+sum); System.out.println(m+"个数的平均值为"+(sum/m)); scanner.close(); } }
顺序结构
-
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句的执行
-
顺序结构是最简单的算法结构
-
它是任何一个算法都离不开的基本算法结构
package com.baidu.struct; public class SX1 { public static void main(String[] args) { System.out.println("1"); System.out.println("2"); System.out.println("3"); System.out.println("4"); } }
选择结构
if选择结构
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
package com.baidu.struct; import java.util.Scanner; public class XZ1 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if (s.equals("hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
if双选择结构
语法:
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
package com.baidu.struct; import java.util.Scanner; public class XZ2 { public static void main(String[] args) { //成绩大于等于60为及格,否则为不及格 Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩:"); float score= scanner.nextFloat(); if (score>=60){ System.out.println("及格"); }else { System.out.println("不及格"); } scanner.close(); } }
if多选择结构
package com.baidu.struct; import java.util.Scanner; public class XZ3 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入成绩:"); float score = scanner.nextFloat(); if (score<=100&&score>=90){ System.out.println("优秀"); }else if (score<90&&score>=80) { System.out.println("良好"); }else if (score<80&&score>60){ System.out.println("一般"); }else if (score<60&&score>=0){ System.out.println("还需努力"); }else { System.out.println("成绩输入有误"); } scanner.close(); } }
swtich多选择结构
字符串类型
package com.baidu.struct; public class SW1 { public static void main(String[] args) { //case穿透 和 switch匹配一个具体的值 char grade='C'; switch (grade){ case 'A': System.out.println("优秀"); break; case 'B': System.out.println("良好"); break; case 'C': System.out.println("及格"); break; case 'D': System.out.println("还需努力"); break; case 'E': System.out.println("不及格"); break; default: System.out.println("未知"); } } }
String类型
package com.baidu.struct; public class SW2 { public static void main(String[] args) { String name="大古"; //JDK7的新特性,表达式结果可以是字符串 //字符的本质还是数字 //反编译 java---class(字节码文件)---反编译(IDEA) switch (name){ case "大古": System.out.println("神殿"); break; case "小雨": System.out.println("神医"); break; default: System.out.println("飞机"); } } }
反编码:
java---class(字节码文件)---反编译(IDEA)