hooyantsing's Blog

第4次课程

字数统计: 1.3k阅读时长: 6 min
2019/04/15

源辰74班

第4次课程

04.15.2019

内容

1.回顾

**复习.txt:

**

  1. 输入输出,随机数:

  输出

   System.out.println();   //换行

   System.out.print();     //同一行

   +处理方式:

     任何类型的数据与   字符串相”+” 当成联接.

  输入:

     Scanner扫描器

     引入: import java.util.*;         //*代表这个util包下所有的类

           import java.util.Scanner;   //

           Scanner sc=new Scanner( System.in);   // System.in: 标准输入流

           sc.nextLine();   //按行读取  读到换行符

           sc.nextInt();    //按分隔符读一个int ->  nextInt()不会读取换行符

           sc.nextDouble();

           int age=Integer.parseInt(  sc.nextLine() );  

           或

           int age=sc.nextInt();

   随机数:

      Random

      引入: import java.util.Random;

      Random r=new Random();

      r.nextInt();   //整个整型范围的值

      r.nextInt(   n );    //   [0,n)          ->   r.nextInt(5)+5;

      r.nextDouble()

  1. 如何定义一个方法?

    public static void main(String[] args){}    -> 静态方法

    静态方法一般都调用另一个静态方法:

    public static 返回值类型 方法名(  实际参数   ){}

     返回值类型:  基本型: 8种   ->boolean byte short char int long float double

                  引用型: 数组, 对象类型

                  void

  1. 作用域? 变量起作用的范围

   {

      //声明的变量,在外面不能访问

   }

2.逻辑运算符(含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 Test0415;
import java.util.*;
public class test1 {
    public static void main(String[] args) {
       boolean flag1 = true;
       System.out.println( !flag1 );
       boolean flag2 = false;
       System.out.println( !flag2 );
       
       Scanner sc=new Scanner(System.in);
       
       boolean flag = true;
       do {
           System.out.println("===========学生管理系统============");
           System.out.println("1.登陆");
           System.out.println("2.退出");
           System.out.println("================================");
           int choice = sc.nextInt();
           sc.nextLine();
           if(choice==1) {
               System.out.println("登陆服务器繁忙,请稍后......");
               System.out.println("按回车键继续......");
               sc.nextLine();
           }else
               if(choice==2) {
                  System.out.println("已安全退出程序");
                  flag = false;
               }
           
       /*while内
        *flag==true时,满足循环。
        *flag==false时,跳出循环。*/  
       }while( flag );
       
    }
}

3.

“&&”、“ ||” 左右两边均为(true\false)值。

1
2
3
4
5
System.out.println( 5>4&&5<6 );
//运行时:
System.out.println( true&&false );
//结果为:
false

闰年判定实验:

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 Test0415;
import java.util.*;
public class Test2 {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入年份");
       int year =  Integer.parseInt(sc.nextLine());
       
       boolean b = isRun(year);
       if(b==true) {
           System.out.println(year+"是闰年!");
       }else {
           System.out.println(year+"不是闰年!");
       }
    }
    
    public static boolean isRun(int year) {
       if( ( year%4==0 && year%100!=0 ) ||  year%400==0) {
           return true;
       }
       //除了if里的情况,其他均为另一种情况时,建议省略else,在尾部直接返回。
       return false;
    }
    
}

4.赋值运算符

命令行参数实验:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package Test0415;
//命令行参数:  java 文件名 10 5
public class Test4 {
    public static void main(String[] args) { //10 5 会存到数组args参数,当成字符串存入
       if( args.length<2  ) {
           System.out.println("没有传入参数,程序初始化失败!");
           return;
       }
       int x = Integer.parseInt(args[0]);
       int y = Integer.parseInt(args[1]);
       //此处为x=x+y的简写
       x+=y;
       System.out.println(x);
    }
}

运行结果:

d2842f0c5377ad0e2bbaac71e5cd7866.png

交换数值三种算法:

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
39
40
41
42
43
44
45
46
47
48
49
50
51
package Test0415;
public class Test5 {
    public static void main(String[] args) { //10 5 会存到数组args参数,当成字符串存入
       if( args.length<2  ) {
           System.out.println("没有传入参数,程序初始化失败!");
           return;
       }
       int x = Integer.parseInt(args[0]);
       int y = Integer.parseInt(args[1]);
       
       //交换数值
       //解决方案一
       int t=x;
       x=y;
       y=t;
       System.out.println("方案一:"+x+"\t"+y);
       
       //解决方案二    x=(x+y)-y  y=(x+y)-x
       x=x+y;
       y=x-y;
       x=x-y;
       System.out.println("方案二:"+x+"\t"+y);
       
       //解决方案三    ^位运算符。异或门,相同取false,不同取true。
       /*解析:
        * x=3 011
        * y=4 100
        *
        *  011
        * ^100
        *  111
        *  
        *  111
        * ^011
        *  100
        *  
        *  111
        * ^100
        *  011
        *
        * x=4 100
        * y=3 011
        *
        * */
       x=x^y;
       y=x^y;
       x=x^y;
       System.out.println("方案三:"+x+"\t"+y);
       
    }
}

**5.**表达式1?表达式2:表达式3

实验题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package Test0415;
import java.util.*;
import java.util.Scanner;
public class Test6 {
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       int x = sc.nextInt();
       int y = sc.nextInt();
       
       //表达式1?表达式2:表达式3
       //if(表达式1){表达式2}else{表达式3}
       //(作于演示,x!=y)
       String s=x>y?"大于":"小于";
       System.out.println(s);
    }
}

**5.**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
39
40
41
42
43
44
45
package Test0415;
import java.util.*;
public class Test7 {
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       System.out.println("请输入要查询的年份:");
       int year = sc.nextInt();
       System.out.println("请输入要查询的月份:");
       int month = sc.nextInt();
       int days = getDays(year,month);
       System.out.println(year+"年"+month+"月有:"+days+"天");
    }
    
    public static boolean isRun(int year) {
       if( ( year%4==0 && year%100!=0 ) ||  year%400==0) {
           return true;
       }
       return false;
    }
    
    public static int getDays(int year,int  month) {
       //int day = 0;
       switch(month) {
       case 1:
       case 3:
       case 5:
       case 7:
       case 8:
       case 10:
       case 12:return 31;
       case 4:
       case 6:
       case 9:
       case 11:return 30;
       case 2:boolean b = isRun(year);
              if(b==true) {
                  return 29;
              }else{
                  return 28;
              }
       default:
           return -1;
       }
    }
}
CATALOG