Java基础 3. 运算符

Java基础 3. 运算符

目标

  • 掌握数据类型转换
  • 掌握算术运算符、赋值运算符
  • 掌握逻辑运算符
  • 掌握关系运算符、条件运算符

一、数据类型转换

//Demo1.java

public class Demo1 {
	public static void main(String[] args) {
		//按照数值非数值分类
		//数据类型:数值(整型int 浮点型float、double)
		//非数值(字符串String,字符char,布尔boolean(true、false))
		
		//按照基本引用数据类型
		//引用数据类型String 其他为基本
		
		int num1 = 10;
		//浮点数默认是double
		double num2 = 1.0;
		float num3 = 5.6f;
		System.out.println(num3);
		//当表达式中有一个是double类型时。整个结果是double
		//强制类型转换 double -> int
		//强制去掉小数部分9.8 -> 8
		//会造成精度丢失
		int num4 = num1 - (int)num2; 
		System.out.println(num4);
		
		//自动类型转换
		//int -> double
		num2 = 100;

	}
}

二、转换规则

自动类型转换规则

规则1. 如果一个操作数为double类型,则整个表达式类型提升为double类型

规则2. 满足自动类型转换的条件

  • 两种类型兼容

    • 数值类型(整型和浮点型)互相兼容
  • 目标类型大于源类型

    • 例如:double类型大于int类型

    强制类型转换

int num4 = num1 - (int)num2; 

三、赋值运算符

public class ChangeNumber {
	public static void main(String[] args) {
		int num1 = 1;
		int num2 = 2;
		System.out.println("before\tchange:"+ "num1 = "+num1+"\t num2 = "+num2);
		
		int temp = 0;
		temp = num1;
		num1 = num2;
		num2 = temp;
		
		System.out.println("after\tchange:"+ "num1 = "+num1+"\t num2 = "+num2);
	}

}

四、算术运算符

+ - * /  % ++ --
+=  -=  *=  /=  %=

五、算术运算符综合应用

import java.util.Scanner;


public class num {
	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner inputScanner = new Scanner(System.in);
		System.out.println("Please input a number:");
	int no = inputScanner.nextInt();
	
	System.out.println("num is : "+no);
	System.out.println(no%10);
	System.out.println(no/10%10);
	System.out.println(no/100%10);

	}

}

六、 关系运算符

== != > < >= <=

七、 逻辑运算符

&& 与
|| 或
! 非
优先级别:!  >  &&   >  	||
public class luoji {
	public static void main(String[] args) {

/*		int x = 8;
		int y = 9;
		System.out.println((++x==y)&&(++x!=y));//true
		System.out.println(x);//10
*/	
		int x = 8;
		int y = 9;
		System.out.println((++x!=y)&&(++x==y));//false
		System.out.println(x);//9
	
		
	}

}

八、 条件运算符

三目运算符

 ? : 
import java.util.Scanner;


public class Tiaojian {
	public static void main(String[] args) {

		//判断一个数是否为偶数(能被2整除的数)
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个非零数字");
		int num = input.nextInt();
		
		String result = (num%2==0)?"偶数":"奇数";
		System.out.println(num + "是" + result);
	}

}

九、 运算符优先级

  • 单目运算符包括! ++ -- 优先级别 高
  • 优先级别最低的是赋值运算符
  • 可以通过()控制表达式的运算顺序,()优先级最高
  • 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
  • 算术运算符>关系运算符>逻辑运算符
posted @ 2020-01-25 10:33  江寻  阅读(139)  评论(0)    收藏  举报