JAVA SE之常量、变量以及运算符的概念及运用

今日学习内容:

常量	
	常量的概述和使用
	进制概述和二,八,十六进制图解  
	不同进制数据的表现形式
	进制转化
	有符号数据表示法
变量
	变量的概述及格式
	数据类型的概述和分类
	数据类型转换之隐式转换
	数据类型转换之强制转换
运算符
	算术运算符
	赋值运算符
	关系运算符

2.13 常量的概述和使用

A:常量:程序的执行过程中其值不发生改变的量。
B:Java中常量的分类
(1):字面值常量
(2):自定义常量(面向对象部分讲解)
C:字面值常量的分类
(1): 字符串常量 用双引号括起来的内容 “HelloWorld” ,“Hello”
(2): 整数常量 所有整数 12,23
(3): 小数常量 所有小数 12.34,56.78
(4): 字符常量 用单引号括起来的内容 ‘a’,‘A’,‘0’ (注意事项:单引号中只能是单个字母,单个数字,单个符号)
(5): 布尔常量 只有true和false
(6): 空常量 null
D:案例演示
用输出语句输出各种常量。

2.14 不同进制数据的表现形式

A:二进制的数据表现形式
由0,1组成。 以0b开头(1.7版本开始的,b可大写)
B:八进制的数据表现形式
由0,1,…7组成。 以0开头
C:十进制的数据表现形式
由0,1,…9组成。 整数默认是十进制的
D:十六进制的数据表现形式
由0,1,…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)

2.15 原码反码补码的概述及转换

A:原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
B:反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
C:补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。

2.16 变量的概述及格式

A:什么是变量
在程序执行的过程中,在某个范围内其值可以发生改变的量(例如:苹果的价钱)
变量其实是内存中的一小块区域
B:为什么要定义变量
用来不断的存放同一类型的常量,并可以重复使用
C:变量的定义格式
数据类型 变量名 = 变量值 ;

2.17 数据类型的概述和分类

A:为什么有数据类型
变量其实就是内存中的一小块区域。我们定义一个变量,其实就是开辟了一个内存空间。
如果没有数据类型,那么我们需要开辟多大的内存空间合适呢?
为了解决这种问题,java就给我们提供了不同的数据类型,那么针对不同的数据类型,在内存中分配了不同大小的内存空间。
B:Java中数据类型的分类
(1): 基本数据类型
(2): 引用数据类型(后面讲解): 数组 , 类 , 接口
C:基本数据类型的详细讲解
(1): 数值型
整数型 字节数 范围
byte 1(8bit) -128 ~ 127
short 2(16bit) -2^15 ~ 2^15 - 1
int 4(32bit) -2^31 ~ 2^31 - 1
long 8(64bit) -2^63 ~ 2^63 - 1
浮点数
float 4(32bit) -3.40310^38 ~ 3.40310^38
double 8(64bit) -1.79810^308 ~ 1.79810^308
(2): 字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
(3): 布尔型 boolean 1

	使用变量的注意事项:
	(1):整数默认是int类型的 , 浮点数默认是 double类型的
    (2):变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
	(3):没有初始化值不能直接使用
	(4):在一行上建议只定义一个变量(可以定义多个,但是不建议)。

2.18 数据类型转换之隐式转换

Java中的默认转换规则
	(1): boolean类型不能转换为其他的数据类型
	(2): byte,short,char—int—long—float—double
	(3): byte,short,char之间不转换,他们参与运算首先转换为int类型
class  DataType{
	public static void main(String[] args) {
		
		byte a=1;
		short b=2;
		long c=1L;
		float f=1.0F;
		double t=3.14;
		//DataType.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
		//byte r=a+b; 
		double r=a+b+c+f+t;

		/*数据类型的隐式转换,当byte short char 的数据在参与运算时,会自动提升为 int类型,
		如果还有long,float double类型参与运算,则会相应的提升为 long float double

		byte short char 不参与转换
		*/



		System.out.println(r);


		long aa=1L;
		long bb=2L;
		double rr=aa+bb;
		System.out.println(rr);
	}
}

2.19 数据类型转换之强制转换

A:强制转换的格式
	 目标数据类型 变量名=(目标数据类型)(被转换的数据);
B:强制转换的注意事项
	尽量不要使用强制类型转化,因为可能存在损失精度的问题。
