2.JAVA基础(运算符)

1.强制转换

从大的数据类型到小的数据类型转换
格式:目标数据类型 变量 = (目标数据类型)(被转换的数据)

注意:不要随意的去使用强制类型转换因为他隐含了精度损失的问题

2.编码表

ASCLL:美国信息交换标准码表
对应着美国字符真实的存储值(字符对应的数字)
记住三个值a(97)A(65)0(48)

字符串数据和其他数据做 +,结果是字符串类型,这里的+不是加法,而是字符串连接符(拼接)

3.注意点总结

1.在定义long或者float类型变量的时候,要加L或者F
2.整数默认是int类型,浮点数默认是double
3.byte,short在定义的时候,他们接受的其实是一个int类型的值,但是他会做一个数据检测,如果超出了他们的范围就会报错
4.byte值超出范围可以进行强制,但会有精度损失,会轮回跑
5.默认转换:byte,short,char–int–long–float–double,因为他们底层存储结构不一样,float表示的数据范围比long范围要大
6.java语言中的字符char能存储一个中文汉字,因为java语言中字符占用两个字节,编码格式UNicode,用中文编码

4.运算符

就是对常量和变量进行操作的符号
分类:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三目运算符

算数运算符:+、-、*、/、%、++、- -

例:

public class OperatorDemo {
	public static void main(String[] args) {
		// 定义变量
		int x = 3;// 把3赋值给int类型的x变量
		int y = 4;

		System.out.println(x + y); // 7
		System.out.println(x - y); // -1
		System.out.println(x * y); // 12
		System.out.println(x / y); // 0.75
		// 整数相除只能得到整数
		// 如果我非要的到小数,只需要把操作的数据中任意一个数据变为浮点数
		System.out.println(1.0 * x / y);

		// %获取的是除法操作的余数(取余)
		System.out.println(x % y);// 3/4 3
		System.out.println(13 % 2);// 13/2 6 1

		// 不能被整除的就是本身
		System.out.println(5 % 2);// 商2 余1
		System.out.println(2 % 5);// 商0 余2
		System.out.println("-----------");

		// 如果出现负数,先不看负号,按照正数进行运算,被模数是正数就去正,反之取反
		System.out.println(2 % -5);// 2
		System.out.println(-2 % 5);// -2
		System.out.println(-2 % -5);// -2
		// 应用:任何数模2不是0就是1,奇数偶数判断,开关算法,不管这个数多大,我们可以使用模来控制在一个数内

		/*
		 * 总结+号操作:
		 * 加法,字符串连接符,正号
		 */
		System.out.println("-------------");
		// 加法
		System.out.println(3 + 4);
		// 字符串连接符
		System.out.println("1+1=" + 1 + 1);
		// 正号
		System.out.println(+4);
	}
}

++、- -运算符:
单独使用:放在操作数的前面和后面效果一样
参与运算使用:放在操作数前面,先自增或者自减,再运算
放在操作数后面,先运算,再自增或者自减
作用:就是对变量进行自增或自减1

5.赋值运算符

基本赋值运算符:=
把右边的数据赋值给左边
扩展赋值运算符:+=、-=、*=、%=
把右边的和左边的进行运算,然后赋值个左边

例:

public class OperatorDemo {
	public static void main(String[] args) {
		// 定义一个变量
		int x = 4;
		System.out.println(x);
		System.out.println("------");
		
		x += 5;
		System.out.println(x);
		System.out.println("----------");
		
		short y = 1;
		// y =1 + y;
		
		y += 1;
		System.out.println(y);
		/*
		 * 我们发现+=不会报错
		 * 因为扩展运算符其实隐含了一个强制类型转换
		 * 等价于y = (short)(y+1);
		 * */
	}
}

扩展运算符其实隐含了一个强制类型转换

6.比较运算符

比较运算符:==,!=,>,>=,<,<=
比较运算符的结果boolean类型
例:

public class OperatorDemo {
	public static void main(String[] args) {
		int x = 4;
		int y = 5;
		
		System.out.println(x == y);// false
		System.out.println(x != y);// true
		System.out.println(x <= y);// true
		System.out.println(x < y);// true
		System.out.println(x >= y);// false
		System.out.println(x > y);// false
	}
}

注意:两个等于比较运算符,一个等于赋值运算符

7.逻辑运算符

