Java-day04研究ノート

2021年1月1日

これは2021年の最初のJava学習記録であり、今後は週に6回更新されます。
今年は、私のJava学習の旅がスムーズで有益であり、良い仕事が見つかることを願っています。

1.三項式

练习:
1. 判断两个数是否相等
2. 有如下三个人的身高:165cm、183cm、135cm,通过三元表达式,求出三人中最高的一个人。

2、キーボード入力

前のプログラムのデータはプログラムに直接書き込まれるため、変更して使用するのは非常に不便です。したがって、Javaは公式にキーボード入力を提供し、プログラムを変更せずにキーボードから動的にデータを入力できるようにします。

クラスを使用する必要があります:スキャナー

Scannerクラスはjava.utilパッケージの下にあります

2.1ステップ

1. 创建对象 
		java.util.Scanner sc = new java.util.Scanner(System.in);
2. 接收数据
		int a = sc.nextInt();
3. 处理数据
接收数据的常见方法:
nextInt()      接收整数
nextDouble()   接收小数
nextLine()     接收字符串

3、ガイドパッケージ

クラス内の別のパッケージの下にあるクラスを使用する場合は、このパッケージをクラスの先頭で固定形式で宣言してから、このクラス内の指定されたパッケージの下にあるクラスを直接使用できます。

3.1インポートパッケージのフォーマット

关键字:import

注意事项:
	1. 导入的包一定要声明在所有类的最上方
	2. java.lang包下类不需要导包就能使用
	3. 导包格式如下:
			1. import 包名.类名;  如:import java.util.Scanner;
			2. import 包名.*;    如:java.util.*;
			注意:建议选择具体到类名的。

3.2ガイドパッケージを使用して、キーボード入力手順を簡素化します

1. 导包
		import java.util.Scanner;
2. 创建对象
		Scanner sc = new Scanner(System.in);
3. 接收数据
		int x = sc.nextInt();
4. 处理数据
//1. 导包
import java.util.Scanner;
public class Demo2 {
    
    
	
	public static void main(String[] args) {
    
    
		
		//2. 创建对象 
		Scanner sc = new Scanner(System.in);
	
		System.out.println("请输入一个整数:");
		//3. 接收数据
		int x = sc.nextInt();
	
		//4. 处理数据
		System.out.println(x);
	}
}
接收数据的常见方法:
nextInt()      接收整数
nextDouble()   接收小数
nextLine()     接收字符串
/*
	判断两个数是否相等
 */
import java.util.Scanner;
public class Test {
    
    
	
	public static void main(String[] args) {
    
    
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int x = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int y = sc.nextInt();
		
		String s = x == y ? "相等" : "不相等";
		
		System.out.println(s);
	}
} 
 
/*
	求三个数的最大值
 */
import java.util.Scanner;

public class Test2 {
    
    
	
	public static void main(String[] args) {
    
    
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int x = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int y = sc.nextInt();
		System.out.println("请输入第三个整数:");
		int z = sc.nextInt();
		
		int temp = x > y ? x : y;
		int max = temp > z ? temp : z;
		
		System.out.println("最大值为:" + max);
	}
}

4、フロー制御ステートメント

観察により、プログラムの実行順序が結果に直接影響することがわかります。別の実行シーケンスを使用して、必要な効果が得られる場合があります。

4.1フロー制御ステートメントの分類

顺序结构
分支结构
循环结构

5、シーケンス構造

Javaを含むすべての言語は、デフォルトで順次構造を持っています。つまり、プログラムは上から下に実行されます。

ここに画像の説明を挿入

public class Demo {
    
    
	
	public static void main(String[] args) {
    
    
		
		int a = 3;
		int b = 5;
		
		System.out.println(a);  //3
		System.out.println(b);  //5
		
		System.out.println("over");  //over

	}
}

6、分岐構造

プログラムをどこかで実行する場合、複数の方法で選択できます。これらの複数の方法を同時に実行することはできず、まったく実行されませんが、実行できるのは1つだけです。このような構造は分岐構造です。

6.1分類

