在读取之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
next() | nextLine() |
---|---|
1.一定要读取到有效字符后才可以结束输入 | 1.以Enter为结束符也就是说该方法返回的是输入回车之前的所有字符 |
2.对输入有效字符之前遇到的空白,会自动去掉 | 2.可以获得空白 |
3.只有输入有效字符之后才将其后面输入的空白作为分隔符或者结束符 | |
4.next()不能得到带有空格的字符串 |
if 单选择结构
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
if 双选择结构
if(布尔表达式){ //如果布尔表达式为true }else{ //如果布尔表达式为false }
if 多选择结构
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 }else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 }else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码 }else{ //如果以上布尔表达式都不为true执行代码 }
嵌套的if结构
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码 if(布尔表达式2){ //如果布尔表达式2的值为true执行代码 } }
switch多选择结构,类型可以为byte,short,int或者char
从javase7开始,switch支持字符串String类型
switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选 //数量任意 default://可选 //语句 }
while循环
while(布尔表达式){ //循环内容 }
只要布尔表达式为true,循环一直执行
大多数是会让循环停止下来的,需要用一个表达式失效来结束;少部分需要循环一直执行,比如服务器请求响应监听等
do...while循环
对while而言,不满足条件则不能进入循环,而do...while与此相似但至少会循环一次
do{ //代码语句 }while(布尔表达式);
区别:while先判断后执行,dowhile先执行后判断,dowhile总是保证循环体会被至少执行一次。
for循环
for(初始化;布尔表达式;更新){ //代码语句 }
增强for循环
for(声明语句:表达式) { //代码句子 }
打印三角形
for (int i = 1; i <= 5; i++) { for(int j=5;j>=i;j--){ System.out.print(" "); } for(int j=1;j<=i;j++){ System.out.print("*"); } for(int j=1;j<i;j++){ System.out.print("*"); } System.out.println(); }