学习Java第二天:代码规范、标识符、变量、基本数据类型、运算符

Java第一行代码和数据类型

1. Java第一行代码

1.1 Notepad++准备
a. 设置 --> 首选项 --> 新建
	环境选择 windows 
	编码集 ANSI
b. 设置 --> 首选项 --> 自动完成
	全部反选(训练写代码能力)
1.2 第一行代码
class FirstJava {
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}
1.3 编译执行
javac 编译工具
	javac 源文件名.java
	例如:
		javac FirstJava.java 
		编译之后会生成一个 FirstJava.class文件,
		.class字节码文件,二进制文件,需要借助于JVM执行解释给CPU
		
java 执行工具
	java 类名
	例如:
		java FirstJava
		终端:
			HelloWorld
1.4 第一行代码出现的问题
1. 注意拼写错误!!!
	大小写错误,单词拼写错误
2. 标点符号问题
	Java代码中基本上所有的开发使用标点符号都是英文标点符号
3. 成双成对的标点符号一起写完
	{} [] () <> "" ''
4. 编码问题
	Notepad++ 编码 ==> 转为ANSI即可!!!

2. 代码规范【重点】

参考AJCG 阿里巴巴Java开发规约来完成的
2.1 标识符是什么
开发中标识符就是名字
	类名,方法名,变量名 
2.2 AJCG【重点】
1. 标识符可以使用的字符范围,英文字母(A ~ Z a ~ z) 数字(0 ~ 9) 唯一可以使用的标点符号 _ 
2. 标识符要求必须英文字母开头
3. 标识符严格区分大小写,大写A和小写a完全不一样!
4. 标识符没有严格的长度限制,但是会根据实际需求来限制标识符的长度
5. 标识符组需要做到见名知意,动宾结构!!!
	规范格式
		studentAge studentScore 见名知意
		getStudentAge setStudentAge 动宾结构
		title logo banner
		payTime
		
	不允许格式:
        int a, b, c, d, e, f, g;
        img0 img1 img2 img3 img4 img5
        payBeizhu 不允许
        tsgly 图书管理员!!! 不允许

6. 推荐使用驼峰命名法和下划线命名法
	小驼峰命名法:【适用于 变量名,方法名】
		标识符首字母小写,之后的每一个单词首字母大写
		studentAge studentScore 见名知意
		getStudentAge setStudentAge 动宾结构
		iPhone iMac iTouch 
	大驼峰命名法:【适用于 类名,接口名】
		标识符所有的单词首字母全部大写
		FirstJava String
	下划线命名法:
		所有的字母都是大写的情况下,为了区分单词直接的间隔,使用下划线命名法
		JAVA_HOME CLASS_PATH
		DEFAULT_CAPACITY

7. 已经被Java使用的关键字和保留字不得用于自定义标识符使用
	变色的不能使用,大写开头的不能使用

3. 变量【重点】

3.1 基本定义
a. 变量是定义在计算机内存中
	1. 明确的数据类型
	2. 明确的变量名
	3. 明确的对应数据
b. 基本的定义格式
	1. 
		数据类型 变量名;
		
		变量名 = 对应数据类型的值; = 赋值
	2.
		数据类型 变量名 = 对应数据类型的值;
c. 变量分类
	a. 基本数据类型
		八大基本数据类型
			整数
			小数
			布尔
			字符
	b. 引用数据类型
		字符串
		数组
		对象
3.2 基本数据类型
整型 占用内存空间大小 取值范围
byte 1字节 8bit -128~127
short 2字节 16bit -2^16 ~ 2^16-1
int 4字节 32bit -2^32 ~ 2^32-1
long 8字节 64bit -2^64 ~ 2^64-1
浮点型 占用内存空间大小 取值范围
float 4字节 10^38
double 8字节 10^308
布尔类型 占用内存空间大小 取值范围
boolean 1字节 true/false
字符型 占用内存空间大小 取值范围
char 2字节 能够保存中文
3.3 定义变量的第一行代码
class VariableTest {
	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 = 0.618;
		
		/* 浮点型变量展示 */
		System.out.println(floatNumber);
		System.out.println(doubleNumber);
		
