Java基础--第二天 :常量,变量和运算符

常量,变量和运算符

1. 数据存储 [了解]
1.1 数据存储单位
比特 比特率 1bit

计算机中的最小单位是 byte 字节 1byte ==> 8bit 
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB 2004 淘宝网每天数据量 50PB
1024PB = 1EB

在一些存储设备上采用的进制单位是1000,并且在macOS系统中采用的进制单位也是1000

云栖大会
	阿里云每年都会举行
	马云爸爸 得数据者得天下
1.2 数据存储方式[了解]
为了简化计算机的运行逻辑复杂度,所有数据的存储方式都是采用对应的补码方式来存储

二进制的方式来完成的
二进制使用在Java开发中要求实际上没有那么高
完全使用Windows系统中自带的计数器来完成

使用正整数和负整数来演示原码,反码和补码的问题

110(10)
	二进制 0110 1110
	正整数的原码,反码和补码是一致的‬

-110(10)
	获取负整数的原码
	原码:
		获取对应正整数的原码
		0110 1110 最高位表示符号位 改为 1 ==> 1110 1110
	反码:
		符号位除外,其他位按位取反
		1110 1110 ==> 1001 0001
	补码: [保存在计算机中的形式]
		反码 + 1
		1001 0001 + 1 ==> 1001 0010
		
		0110 1110
		1001 0010
	   1 0000 0000
	  
二进制
 	0 1
八进制
	八进制数开头是0开头【有些情况可以省略】
	 0 ~ 7
十进制
 	0 ~ 9
十六进制
	十六进制数开头是0x开头
	ABCDEF 0 ~ 9
2. 常量【伪重点】
2.1 生活中的常量
穷
数值
一小时60分钟
一分钟60秒
π 3.1415926

语句
北国风光,千里冰封,万里雪飘

文字
你我他 ABCDE 12345 

常量思想拓宽,不要认为只有数据,数值,文字,语句,状态。。。
2.2 开发中使用到的常量
数值
	整数 1 2 3 4 -10 -20 -30
	小数(浮点数) 3.14 0.618
文字(字符)
	'我' '你' '他' 'A' 'B' 'C'
	【要求】
		使用【英文单引号】包含的【单个元素】
字符串
	"我想吃羊肉串,烤羊排,烤羊腿"
	"fdafdafdasf"
	"" 这是空字符串
    【要求】
		使用【英文双引号】包含的所有内容都是字符串
布尔值
	真假关系
	boolean
	true 真
	false 假
2.3 字符常量
2.3.1 编码集
GB2312 老国标,支持中文简体字和一部分少数民族文字
GBK 新国标,支持中文简体字和所有国内少数民族文字 是Windows操作系统中文版默认的编码集
BIG5 支持中文繁体字编码,主要用于中国澳门,中国香港,中国台湾和新加坡
UTF-8 万国码 支持地球上所有的现行文字 也是我们要求的开发中所有的编码集 Java HTML MySQL

ASCII编码 美国什么什么标准协会制定的编码集

【强制要求】
	在开发中任何地方使用到字符常量,只允许使用字符本身,不允许出现使用编码值的情况。
	

在这里插入图片描述

在这里插入图片描述

2.3.2 转义字符 [了解]
把带有含义是字符,转换成无意义字符,
把无意义字符,转换为带有含义的字符

例如:
	"" '' 带有特定含义的字符
    \"
    \' 转换成一个无意义字符

例如:
	\n
	\t
	
问题:
	\ 算不算有意义字符,我希望在字符串中看到一个\ 如何完成?
	\\ 一个 \
	\\\\ 获取两个 \\
	转义字符有且只能转义 \ 之后的第一个字符

2.3.3 来自2015年的面试题【遇到这个人,XXX】
问:
	\40 是什么?
	考点:
		1. \ 之后可以使用数字
		2. \ 之后的数字默认是 八进制
		3. \ 之后的数字可以不使用0表示八进制
		4. \ 之后写数字是对应ASCII中的八进制码表
	
	\40 ==> sp 空格
3. 变量【伪重点】
3.1 生活中的变量
时间 温度 体重 头发 速度 身高 年龄
状态更改

变量在开发中的作用是用于保存在代码中运行需要保存的数据。
3.2 数据类型【重点】
整型占用内存空间大小数值范围
byte1字节(8bit)-128 ~ 127
short2字节(16bit)-32768 ~ 32767
int4字节(32bit)± 2 ^ 31
long8字节(64bit)±2 ^ 63
浮点型占用内存空间大小数据范围
float4字节(32bit)± 3.4 * 10 ^ 38
double8字节(64bit)10^308
布尔类型占用内存空间大小数据范围
boolean视情况而定true false
字符型占用内存空间大小数据范围
char2字节(16bit)可以保存中文
3.3 定义变量的格式【伪重点】
Java中定义变的基本格式;
	数据类型 变量名 = 初始化数据;

数据类型:
	目前可以采用八大基本数据类型 byte short int long float double char boolean
变量名:
	是当前操作变量使用的名字,是非常重要的,而且具有一定的唯一性
= :
	赋值号,作用 把赋值号右侧的数据赋值给左侧的【变量】
初始化数据:
	给予当前变量一个基本数据,保证程序可以正常运行。这里会根据数据类型来选择合适的数据
