1 关系运算符:>,>=,<,<=,==,!=
  案例:Demo1

public class Demo1 {
//偶数:能被2整除的整数
//2,4,6,8,10...
//整除:余数为0
//num%2==0     	true  num是偶数
//		        false  num不是偶数
  public static void main(String[] args) {
	int num = 99;
	boolean result = num%2==0;
	System.out.println(num+"是否为偶数"+
			result);
  }	
}

2 Scanner

  sun公司设计的Java的工具类,功能是从控制台输入数据。
  1)导入工具类(导包)
    import java.util.Scanner; //暂时先跟着我写,下周详细讲解
  2)根据Scanner工具来创建对象(下周详细讲解)
    Scanner sc = new Scanner(System.in);
    sc就是Scanner的一个对象,通过sc调用Scanner工具类的功能
  3)输入整数:
    sc.nextInt(); 从控制台输入任意的一个int类型整数,一般都建议定义一个int类型变量来接收输入的整数。
    案例:Demo2

import java.util.Scanner;
public class Demo2 {
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	System.out.println("输入的整数是:"+num);
  }

//Demo3:在main方法中创建一个Scanner对象,从
//控制台输入任意的一个整数,并输出  
}
import java.util.Scanner;
public class Demo3 {
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	System.out.println(num);
  }
}

import java.util.Scanner;
public class Demo4 {
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的一个整数,判断该整数是否为偶数,如果是偶数,
//输出true,反之如果不是偶数,输出false
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	boolean result = num%2==0;
	System.out.println(num+"是否为偶数"+
			result);
  }
}

import java.util.Scanner;
public class Demo5 {
//在main方法中,创建一个Scanner对象,输入任意的
//一个整数,判断该整数是否为奇数,如果是奇数,输出
//true,反之如果不是奇数,输出false
//奇数:1,3,5,7,9....
//奇数:不能被2整除的整数
//num%2!=0      	true   奇数
//					false  不是奇数
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	boolean result = num%2!=0;
	System.out.println(num+"是否为奇数"+
			result);
  }
}

3 逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非)
  1)&&:逻辑与,用来连接两个或者多个并且关系的关系表达式,只有当所有的关系表达式都为true,整个表达式才为true,只要有任何一个关系表达式为false,则整个表达式为false。
    eg:
      int num1=200,num2=500;
      boolean result = num1>=200 && num2<100;
                  true false
                     false
    案例:Demo6

public class Demo6 {
//&&:逻辑与,用来连接多个并且关系的关系表达式,只有
//当所有的关系表达式都为ture,则整个表达式为ture,
//只要有任何一个关系表达式为false,则整个表达式为
//false。
  public static void main(String[] args) {
	int num1=100,num2=200,num3=500;
	boolean result = 
	  num1!=200 && num2>=100 && num3<=500;
//	    true		  true	      true
	System.out.println("result="+result);
  }
}


  2)运算符优先级:
    算术运算符>关系运算符>逻辑运算符>赋值运算符
    eg:
      int num1=100,num2=1000;
      boolean result =(num1+100)*2>=300 && num2%4==0
                         算术 400>=300 && 0==0
                         关系 true && true
                           逻辑 true
                    赋值 把true赋值给result
    案例:Demo7

public class Demo7 {
//运算符优先级:
//算术运算符>关系运算符>逻辑运算符>赋值运算符	
  public static void main(String[] args) {
	int num = 100;
	boolean result =
		num%4==0 && num%100!=0;
//算术	    0==0 && 0!=0
//关系               true && false
//逻辑                       false
//赋值       把false赋值给result
	System.out.println(result);
  }
}

import java.util.Scanner;
public class Demo8 {
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的一个整数,判断该整数是否能被4整除并且不能被
//100整除,如果满足条件,输出true,反之输出false
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	boolean result = 
			num%4==0 && num%100!=0;
	System.out.println(num+"是否满足条件"+
			result);
  }
}

  3)||:逻辑或,用来连接多个或者关系的表达式,只要有任何一个关系表达式为true,则整个表达式都为true,只有当所有的关系表达式都为false,则整个表达式才为false。

    eg:
      int num1=100,num2=200;
      boolean result = num1!=100 || num2>num1;
                 false true
                  true
    案例:Demo9

public class Demo9 {
//||:逻辑或,用来连接多个或者关系的表达式,只要有
//任何一个表达式为true,则整个表达式都为true,只有
//当所有的表达式都为false,则整个表达式才为false。
  public static void main(String[] args) {
	int num1=100,num2=200,num3=300;
	boolean result =
		num1+num2<200 || num1+num2>num3;
//	           false		 false
//					  false
    System.out.println("result="+result);
  }
}

import java.util.Scanner;

public class Demo10 {
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的一个整数,判断该整数是否能被4整除或者能
//被3整除,如果满足条件,输出true,反之,输出false
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int num = sc.nextInt();
	boolean result = 
		num%4==0 || num%3==0;
	System.out.println(num+"是否满足条件"+
			result);
  }
}

    综合案例
      闰年:该年份能被4整除并且不能被100整除,或者能被400整除
      1)能被4整除并且不能被100整除:
        year%4==0&&year%100!=0
      2)能被400整除:
        year%400==0
      3)或者
        (year%4==0&&year%100!=0) || year%400==0
    Demo11: 在main方法中,创建一个Scanner对象,从控制台输入任意的一个整数作为年份year,判断该年份是否为闰年,如果是闰年,输出true,反之如果不是闰年,输出false

