Java第一行代码和数据类型

Java第一行代码和数据类型

1. Java第一行代码

1.1 Notepad++准备
a. 设置 --> 首选项 --> 新建
	环境选择 windows 
	编码集 ANSI
b. 设置 --> 首选项 --> 自动完成
	全部反选
1.2 第一行代码
class FirstJava {
	public static void main(String[] args) {
		System.out.println("欢迎来到骚磊的课堂~~~");
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y6AJrSlq-1581427394819)(.\img\第一行代码细节.png)]

1.3 编译执行
javac 编译工具
	javac 源文件名.java
	例如:
		javac FirstJava.java 
		编译之后会生成一个 FirstJava.class文件,
		.class字节码文件,二进制文件,需要借助于JVM执行解释给CPU
		
java 执行工具
	java 类名
	例如:
		java FirstJava
		终端:
			欢迎来到骚磊的课题~~~
1.4 第一行代码出现的问题
1. 注意拼写错误!!!
	大小写错误,单词拼写错误
2. 标点符号问题
	Java代码中基本上所有的开发使用标点符号都是英文标点符号
3. 成双成对的标点符号一起写完
	{} [] () <> "" ''
4. 编码问题
	Notepad++ 编码 ==> 转为ANSI即可!!!

2. 代码规范【重点】

参考AJCG 阿里巴巴Java开发规约来完成的
2.1 标识符是什么
刘晓磊 骚磊 翘臀 46号技师 老骚猴 老骚

开发中标识符就是名字
	类名,方法名,变量名 
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字节
short 2字节
int 4字节
long 8字节
浮点型 占用内存空间大小 取值范围
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;
7.1 算术运算符
+ - * / % ()

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

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

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

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

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







发布了13 篇原创文章 · 获赞 3 · 访问量 268

猜你喜欢

转载自blog.csdn.net/weixin_46292175/article/details/104270232