if语句
switch语句

6.2ifステートメント

①if文の最初の形式
if(关系表达式){
    
    
	语句体;
}

格式的解释:
	1. 关系表达式的结果必须为boolean类型,要么是true、要么是false
	2. 如果结果为true,那么执行大括号中的语句体
	3. 如果结果为false,那么不执行大括号中的语句体,而是执行if语句下方的内容

ここに画像の説明を挿入

public class IfDemo {
    
    
	
	public static void main(String[] args) {
    
    
		
		int a = 5;
		
		if(a == 3){
    
    
			System.out.println("进入了if语句中");
		}
		
		System.out.println("over");
	}
}
练习:
键盘录入一个数,并判断这个数是整数还是小数(根据题意的规则为:先输入一个小数,如果小数点后有非0数字那么就认为是小数,如果小数点只有0那么就认为是整数)
如: 12.35 小数  12.0  整数
/*
	键盘录入一个数,并判断这个数是整数还是小数(根据题意的规则为:先输入一个小数,如果小数点后有非0数字那么就认为是小数,如果小数点只有0那么就认为是整数)
	如: 12.35 小数  12.0  整数
 */
import java.util.Scanner;
public class IfTest {
    
    
	
	public static void main(String[] args) {
    
    
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请录入一个数:");
		
		//原来的数
		double d = sc.nextDouble();
		
		//经过强制数据类型转换之后的数
		int dd = (int)d;
		
		//用原来的数减去强制转换之后的数
		double result = d - dd;
		
		//如果结果等于0那就证明是整数,如果结果不等于0那就证明是小数
		if(result == 0) {
    
    
			
			System.out.println(d + "是整数");
		}
		if(result != 0) {
    
    
			
			System.out.println(d + "是小数");
		}
	
	}
	
}
②If文の2番目の形式
if(关系表达式){
    
    
	语句体1;
}else{
    
    
	语句体2;
}

格式的解释:
	1. 关系表达式的结果必须为boolean类型,要么是true、要么是false
	2. 如果结果是true,那么执行语句体1
	3. 如果结果是false,那么执行语句体2

ここに画像の説明を挿入

public class IfDemo2 {
    
    
	
	public static void main(String[] args) {
    
    
		
		int a = 3;
		
		/*
			三元表达式可以和if语句的第二种格式互相转换
			
			注意事项:
				1. 三元表达式可以完成的,if语句都可以完成
				2. 三元表达式不能完成的,if语句也可以完成
		 */
		//System.out.println(a == 3 ? "a等于3" : "a不等于3");
        
		if(a == 3){
    
    
			
			System.out.println("a等于3");
		}else{
    
    
            
			System.out.println("a不等于3");
		}

		System.out.println("over");
	}
}
练习:使用if语句改进之前练习
1. 判断两个数是否相等
2. 求三个数的最大值
3. 判断一个数是奇数还是偶数

/*
	需求1. 判断两个数是否相等
 */
import java.util.Scanner;
public class IfTest2 {
    
    
	
	public static void main(String[] args) {
    
    
	
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int x = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int y = sc.nextInt();
		
		/*
		if(x == y){
			
			System.out.println("相等");
		}else{
			
			System.out.println("不相等");
		}
		*/
		
	}
}

/*
	需求2. 求三个数的最大值
 */
import java.util.Scanner;
public class IfTest3 {
    
    
	
	public static void main(String[] args) {
    
    
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int x = sc.nextInt();
		System.out.println("请输入第二个整数:");
		int y = sc.nextInt();
		System.out.println("请输入第三个整数:");
		int z = sc.nextInt();
		
		//定义一个变量,用来接收最大值
		int max = 0;
		
		if(x > y){
    
    
			/*
				x大于y才会进入到这里(也就是说只有x才有资格和z比较)
				我们只需要让x和z进行比较求出最大值即可
			*/
			if(x > z){
    
    
				max = x;
			}else{
    
    
				max = z;
			}
			
		}else{
    
    
			/*
				y大于x才会进入到这里(也就是说只有y才有资格和z比较)
				我们只需要让y和z进行比较求出最大值即可
			 */
			if(y > z){
    
    
				max = y;
			} else{
    
    
				max = z;
			}
		}
		
		//打印最大值
		System.out.println("最大值为:" + max);
	}
}