import java.util.Scanner;
public class Demo11 {
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入一个年份:");
	int year = sc.nextInt();
	boolean result = 
	  (year%4==0 && year%100!=0) ||
	  						year%400==0;
	System.out.println(year+"是否为闰年:"+
			result);
  }
}

  4)如果直接判断整个表达式的true还是false,不需要对每一个表达式都进行判断。
    eg:
      int num1=100,num2=1000;
      boolean result = num1!=100 && num2>=1000;
                 false  false
      boolean result2 = num1==100 || num2!=1000;
                    true true
  5) !:逻辑非,取反

    eg:
      boolean result1 = ! true;
            false
      boolean result2 =!(100!=100);
            !(false)
              true
    案例:Demo12

public class Demo12 {
  public static void main(String[] args) {
	boolean result1 = !true;//false
	System.out.println("result1="+result1);
	boolean result2 = !false;//true
	System.out.println("result2="+result2);
    int num1=100,num2=500;
    boolean result3 = !(num1+200<=num2);
//                   	!(300<=num2)
//    						!true
//    						false
    System.out.println("result3="+result3);
  }
}

4 条件运算符(三目运算符)
  1)格式:
    表达式1?表达式2:表达式3
  2)语法规则:如果表达式1为true,则表达式2作为当前整个表达式的结果;如果表达式1为false,则表达式3作为当前整个表达式的结果。
    eg:
      int num1=100,num2=200;
      int max = num1>=num2 ? num1 : num2;
    案例:Demo13

public class Demo13 {
//条件运算符:
//1 格式: 表达式1 ? 表达式2 :表达式3
//2 语法规则:首先判断表达式1,如果表达式1为true,
//则表达式2作为整个表达式的结果;反之如果表达式1为
//false,则表达式3作为整个表达式的结果。	
  public static void main(String[] args) {
	int num1=5000,num2=1000;
	int min = num1<=num2 ? num1 : num2;
	System.out.println("较小的数是"+min);
  }
}

import java.util.Scanner;
public class Demo14 {
//在main方法中,编写一个Scanner对象,从控制台输入
//任意的两个整数,输出其中较大的整数的值	
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入第1个整数:");
	int num1 = sc.nextInt();
	System.out.println("请输入第2个整数:");
	int num2 = sc.nextInt();
	int max = num1>=num2 ? num1 : num2;
	System.out.println("较大的整数是"+max);
  }
}

5 Java中语句的结构
  1)顺序结构:代码从上往下,每一行都会被执行
  2)选择结构:根据条件的不同,选择性执行代码,有的代码被执行,而有的代码没有被执行。
  3)循环结构:一段代码反复被执行。


6 if语句(单分支)
  1) 格式: if(表达式){
        语句
          }
  2)语法规则:首先判断if中的表达式,如果表达式为true,执行对应if中语句;反之如果表达式为false,不执行任何语句。
    eg:
      int age = 2;
      if(age>=18){
        System.out.println("你长大了");
        System.out.println("努力工作!");
      }
    案例:Demo15

public class Demo15 {
//if语句
//1 格式: if(表达式){
//			语句
//		 }	
//2 语法规则:首先判断if中的表达式,如果表达式为
//true,执行if中的语句;如果表达式为false,不执行
//任何语句。	
  public static void main(String[] args) {
	int age = 3;
	if(age>=18){
	  System.out.println("你长大了");
	  System.out.println("自己养活自己!");
	}
  }  	
}

  3)注意:
    a)if的条件(表达式)跟if语句之间不要出现“;”,容易导致if语句失效。
    b)一般把if中的语句都放到一个{}中。

    案例:Demo16

import java.util.Scanner;
public class Demo16 {
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的一个整数,判断该整数是否为偶数,如果是偶数,
//输出该整数的值以及是"是偶数",如果不是偶数,不输出
//任何内容
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入任意的一个整数:");
    int num = sc.nextInt();
    if(num%2==0){//偶数
      System.out.println(num+"是偶数");	
    }
  }	
}

import java.util.Scanner;
public class Demo17 {
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的一个整数作为年份year,判断该年份是否为闰年,
//如果是闰年,输出该年份以及"是闰年",反之不输出
//任何内容。
  public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	System.out.println("请输入年份:");
	int year = sc.nextInt();
	if((year%4==0&&year%100!=0)||
							year%400==0){
	  System.out.println(year+"是闰年");	
	}
  }
}

7 if-else语句

  1)格式:
    if(表达式){
      语句1
    }else{
      语句2
    }
  2)语法规则:如果if中表达式为true,执行if中语句1;反之如果if中表达式为false,执行else中语句2。
    eg:
      int age = 27;
      if(age>=18){
        System.out.println("你长大了");
      }else{//age<18
        System.out.println("你还小");
      }
  3)else后面不直接接条件,因为else本身就是if的相反情况。if-else语句必然执行其中之一。
    案例:Demo18

public class Demo18 {
//if-else语句
//1 格式:if(表达式){
//			语句1
//		 }else{ 
//			语句2
//		 }	
//2 语法规则:首先判断if中的表达式,如果表达式为true,
//执行if中的语句1;反之如果表达式为false,执行else
//中的语句2
//3 if-else语句必然执行其中的某一个分支。	
  public static void main(String[] args) {
	int age=9;
	if(age>=18){
	  System.out.println("你长大了");
	  System.out.println("自己养活自己");
	}else{//age<18
	  System.out.println("你还小!");
	  System.out.println("还能幸福几年!");
	}
  }
}