一、Scanner对象
语法:
Scanner s = new Scanner(System.in)
Scanner 扫描仪 用于接收键盘输入的数据
hasNext()与hasNextLine()方法用于判断有没有输入字符串
next()与nextLine()方法用于获取输入的字符串
close()方法用于关闭扫描仪
next()
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串.
nextLine()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
二、顺序结构
从上到下的顺序进行执行,它是任何一种算法都离不开的基本算法结构。
三、选择结构
- if 单选择结构
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
equals();用于判断字符串是否相等
- if双选择结构
语法:
if(布尔表达式){
//如果布尔表达式的值为true,则执行这个代码块
}else{
//如果布尔表达式的值为false,则执行这个代码块
}
- if 多选择结构
if(布尔表达式1){
//表达式1
}else if(布尔表达式2){
//表达式2
}else if(布尔表达式3){
//表达式3
}
- 嵌套的if结构
if(布尔表达式1){
//表达式1
if(布尔表达式2){
//表达式2
}
}
- switch多选择结构
switch 语句中的变量类型可以是:- byte、short、int、或者char
- 从java SE7开始switch支持字符串String类型了,同时case 标签必须为字符串常量或字面量
switch (expression){
case value:
//语句
break;
case value:
//语句
break;
default:
//语句
}
四、循环结构
- while循环
while(布尔表达式){
//循环内容
}
只要布尔表达式为true,循环就会一直执行下去。
- do·····while循环
do{
//代码语句
}while(布尔表达式);
while和do····while的区别
1、while先判断后执行,do…while是先执行后判断。
2、do…while总是保证循环体会被至少执行一次。
- for 循环
for(初始化;布尔表达式;更新){
//代码语句
}
最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后,检查布尔表达式的值,如果为true,循环体被执行。如果为false,循环体终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。再次检测布尔表达式,循环执行上面的过程。
九九乘法表
//先打印第一列
//把固定的1再用一个循环包起来
//去掉重复项i<=j
//调整样式
for(int j=1;j<=9;j++){
for(int i=1;i<=j;i++){//i<=j 去除重复项
System.out.print(j+"*"+i+"="+(j+i)+"\t");
}
System.out.println();
}
- 增强for循环
for(声明语句:表达式){
//代码语句
}
------------------
int[] numbers={10,20,30,40,50,60,70,80};//定义一个数组
//遍历数组
for(int x:numbers){
System.out.println(x);
}
1、声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时的数组元素的值相等。
2、表达式:表达式是要访问数组名,或者是返回值为数组的方法
五、break/continue
- break
在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中的剩余的语句。(break语句也在switch语句中使用) - continue
语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。
六、练习打印三角形
public static void main(String[] args){
//打印三角形 5行
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();
}
}