2019.12.08数据类型和运算符

数据类型和运算符

一.数据类型:

1.整数型
	 * 整数:	内存			取值范围			注意点
	 * byte		1字节8位		-128---127		
	 * short	2字节16位	-32768---32767
	 * int		4字节32位	21亿多正负		java一个整数数字默认为int类型
	 * long		8字节64位					数据后加L/l 标识
	 * 字面值数据,程序中使用数据,有时会重复多次使用。或者 有时数据 来自于 用户的输入,使用 变量/常量 的 存放整个数据
	 * 变量和常量:本质上是一个数据的容器。
	 * 变量:存放的数据 可以在程序运行中 发生改变!  常量:里的数据 不能变 只能赋值一次!
	 * 变量和常量 也要 指定数据类型!
	 * 由小到大:byte<short<int<long  <float<double;
展示以下代码:
//声明int类型的变量   名字num
		int num;
		//初始化(第一次赋值)
		num = 100;
		System.out.println(num);
		//声明long型变量   名为number  ,  赋值1000l;
		long number = 123l;
		//定义long需要在后面数字后加字母'l'。
		System.out.println(number);
		//同时声明  相同类型的多个变量
		short b1 = 1, b2 = 2;
2.浮点数
	 * 浮点数:		内存		精度			注意点:
	 * float		4.32	7位左右		数据后必须加F/f
	 * double		8.84	15位左右		数据后可以加D/d ,java 中的小数  默认是double类型;
	 * 布尔:
	 * boolean  只有两种值:false 与 true;
展示以下代码:
		float fnum1 = 10.98f;
		final double PI =3.1415926;	
		//final 为定义常量;		
		float fnum2 = 1.123456789123456789f;//  定义float单浮点型变量时,小数后面必须加一个f
		double dnum1 = 1.123456789123456789;
		boolean bool1 = 10<9;
		
		//boolean 布尔类型只有true false两种
		
		System.out.println(fnum2);
		System.out.println(dnum1);
		System.out.println(bool1);
3.字符类型
	 * 字符类型  char : 2字节16位  表示  单个字符  使用''  又可以赋值为一个   编码值0-65535    char型也算个整数型!
	 * 字符串  String  表示 0-N 个字符组合在一起的序列  使用""
	 * 计算计使用二进制的10组合来存放任何数据   包括  a-z  0-9  各种符号    汉字  .....
	 * 编码:使用什么样的10的二进制组合  来  存放  哪个字符 , 国家和地区  形成  编码集。
	 * GBK  GB18030  GB2312  ASCII(256)  iso-8859-1  Unicode(万国码  一开始的256个字符  采用 ASCII)
	 * 小写a   对应  97   大写A   对应65     0对应48
	 * Unicode:65536字符  0-65535
	 * 解码:计算机按照编码集   把 10的二进制组合  显示为哪个字符。
展示以下代码:
char c1='a';
		char c2=97;
		System.out.println(c1);
		System.out.println(c2);

输出结果:
a
a

4.类型大小比较及类型转换
	 * 由小到大:byte<short<int<long  <float<double;
	 * 				char < int < long < float < double
	 * 注意点1: byte  short char 在两两运算后  结果被提升为int 型
	 * 注意点2: 小类型和大类型在一起运算之后  结果是大类型
	 * 注意点3:char 和 short  互相赋值  都需要强制类型转换
展示以下代码:
		int num;
		num = 100;
		double d=10.0;
		d=num; //小给大   自动类型转换
		System.out.println(d);
		//类型大的   赋给  类型较小的
		long number = 123l;
		//定义long需要在后面数字后加字母'l'。
		byte bb = (byte)number;//大给小   非要赋值   需要强制类型转换(强制转为字节型)
		System.out.println(bb);
		//注意点1: byte  short char 在两两运算后  结果被提升为int 型
		short b1 = 1, b2 = 2;
		short b3 = (short) (b1+b2);
		System.out.println(b3);
		//注意点2: 小类型和大类型在一起运算之后  结果是大类型
		int a = 100;
		double dou=1.234;
		int result = (int) (a+dou);
		System.out.println(result);
		//注意点3:char 和 short  互相赋值  都需要强制类型转换

输出 结果:
100.0
123
3
101

来一个小作业测试下:
打印 “你喜欢”的整型数值:

展示两种方法:
第一种:

		char c1= '你',c2='喜',c3='欢';
		int a1=c1,a2=c2,a3=c3;
		System.out.println(a1);
		System.out.println(a2);
		System.out.println(a3);

第二种:

		int c4='你',c5='喜',c6 = '欢':
		System.out.println(c4);
		System.out.println(c5);
		System.out.println(c6);

二.运算符:

1.算数运算
	 * 算数运算,比较运算   逻辑运算   赋值    位   三目  ....
	 * 算数: +  -  *  /  %  ++  --
展示以下代码:
		int a=10;
		String str = "78566";
		int b = 20;
		System.out.println(a+b+str);//+  表示拼接
		System.out.println(a+str+b);
		System.out.println(str+a+b);

输出:

3078566
107856620
785661020

小测试:
看一段代码 判断输出结果:
代码如下:

		int c=10;
		int w=c++;
		System.out.println("c="+c);
		System.out.println("w="+w);//+ 表示拼接
		int ppp=10;
		int vvv = ++ppp%3 + ppp++/2;
		System.out.println("ppp="+ppp);
		System.out.println("vvv="+vvv);

答案:

c=11
w=10
ppp=12
vvv=7

2.比较 条件运算
	* 比较 条件运算 , 运算结果是boolean , 一般作为 分支或循环的条件!
	* > >=  <  <=  ==  !=
	* 比较两个字符串 之间的字符是不是一样的 使用一个 方法 equals    字符串1.equals(字符串2);且返回值为布尔型;
展示以下代码:
		int a = 10, b = 20;
		boolean bool1 = a>=b;
		boolean bool2 = a==b;
		System.out.println(bool1+","+bool2);
		
		//以上一般用于基本数据类型的比较;
		//比较两个字符串 之间的字符是不是一样的 
		
		String str1 = "abc1";
		String str2 = "abc1";
		System.out.println(str1.equals(str2));
		
		//也可定义一个布尔型变量接收返回值;
		
		boolean bool3 = str1.equals(str2);
		System.out.println(bool3);

输出:

false,false
true
true

3.逻辑运算
	 *逻辑运算:对boolean值的运算,运算结果也是boolean
	 * 与: 并且 , &  ,串联
	 * 或: 或者 , |  ,并联
	 * 非:取反 , !  
	 * 异或:两个值不一致则为真,  符号:^
	 * 短路与   并且   &&
	 * 短路或   或者   ||
展示以下代码:
		//声明boolean类型的变量(数据容器)  初始化(第一次赋值)为true
		boolean b1 = true;
		boolean b2 = false;
		boolean b3 = 10!=10;
		System.out.println(b1&b2);
		System.out.println(b1|b3);
		System.out.println(!b1);
		
		int a = 10;
		//&&: 短路与 , 当前面的条件是false,整体结果就已经是false,后面再多的条件也不会执行!
		boolean bool = (a++%2!=0) && a++>0;
		System.out.println(a);
		// ||:短路或,当前面的条件是true,整体结果就已经是true,后面再多的条件也不会执行!

输出结果:

false
true
false
11

做一个小测试:
判断以下代码的输出结果:

		int b = 10;
		boolean dool = ++b<5 || ++b >10 || ++b > 9;
		System.out.println(b);

输出结果:

12

本博客仅用于记录自己的eclipse的学习以及自己点滴的成长,加油!!!!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值