Java学习过程中的一些记录和总结,比较零散和主观,如有理解错误烦请指正,谢谢
1. Scanner - 接收用户输入
- 所属包:java.util.Scanner
- 格式:Scanner input = new Scanner(System.in);
- .next() 和 .nextLine() 方法输出为String;
- .next() 以第一个非空格字符开始,以空格结束;.nextLine() 以任意字符开始,以回车结束;
- .nextLine() 方法不可和其他.next方法混用
- .hasNextInt() 之类的方法用于判断用户输入是否为黄标处的数据类型(输出boolean)
2. 执行结构 - 1. 顺序结构;2. 选择结构;3. 循环结构
- 顺序结构 - 即为一般代码,从上往下顺序执行
- 选择结构 - 1. if结构;2. switch结构
- if结构:
-
if(条件表达式){ //执行体 }else if(条件表达式){ //执行体 }else{ //执行体 }
- switch结构:
-
switch(表达式){ case a: //执行体; break; case b: //执行体; break; ... case n: //执行体; break; default(可选): //执行体; break; }
- switch的表达式输出的数据类型必为以下几种数据类型,byte,int,short,char,String;
- switch的表达式的输出为常量;
- break:跳出switch,不执行 switch 方法中 break 后面的代码(若满足条件的case中没有break,则会顺序执行下一个case的执行体 - 即使下一个case不满足条件,直到遇到break)
- 更一般:break - 从break位置跳出当前结构(只能跳出一层);continue - 从continue位置结束当前循环,转入下一个循环;exit(0) - 从exit(0)位置终止程序
- 循环结构 - 1. while循环;2. do while循环;3. for循环
- while循环:
-
while(条件表达式){ //执行体 }
- 一般来说,while循环需要先在外部定义用于记录循环次数的变量,以及在循环内部写上该变量的自增语句;
- 一般来说,while循环一定要设置循环出口(使条件表达式中的某一个量在循环中变化,变得不满足条件)
- do while循环:
-
do{ //执行体 }while(条件表达式)
- 相比while,do while循环会先执行一次,再判断条件 - 部分注重第一次运行的场景(如 条件表达式一开始就达到界限)会显示和while的不同,其余情况和while循环相同
- for循环:
-
for(定义循环次数记录变量; 条件判断表达式; 自增/自减表达式){ //执行体 }
- 执行顺序:定义循环次数记录变量 -> 条件判断 -> 执行体 -> 自增/自减表达式 -> 条件判断 -> 执行体 -> 自增/自减 -> ...
- 定义循环次数记录变量 和 自增/自减表达式 - 这两个位置均为一般表达式,可以替换为其他表达式(当上述部分替换为其他表达式,可从for循环语句执行顺序上理解其含义)
- 应用:循环嵌套图形打印
- 外层循环控制行,内层循环控制列
- 打印永远是从一行开头打印;从开头往右数,出现几种字符,内层循环就需要几种
- 退出嵌套循环 - 给最外层循环命名为xxx,直接break xxx; 即可
- 例:
loop1: for(int i=0;;){ for(int j=0;;){ break loop1; } }
- 例: