一、Scanner 对象
基本语法
Scanner s = new Scanner(System.in);
通过Scanner类的next(),nextLine()方法获取输入的字符串,在读取前,一般需要使用hasNext(),hasNextLine()判断是否还有输入的数据。
凡是属于I/O流的,使用完要关闭 scanner.close();
//创建一个扫描机器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
sysout("使用next方式接收");
//判断是否有输入
if(scanner.hasNext()){
//使用next方式接收
//等待输入
String str = scanner.next();
sysout("输出的内容为"+str);
}
//凡是属于I/O流的,使用完要关闭
scanner.close();
next()与nextLine()的区别
next()遇到空白就会舍掉之后的字符,因此不能得到带有空格的字符串,而nextLine()是以回车作为结束符,可以获得空白。
next():Hello World-->Hello
nextLine():Hello World-->Hello World
Scanner进阶使用
Scanner scanner = new Scanner(System.in)
if(scanner.hasNextInt()){
Int int =scanner.nextInt();
sysout("输出的结果为:"+int);
}
二、顺序结构
Java本身就是顺序结构
三、选择结构
if 单选择结构
if () {
}
if 双选择结构
if () {
}else{
}
if 多选择结构
if () {
}else if () {
}else if () {
}else if () {
}else{
}
嵌套的if结构
if () {
if () {
}
}
switch多选结构
switch变量类型:byte,int,short,char、 支持字符串String类型,case标签必须为字符串常量或字面量
switch(){
case value:
break;
case value:
break;
......
defalut:
}
四、循环结构
while循环
不满足条件,不进行循环
while(布尔表达式){
//循环内容
}
do... while循环
不管满不满足,先执行一次
do {
}while(布尔表达式);
while 与 do...while的区别:
while先判断,后执行,do...while先执行后判断,do...while至少执行一次。
for循环
for(初始值;布尔表达式;更新){
}
九九乘法表
public class For {
public static void main(String[] args) {
for (int i=1;i<=9;i++){
for (int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
}
}
}
增强for循环
主要用于数组或集合的增强型for循环
for(声明语句:表达式){
}
public class ForPlus {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义数组
for(int x:numbers){
System.out.println(x);
}
}
}
五、break和continue
break:在任何循环语句的主体部分,均可使用break,用于强制退出循环
continue:在循环语句体追踪,用于终止某次循环过程 ,跳过循环体中尚未执行的语句
public class Continue {
public static void main(String[] args) {
int i=0;
while (i<100){
i++;
if (i%10==0){
System.out.println();
continue;//跳出if
}
System.out.println(i);
}
}
}
goto关键字:可以作为标签,跳转
六、练习
打印三角形
public class Test {
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("");
}
}
}