
用户交互Scannerjava.util.Scanner是Java5的新特征可以通过Scanner类获取用户的输入基本语法ScannersnewScanner(System.in);// 创建扫描器对象用于接受键盘数据s.close();//凡是属于IO流的类如果不关闭会一直占用资源用完要关闭通过Scanner类的next()与nextLine()方法获取输入的字符串在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据next()一定要读取到有效字符后才可以结束输入对输入有效字符之前遇到的空白next()方法会自动将其去掉只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符next()不能得到带有空格的字符串nextLine()以Enter为结束符也就是说nextLine()方法返回的是输入回车之前的所有字符可以获得空白接收int类型hasNextInt()、nextInt()接收double类型hasNextDouble()、nextDouble()接收float类型hasNextFloat()、nextFloat()……顺序结构Java的基本结构就是顺序结构除非特别指明否则就按照顺序一句一句执行顺序结构是最简单的算法结构按照从上到下的顺序进行由若干个依次执行的处理步骤组成是任何一个算法都离不开的一种基本算法结构。选择结构Java 中的条件语句允许程序根据条件的不同执行不同的代码块。if单选择结构if(布尔表达式){//如果布尔表达式为true将执行的语句}if双选择结构if(布尔表达式){//如果布尔表达式为true将执行的语句}else{//如果布尔表达式为false将执行的语句}if多选择结构if(布尔表达式1){//如果布尔表达式1为true将执行的语句}elseif(布尔表达式2){//如果布尔表达式2为true将执行的语句}elseif(布尔表达式3){//如果布尔表达式3为true将执行的语句}else{//如果以上布尔表达式都不为true将执行的语句}if语句最多有1个else语句else语句在所有else if语句之后 if语句可以有若干个else if语句它们必须在else语句之前 一旦其中一个else if语句检测为true其他的else if以及else语句都将跳过执行嵌套的if结构if(布尔表达式1){//如果布尔表达式1为true将执行的语句if(布尔表达式2){//如果布尔表达式2为true将执行的语句}}switch多选择结构switch case语句判断一个变量与一系列值中某个值是否相等每个值称为一个分支switch语句中的变量类型可以是byte、short、int、charString(JDK7的新特性)对应为s.hashCode()同时case标签必须为字符串常量或字面量case穿透 switch匹配一个具体的值switch case 执行时一定会先进行匹配匹配成功返回当前 case 的值再根据是否有 break判断是否继续输出或是跳出判断。switch(expression){casevalue1:// 语句break;//可选casevalue2://语句break;//可选……default://可选//语句}扩展字符的本质是数字编译java→class(字节码文件)反编译class→Java通过IDEA打开class文件即可看到文件的具体内容循环结构while循环最基本的循环结构为while(布尔表达式){//循环内容}只要布尔表达式为 true循环就会一直执行下去。 大多数情况下循环需要停止停止循环的前提是表达式失效 少部分情况需要循环一直执行比如服务器的请求响应监听等 循环条件一直为true就会造成无限循环【死循环】正常的业务逻辑中应该尽量避免死循环会影响程序性能或者造成程序卡死崩溃do…while循环至少会执行一次do{//代码语句}while(布尔表达式);for循环虽然所有循环结构都可以用 while 或者 do…while表示但 Java 提供了另一种语句 —— for 循环使一些循环结构变得更加简单。for循环语句是支持迭代的一种通用结构是最有效、最灵活的循环结构for循环执行的次数是在执行前就确定的语法for(初始化;布尔表达式;更新){//代码语句}关于 for 循环有以下几点说明 最先执行初始化步骤。可以声明一种类型但可初始化一个或多个循环控制变量也可以是空语句。 然后检测布尔表达式的值。如果为 true循环体被执行。如果为false循环终止开始执行循环体后面的语句。 执行一次循环后更新循环控制变量(迭代因子控制循环变量的增减)。 再次检测布尔表达式。循环执行上面的过程。死循环for(;;){//代码语句}增强for循环(Java5引入)主要用于数组或集合for(声明语句:表达式){//代码句子}声明语句声明新的局部变量该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块其值与此时数组元素的值相等。 表达式要访问的数组名或者是返回值为数组的方法。breakcontinuebreak在任何循环语句的主体部分均可用break控制循环的流程。break 用于强制退出循环不执行循环中剩余的语句。(break语句也在switch语句中使用)continue用在循环语句中用于终止某次循环过程即跳过循环体中尚未执行的语句接着进行下一次是否执行循环的判定