3.4 代码演示变量的基本使用
class Demo3 {
	public static void main(String[] args) {
		/*
		数据类型 变量名 = 初始化数据;
		*/
		// 整型变量
		byte byteNumber = 10;
		short shortNumber = 20;
		int intNumber = 30;
		long longNumber = 40L;
		
		System.out.println(byteNumber);
		System.out.println(shortNumber);
		System.out.println(intNumber);
		System.out.println(longNumber);
		
		// 浮点型变量
		float floatNumber = 3.14F;
		double doubleNumber = 3.14;
		
		System.out.println(floatNumber);
		System.out.println(doubleNumber);
		
		// 字符型变量
		char ch = 'A';
		char ch1 = '我';
		char ch2 = '*';
		
		System.out.println(ch);
		System.out.println(ch1);
		System.out.println(ch2);
		
		// 布尔类型变量
		boolean ret1 = true;
		boolean ret2 = false;
		
		System.out.println(ret1);
		System.out.println(ret2);
		
		/*
		变量名命名冲突问题
		int ret1 = 10;
		System.out.println(ret1);
		*/
		
		/*
		数据类型一致化问题
		ret1 = 10;
		*/
		
		/*
		变量未定义不能使用
		tsgly = 10;
		*/
		
		/*
		Java中的变量未赋值情况下不能参与操作
		int num;
		System.out.println(num);
		*/
	}
}
3.5 变量定义问题总结
3.5.1 数据类型一致化要求
Demo3.java:18: 错误: 不兼容的类型: 从double转换到float可能会有损失
                float floatNumber = 3.14;
                                    ^
1 个错误

3.14是一个小数(浮点数),在Java语言中,会认为当前3.14是一个double类型,因为这里只考虑数据的保存精度,以及后期使用的延展性,但是给予赋值的变量是一个float类型,这里需要告知Java编译器,3.14是一个float类型。在3.14之后加上一个大写F
	float floatNumber = 3.14F;

这里也是为了保证数据类型一致化要求,在赋值long类型变量时,会在赋值long类型变量的常量之后加上一个大写的L,告知编译器当前的常量的数据类型是一个long类型
3.5.2 命名冲突问题
在同一个代码块中不能出现相同的变量名
变量名定义有且只能使用一次!!!
3.5.3 数据类型一致化问题
一个变量在定义时确定了数据类型就不能
使用其他数据类型的数据赋值操作。保证数据类型一致化
3.5.4 变量未定义不能使用
在Java中要求变量是先定义后使用,未定义不能使用
3.5.5 Java中的变量未赋值情况下不能参与操作
定义基本的变量使用的内存空间中数据情况不明确,Java中为了避免没有必要的【野值问题】,直接强制要求变量未进行赋值操作不能参与其他运行,这是一个非常严谨的操作!!!
【补充知识点 命名规范 强制要求】
参考的依据是 AJCG 阿里巴巴Java开发规约

邮箱
	6~18个字符,可使用字母、数字、下划线,需以字母开头

规范:
	1. 在Java开发中可以使用的标识符字符范围数字(0 ~ 9),英文字母(a ~ z, A ~ Z),和唯一可以使用的标点符号 下划线 _
	2. 所有的标识符要求使用英文字母开头
	3. 标识符严格区分大小写 a A
	4. 标识符没有严格的长度限制,但是会根据当前实际使用要求限制对应的标识符长度
	5. 标识符要求见名知意,动宾结构【重中之重】
		int a, b, c, d, e, f, g;
		
		indexLogo.jpg goodsBanner.jpg
		img1.jpg img2.jpg img3.jpg img4.jpg
		
		huoQuXueShengDeNianLing 不能!!!
		HQXSDNL 不能!!!
		tsgly图书管理员 不能!!
		
		payTime
		payBeiZhu 不能
		要求全部使用英文,并且不能使用简拼
		
		标准命名规范
		ageOfStudent studentName studentId
		getStudentName setStudentName
	6. 推荐使用驼峰命名法和下划线命名法
		驼峰命名法
			小驼峰
				标识符首字母小写,其他单词首字母大写
				适用于: 变量名 方法名
				ageOfStudent studentName studentId
				getStudentName setStudentName
				iPhone iPad iMac iTouch Apple Watch
			大驼峰
				要求所有的字母全部首字母大写
				适用于: 类名 或者 接口名
				String FirstJava Demo1 TestServlet
			下划线命名法
				请听下回分解
	7. 不能使用Java中已经被占用的关键字和系统保留字
		代码中变颜色的都不能使用
4. 运算符
4.1 算术运算符
+ - × ÷ ()
1. 先乘除后加减
2. 有括号先处理括号里面的内容
3. 从左到右
4. 除数不能为0

7 ÷ 2 = 3 …… 1

+ - * / () %

+=  -=  *=  /=  %=

num1 = num1 + num2;
num1 += num2;
4.2 关系运算符
判断关系运算符两边的数据是否满足当前需求,满足结果为true 不满足为false
    
> < >= <= != ==

如果需要使用 == 判断数据,最好常量在前,变量在后
num == 10
10 == num 【墙裂推荐】

变颜色的都不能使用


##### 4. 运算符

###### 4.1 算术运算符

    • × ÷ ()
  1. 先乘除后加减
  2. 有括号先处理括号里面的内容
  3. 从左到右
  4. 除数不能为0

7 ÷ 2 = 3 …… 1

      • / () %

+= -= *= /= %=

num1 = num1 + num2;
num1 += num2;


###### 4.2 关系运算符

判断关系运算符两边的数据是否满足当前需求,满足结果为true 不满足为false

< >= <= != ==

如果需要使用 == 判断数据,最好常量在前,变量在后
num == 10
10 == num 【墙裂推荐】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值