class  DataType2{
	public static void main(String[] args) {
		byte a=1;
		byte b=127;
		//强制类型转换,强制类型转换,就是把数据类型强制转换成我要的类型,但是有可能会发生精度损失的问题。
		//强制类型转换 会丢弃掉多余字节,所以有可能会发生精度损失的问题。

		  //00000000 00000011 补码 


		byte r=(byte)(a+b);

		System.out.println(r);
	}
}

2.20 变量相加和常量相加的区别

A:案例演示
	面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
	byte b1 = 3;
	byte b2 = 4;
	byte b3 = b1 + b2;
	byte b4 = 3 + 4;
B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
	可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。所以,Java中的字符可以存储一个中文汉字。

2.21 字符和字符串参与运算

A:案例演示
	System.out.println('a');
	System.out.println('a' + 1);
	
	通过看结果知道'a'的值是多少,由此引出ASCII码表
B:ASCII码表的概述
	记住三个值:
		'0' 48
		'A' 65
		'a' 97
class  Add{
	public static void main(String[] args) {
		//+ 加号有两种作用,一种就是充当相加的作用
		//还有一种作用可以充当拼接符来使用
          /*充当拼接符来使用:当+号的运算两端,只要任意一端,有字符串,就起连接符的作用,
		  把两端的内容连接起来形成一个新的字符串*/

		System.out.println(2+"abc"); //"2abc"
		System.out.println("abc"+10+2); //"abc10"+2   "abc102"
		System.out.println("abc"+"hehe"); //"abchehe"

		System.out.println("hello" + 'a' + 1); //"helloa"   "helloa1"
		System.out.println('a' + 1 + "hello"); //98  "hello"

		System.out.println("5+5="+5+5);  // "5+5=55" 


		System.out.println(5+5+"=5+5");  // =5+5

		int a=20;

		System.out.println(a);
		System.out.println("a的值是"+a);


	}
}

2.22 算术运算符的基本用法

A:什么是运算符
对常量和变量进行操作的符号称为运算符
B:运算符的分类
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符
C:算数运算符有哪些
+ , - , * , / , % , ++ , –
D:案例演示
算数运算符的基本用法

注意事项:
	a:整数相除只能得到整数。如果想得到小数,请使用浮点数
	b:/获取的是除法操作的商,%获取的是除法操作的余数
	  %运算结果的符号,取决于参与运算是左边的符号

2.23 算术运算符++和–的用法

A:++,–运算符的作用
自加(++)自减(–)运算
++:自加。对原有的数据进行+1
–:自减。对原有的数据进行-1
B:参与运算使用
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。

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

		//++ 自增1 -- 自身减去1
		//++ -- 单独使用你放在前或放在后面没有区别
		int i=1;
		//i=i+1; //i++
		i++;
		++i;
		--i;
		i--;
		System.out.println("i的值是"+i);
		
		//混合使用:++在前,先运算后使用,--在后,先使用后运算
		int j=1;
		int h=++j;
		System.out.println("j的值是"+j); //
		System.out.println("h的值是"+h); //


		int t=1;
			  //                             
		int k=1+(t++)-2+(++t)+10-(--t)+2+(t--)+5;

		System.out.println("k的值是"+k); // 20 
		System.out.println("t的值是"+t); // 1

		//ctrl+1 编译
		//ctrl+2 运行
	}
}

2.24 赋值运算符的基本用法

A:赋值运算符有哪些
=, +=,-=,*=,/=,%=
B:案例演示
赋值运算符的基本用法

注意事项:
	a:基本的赋值运算符:=
		把=右边的数据赋值给左边。
	b:扩展的赋值运算符:+=,-=,*=,/=,%=
		+= 把左边和右边做加法,然后赋值给左边。
	c: 赋值运算符要求左边的数据必须是一个变量

2.25 关系运算符的基本用法及其注意事项

A:比较运算符有哪些
== ,!= , < , > , <= , >= , instanceof(后面讲解)
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
“==“不能写成”=”。
B:案例演示
关系运算符的基本用法

class BJYSF {
	public static void main(String[] args) {
		//比较运算符 
		// = 和 == 的区别
		//== ,!= , < , > , <= , >= 
		// 比较运算符的运算结果是boolean类型的。
		boolean f=5<3;

		System.out.println("f:结果是 "+f);

		int a=20;
		int b=30;
		System.out.println(a==b);
		System.out.println(a==(b-10));

		System.out.println(a<=b);
		
		System.out.println(a!=b);

	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值