Java学习笔记-Day2

Part3:Java流程控制

Scanner对象

  • next():

    • 一定要读取到有效字符后才可以结束输入;
    • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉;
    • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符;
    • next()不能得到带有空格的字符串。
  • nextLine():

    • 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;
    • 可以获得空白。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.zhou.process;

import java.util.Scanner;

// Scanner对象
public class Demo01 {
public static void main(String[] args) {
// 创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in); // 思考:此处为什么要加 new 关键字?它的作用是什么?

// 使用nextLine方法接收数据
System.out.println("遇到换行符后停止接收!");
String str1= scanner.nextLine();
System.out.println(str1);

// 使用next方法接收数据
System.out.println("遇到空格后停止接收!");
String str2= scanner.next();
System.out.println(str2);

// 凡是属于IO流的类如果不关掉会一直占用资源,要养成习惯关掉
scanner.close();
}
}

1
2
3
4
5
6
7
8
9
10
11
12
package com.zhou.process;

import java.util.Scanner;

// new 关键字:创建一个新的对象
public class Demo02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 定义一个对象scan,拥有Scanner类中的System.in方法
}
}

分支结构

if判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.zhou.process;

import java.util.Scanner;

// if条件判断
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的年龄:");
int age = scanner.nextInt();
if (age <= 18){
System.out.println("未成年!");
}
else if (age <= 35){
System.out.println("996ICU");
}
else {
System.out.println("退休吧!");
}
scanner.close();
}
}

判断引用类型相等

在Java中,判断值类型的变量是否相等,可以使用==运算符。但是,判断引用类型的变量是否相等,==表示“引用是否相等”,或者说,是否指向同一个对象。例如,下面的两个String类型,它们的内容是相同的,但是,分别指向不同的对象,用==判断,结果为false

要判断引用类型的变量内容是否相等,必须使用equals()方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.zhou.process;

// equals方法
public class Demo04 {
public static void main(String[] args) {
String str1 = "abc";
String str2 = "cba";
String str3 = "abc";
if (str1.equals(str2)){
System.out.println("str1 == str2");
}else if (str1.equals(str3)) {
System.out.println("str1 == str3");
}
}
}

switch多重选择

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.zhou.process;

import java.util.Scanner;

// switch多重选择
public class Demo05 {
public static void main(String[] args) {
int option = 6;
switch (option){
case 1:
System.out.println("吃饭!");
break; // 判断成功则跳出switch块,不写break的话会按顺序执行每个分支
case 2:
System.out.println("睡觉!");
case 3:
System.out.println("学习!");
break;
default:
System.out.println("无该选项!");;
}
System.out.println("==========================");

// JDK7的新特性,表达式结果可以是字符串!
// 字符的本质还是数字
String str = "休假";
switch (str){
case "上班":
System.out.println("8点起床!");
break;
case "休假":
System.out.println("10点起床!");
break;
default:
System.out.println("无该选项!");;
}
}
}

循环结构

while循环和do while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.zhou.process;

// while , do while 循环语句
// 区别:while循环是先判断循环条件,再执行循环。而另一种do while循环则是先执行循环,再判断条件!
public class Demo06 {
public static void main(String[] args) {
int n = 0;
System.out.println("------------while-------------");
while (n<10){
n++;
System.out.println("执行"+n+"次");
};
int m = 0;
System.out.println("------------do while-------------");
do {
m++;
System.out.println("执行"+m+"次");
}while (m<10);

// 两者差异对比
System.out.println("--------------------------------------");
n = 10;
System.out.println("------------while-------------");
while (n<10){
n++;
System.out.println("执行成功"); // 不会执行
};
m = 10;
System.out.println("------------do while-------------");
do {
m++;
System.out.println("执行成功"); // 会执行
}while (m<10);
}
}

for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.zhou.process;

import javax.swing.*;

// for 循环
public class Demo07 {
public static void main(String[] args) {
int s1 = 0;

// for 循环 1+2+3+...+100
for (int n=1;n<=100;n++){
s1+=n;
}
System.out.println(s1);

// for each 循环
int s2 = 0;
int[] n2 = {1,2,3,4,5,6,7,8,9,10};
for (int i:n2){
s2+=i;
}
System.out.println(s2);
}

}

break和continue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.zhou.process;

// break 和 continue
public class Demo08 {
public static void main(String[] args) {
System.out.println("-----------------break---------------");
for (int n=0; n<10; n++){
if (n==5){
System.out.println("break终止循环");
break; // 终止循环
}
System.out.println("n="+n);
}

System.out.println("-----------------continue---------------");
for (int m=0; m<10; m++){
if (m==5){
System.out.println("continue跳出本次循环");
continue; // 跳出本次循环
}
System.out.println("m="+m);
}
}
}

打印一个三角形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.zhou.process;

// 打印一个三角形
public class Demo09 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("*");
}
for (int m = 1; m < i; m++) {
System.out.print("*");
}
System.out.println();
}
}
}

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022-2024 归一
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信