实验环境:JDK1.8.0_111

Java阶段复习

·Java程序的源文件名和源文件里面声明的类名的关系

    我们现在有一个名为Review.java的java程序源文件名,源程序如下:

    

        class/*声明类的关键字*/ Review/*类名*/{
            /*下面的一行是main方法,main方法的格式是固定的,只有"[]"和"args"不固定,
               "args"相当于是一个一维数组的数组名,"[]"放在"args"的前面或后面都可以
            */
            public static void main(String[] args){
                System.out.println("Hello,world!");
            }
        }

    我们在使用编译命令javac的时候,后面跟的是java程序的源文件名,在使用运行命令java的时候,后面跟的是java源程序里面所声明的类名:

    

wKiom1g6QYfCXVGHAABSuqdAiD0386.png


    

wKiom1g6QavSZuQlAABdt7_qcGg643.png


    由上图知,编译后生成的.class文件名和我们在java源程序里面所声明的类名相同。

    

wKioL1g6QhXBrTi8AAAHQFyvySI936.png


    由上面这个例子我们可以知道,java程序的源文件名和程序里面所声明的类名不一定相同,所声明的类名其实就是编译后生成的.class的文件名。

    但是在我们声明一个类的时候,如果class前面有public关键字的时候,说明我们声明的类是一个公有类,那么此时我们声明的类名就必须和java程序的源文件名相同,java程序的源文件名必须和公有类型的类名相同:

    

wKioL1g6Q_GBaviYAABmqXrHVlE247.png


    在一个java源程序当中可以声明多个类,但是只可以有一个public类型的类,因为java源程序的文件名必须和public类型的类名一致:

    

wKiom1g6RMDBkwiGAABRXIwV7gE693.png


    

wKioL1g6RNiBc1eiAABZzVb68_Y236.png


·System.out.println和System.out.print的关系

    二者都表示输出至标准输出,前者表示换行输出,后者表示不换行输出:

    1,System.out.print

      

wKiom1g6RinCu0opAAAgzpvEa88867.png


    2,System.out.println

      

wKioL1g6Rk6CKSjeAAAhdeYWNRc563.png


·练习使用Scanner

   

wKiom1g6RpyxSoOXAAHt64pT-KM303.png


    代码如下:

    

        import java.util.Scanner;
        
        class Review{
            public static void main(String[] args){
                Scanner scanner = new Scanner(System.in);
            
                System.out.print("请输入一个学生的成绩:");
                int score = scanner.nextInt();
            
                if(score > 100 || score < 0){
                    System.out.println("成绩输入不合法,请重新输入!");
                }else{
                    char grade = ' ';
                
                    switch(score / 10){
                        case 10:
                        case 9:
                            grade = 'A';
                            break;
                        case 8:
                        case 7:
                            grade = 'B';
                            break;
                        case 6:
                            grade = 'C';
                            break;
                        default:
                            grade = 'D';
                            break;
                    }
                    System.out.println("等级是:" + grade);
                }
                }
            
            }

    运行结果:

      

wKioL1g6SknCwDoMAAAcG82D9aU551.png

  

    练习2:

      编写一个java程序,要求,

        1,输入月、日

        2,输出输入的日期是2016年的第几天

        3,使用switch语句

      代码如下:

      

            import java.util.Scanner;
            
            class Review{
                public static void main(String[] args){
                    Scanner scanner = new Scanner(System.in);
                    
                    System.out.print("月:");
                    int month = scanner.nextInt();
                    
                    System.out.print("日:");
                    int day = scanner.nextInt();
                    
                    int days = 0;
                    
                    switch(month){
                        case 12: days += 30;
                        case 11: days += 31;
                        case 10: days += 30;
                        case 9: days += 31;
                        case 8: days += 31;
                        case 7: days += 30;
                        case 6: days += 31;
                        case 5: days += 30;
                        case 4: days += 31;
                        case 3: days += 28;
                        case 2: days += 31;
                        case 1: days += day;
                    }
                    
                    
                }
            }

    代码运行结果:

    

wKiom1g6jPLBEZ3wAAARYlWLhF8457.png