		/* 
		字符型变量 
		字符常量:
			单引号包含的单个元素 'a'
		*/
		char ch1 = 'A';
		char ch2 = '中';
		
		/* 字符型变量展示 */
		System.out.println(ch1);
		System.out.println(ch2);
		
		/* 布尔类型 */
		boolean ret1 = true;
		boolean ret2 = false;
		
		/* 布尔类型变量展示 */
		System.out.println(ret1);
		System.out.println(ret2);
		
		// int num;
		// System.out.println(num);
		
		// num = 10;
	}
}
3.4 定义变量的问题总结
3.4.1 数据类型不兼容问题
VariableTest.java:16: 错误: 不兼容的类型: 从double转换到float可能会有损失
                float floatNumber = 3.14;
                                    ^
1 个错误

计算机为了保证数据的精度,同时为了数据后期的延展性,会默认把所有的小数都认为是double类型,double占用的内存空间是8字节,而float是4字节,会报错。这里需要告诉计算机3.14是一个float类型,在小数之后加上一个大写F
	修改:
		float floatNumber = 3.14F;
3.4.2 long类型变量赋值操作要求
【要求】
	给予long类型的数据需要在常量之后加上一个大写L,明确告知计算机这里使用的是一个long类型数据
	修改:
		long longNumber = 40L;
3.4.3 Java中变量未赋值不能使用
VariableTest.java:44: 错误: 可能尚未初始化变量num
                System.out.println(num);
                                   ^
1 个错误

Java中规定,一个变量在没有被赋值的情况下,不能参与除赋值之外的其他任何操作。
避免了没有必要的野值问题。
3.4.4 未定义不能使用
VariableTest.java:46: 错误: 找不到符号
                num = 10;
                ^
  符号:   变量 num
  位置: 类 VariableTest
1 个错误

Java中规定,变量未定义不能使用
必须先定义,后使用

4. 字符

4.1 字符常量基本概念
英文单引号包含的单个元素
4.2 转义字符
\ 转义字符标记
将带有特定含义字符转换为无意义字符
或者把无意义字符,转换成带有一定含义字符

常用:
	\'
	\"
	\n 回车
	\t tab键 制表符

转义字符有且只能处理一个字符
	\\ 表示一个反斜杠
	\\\\ 表示两个反斜杠
4.3 字符常量使用要求
有且只允许使用字符本身!!!
	'A' 'a'

优势:
	1. 阅读性好
	2. 保证数据类型一致化
	3. 减少了没有必要的歧义

5. 字符串【初次相识】

5.1 字符串数据类型
字符和字符串什么关系?
	羊肉和羊肉串关系就可以认为是字符和字符串的关系
字符串特定标记
	"" 英文双引号包含的所有内容都是字符串本身,并且是一个常量,不可以修改
String字符串数据类型

6. 类型转换【了解】

6.1 自动类型转换
小数据类型转换到大数据类型
6.2 强制类型转换
强制类型转换,是从大数据类型到小数据类型的转换过程。
double类型数据保存到int类型,这里需要强制类型转换
格式:
	double num1 = 3.5;
		
	// 这里存在数据精度丢失,并且是不可以逆
	int num2 = (int) num1;
	
【个人建议】
	对于基本数据类型的强制类型转换,个人不建议使用,这里会导致数据精度的丢失,并且有可能导致其他问题。
	
	强制类型转换在面向对象开发中,可以用来操作对象直接的关系

7. 运算符

7.1 算术运算符
+ - * / % ()

1. 从左至右计算
2. 先乘除后加减
3. 有括号先处理括号里面的内容
4. 除数不能为0

% 
7 ÷ 3 = 2 …… 1
2 相除的结果
1 是余数

优先级问题:
	简单粗暴加括号

= 赋值号
	作用是将赋值号右侧的数据,赋值给左侧的【变量】

算术运算符优化
	+=, -=, *=, /=, %=
例如:
	int num1 = 10;
	int num2 = 20;
	
	num2 = num1 + num2; ==> num2 += num1;

8. 作业

1. 代码写三遍,注意代码格式
2. 打字练习
发布了3 篇原创文章 · 获赞 0 · 访问量 22

猜你喜欢

转载自blog.csdn.net/ndphgg/article/details/105547309