逻辑运算符:&(与)
|(或)
^(异或)
!(非)
&&(双与)
||(双或)
逻辑运算符用于连接布尔型的表达式
表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子

例:

public class OperatorDemo {
	public static void main(String[] args) {
		int a = 4;
		int b = 5;
		int c = 6;

		// &逻辑与:有false则false
		// 举例:爱情与金钱
		System.out.println((a > b) & (a > c));// false & false = false
		System.out.println((a > b) & (a < c));// false & true = false
		System.out.println((a < b) & (a > c));// true & false = false
		System.out.println((a < b) & (a < c));// true & true = true
		System.out.println("-----------------");
		
		// |逻辑或:有true则true
		// 举例:媳妇与媳妇的选择
		System.out.println((a > b) | (a > c));// false | false = false
		System.out.println((a > b) | (a < c));// false | true = true
		System.out.println((a < b) | (a > c));// true | false = true
		System.out.println((a < b) | (a < c));// true | true = true
		System.out.println("-----------------");
		
		// ^逻辑异或:相同为false,不同为true
		// 举例:谈恋爱
		System.out.println((a > b) ^ (a > c));// false ^ false = false
		System.out.println((a > b) ^ (a < c));// false ^ true = true
		System.out.println((a < b) ^ (a > c));// true ^ false = true
		System.out.println((a < b) ^ (a < c));// true ^ true = false
		System.out.println("-----------------");
		
		// !逻辑非:非false则true,非true则false
		// 举例:取反
		System.out.println(!(a > b));// false != true
		System.out.println(!(a > b));// false != true
		System.out.println(!(a < b));// true != false
		System.out.println(!(a < b));// true != false
		System.out.println("-----------------");
		
		// &&双与:有false则false,与&最终结果是一样的
		System.out.println((a > b) && (a > c));// false & false = false
		System.out.println((a > b) && (a < c));// false & true = false
		System.out.println((a < b) && (a > c));// true & false = false
		System.out.println((a < b) && (a < c));// true & true = true
		System.out.println("-----------------");
		
		int x = 4;
		int y = 5;
		// boolean b1 = (++x == 4 & y++ == 5);// 5 true & true 6
		boolean b1 = (++x == 4 && y++ == 5);
		System.out.println("x:"+x);// 5
		System.out.println("y:"+y);// 6 5
		System.out.println(b1);// false
		// &&具有短路效果,左边是false,右边就不执行,因为最终结果一定是false,||同理
	}
}

开发中常用的逻辑运算符:&&,||,!

8.三目运算符

(关系表达式)?表达式1:表达式2
关系表达式:结构就是boolean类型
执行流程:
根据关系表达式的计算返回一个true或者false
如果条件为true,运算后的结果就是表达式1
如果条件为false,运算后的结果就是表达式2
例:

public class OperatorDemo {
	public static void main(String[] args) {
		int x = 4;
		int y = 5;
		// 获取两个整数的最大值
		int z = x > y ? x : y;// false y 5 5
		// x > y 吗?
		// 如果大于结果为x
		// 否则为y
		System.out.println(z);

		// 比较两个整数是否相同
		boolean flag = x == y ? true : false;
		System.out.println(flag);
		
		// 获取三个整数中的最大值
		int a = 10;
		int b = 30;
		int c = 20;
		
		/*
		 * 需求:获取三个整数中的最大值
		 * 分析:
		 * 	a.先拿a和b进行比较
		 * 	b.拿a和b比较出来的最大值和c进行比较
		 * */
		int temp = a > b ? a : b;
		int max = temp > c ? temp : c;
		System.out.println("max:"+max);
		
		int max1 = a > b ? (a > c ? a : c) : (b > c ? b : c);
		System.out.println("max1:"+max1);
	}
}

9.键盘录入

键盘录入:为了让程序的数据更加灵动,java就提供了一个功能,就是键盘录入时间键盘录入数据分析:
1.需要使用一个方法nextInt()【键盘录入int类型的数据】
2.要使用这个方法有一个条件:需要通过对象去调用 方法,所以我们就要创建键盘录入对象(Scanner)
3.而这个对象又是jdk帮我们写好了,所以我们需要导包(把这个代码所在的文件导入过来)
实现键盘录入数据步骤:
1.导包:
格式:import java.util.Scanner;
2.创建对象
格式:Scanner sc = new Scanner(System.in);
3.调用方法
格式:int x = sc.nextInt();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值