/*
	需求3. 判断一个数是奇数还是偶数
 */
import java.util.Scanner;
public class IfTest4 {
    
    
	
	public static void main(String[] args) {
    
    
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个整数:");
		int x = sc.nextInt();
	
		if(x % 2 == 0){
    
    
			System.out.println(x + "是偶数");
		}else{
    
    
			System.out.println(x + "是奇数");
		}
	
	}
}
③If文の3番目の形式
if(关系表达式1){
    
    
	语句体1;
}else if(关系表达式2){
    
    
	语句体2;
}else if(关系表达式3){
    
    
	语句体3;
}
...
else{
    
    
	语句体n;
}

格式的解释:
	1. 关系表达式的结果必须为boolean类型,要么是true,要么是false
	2. 如果关系表达式1的结果为true,那么执行语句体1
	3. 如果关系表达式1的结果为false,那么会看关系表达式2的结果是true还是false
	4. 如果关系表达式2的结果为true,那么执行语句体2
	5. 如果关系表达式2的结果为false,那么会看关系表达式3的结果是true还是false
	...
	如果都为false,那么会执行else中的内容
   
注意事项:
    1. else可以省略
    2. else只能放在最后

ここに画像の説明を挿入

成绩等级分类:
	0 - 59    不及格
	60- 69    中等
	70- 89    良好
	90-100    优秀
/*
	需求:
		成绩等级分类:
		0 - 59    不及格
		60- 69    中等
		70- 89    良好
		90-100    优秀
 */
import java.util.Scanner;
public class IfTest5 {
    
    
	
	public static void main(String[] args) {
    
    
	
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请录入您的成绩:");
		int score = sc.nextInt();
	
		if(score >= 0 && score < 60){
    
    
			
			System.out.println("不及格");
		}else if(score >= 60 && score < 70){
    
    
			
			System.out.println("中等");
		}else if(score >= 70 && score < 90){
    
    
			
			System.out.println("良好");
		}else if(score >= 90 && score <= 100){
    
    
			
			System.out.println("优秀");
		}else{
    
    
			
			System.out.println("您录入的数据非法,请重新录入!");
		}

	}
}

6.3switchステートメント

①フォーマットと説明
switch (表达式) {
    
    
	case1 :
		语句体1;
		break;
	case2 :
		语句体2;
		break;
	case3 :
		语句体3;
		break;
	...
	default :
		语句体n;
		break;
}

格式的解释:
	1. switch 是一个关键字,切换的意思。表示了这是一个switch语句
	2. case 是一个关键字,情况的意思。会比对表达式中的值是否和自己后面的值相同
			如果相同的话,那么就执行自身下方的语句体
	3. break 是一个关键字,破坏、打断的意思。用来退出switch语句
	4. default 是一个关键字,默认的意思。如果所有的情况都不匹配,那么会执行default下面的内容
②switchステートメントに関する注意事項
1. 表达式的值可以是:
		byteshortintchar
		jdk5之后:枚举
		jdk7之后:字符串String
2. case后面的值只能是常量
3. break可以省略吗?可以省略,但是会发生穿透现象。
4. default可以省略吗?可以省略。
5. default一定要放在最后吗?可以放在其它位置,但是建议放在最后。
练习:
用switch语句完成 春夏秋冬的判断
	12  1  2 冬季
	3   4  5 春季
	6   7  8 夏季
	9  10 11 秋季
import java.util.Scanner;
public class Demo {
    
    
    
    public static void main(String[] args) {
    
    
        
        Scanner scan = new Scanner(System.in);
        int month = scan.nextInt();
        switch(month) {
    
    
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default :
                System.out.println("输入错误!!!"); 
                
        }
    }
}

おすすめ

転載: blog.csdn.net/ChangeNone/article/details/112058731