Java入门第二天-Java第一行代码,常量和变量

Java第一行代码,常量和变量

1. Notepad++准备

在这里插入图片描述
在这里插入图片描述

2. Java第一个行代码【重点】
2.1 FirstJava.java
class FirstJava {
	public static void main(String[] args) {
		System.out.println("欢迎来到骚磊Java课堂");
	}
}
2.2 编译执行代码
编译Java代码使用的工具
	javac.exe 编译.java文件使用的工具,
		.java文件 ==> 编译 ==> .class文件(字节码文件)
		.class是交给JVM(Java虚拟机)运行使用

执行Java程序使用的工具
	java.exe 执行.class字节码文件运行Java程序
	
【重点 格式】
	编译Java代码
		javac FirstJava.java 
		==> javac XXXXX.java文件
	执行Java代码对应的.class字节码文件
		java FirstJava

在这里插入图片描述

2.3 常见问题
1. 切记养成习惯!!!
	class之后的名字和文件名一致,并且一定要保存成.java文件
2. 拼写错误!!!
	大小写,单词错误
3. 标点符号错误!!!
	中英文符号,或者说漏掉一些标点符号,所有的成双成对标点符号一次写完
	() [] {} "" '' <>
4. 记得保存!!!
5. 记得保存之后重新编译!!!
6. 编译之后检车有没有对应的.class文件
3. 计算机中的存储
3.1 计算机数据存储单位
计算机中最小存储单元是【字节】 byte
	一个字节对应8个bit位,8个二进制位 01011010
	
1024 Byte ==> 1 KB
1024 KB ==> 1 MB
1024 MB ==> 1 GB
1024 GB ==> 1 TB
1024 TB ==> 1 PB
1024 PB ==> 1 EB

50PB的数据有用吗???
	马云爸爸 2017云栖大会 得数据者得天下
	用户画像
3.2 进制关系
十进制 十二进制 二十四进制 六十进制 七进制

开发中使用的进制:
	二进制 八进制 十进制 十六进制
进制基数范围进制关系
二进制0,1逢二进一
八进制0~7逢八进一
十进制0~9逢十进一
十六进制0~9 A~F逢G进一
转换过程:
	十进制转二进制
		112 ==> 0111 0000(2)
		除二取余倒叙
		 56 0
		 28 0
		 14 0
		  7 0
		  3 1
		  1 1
		  0 1
	二进制转十进制
		1011 1110 ==> 190(10)
		128
		32
		16
		8
		4
		2
		
	十六进制的一位 ==> 对应二进制四位
	八进制的一位 ==> 对应二进制的三位

十六进制展示:
	0x 或者 0X 开头
	0x1234 0X1234
	0xabcd <==> 0xABCD

八进制展示
	0开头
	01234 077
3.3 原码反码和补码[了解]
目的:
	原码,反码和补码的使用是用来解决计算机运行逻辑复杂度

正整数和负整数来演示原码,反码和补码
	正整数:
		原码,反码和补码是一致的,都是对应当前正整数的二进制展示方式
		123 ==> 0111 1011(2)
		原码 0111 1011
		反码 0111 1011
		补码 0111 1011
	
	负整数:
		-123
		原码:
			对应正整数二进制展示方式,但是最高位表示符号位,占位为1
			-123 ==> 0111 1011 ==> 1111 1011(2)
		反码:
			按位取反,但是符号位不变
			1111 1011 ==> 1000 0100(2)
		补码:
			反码 + 1
			1000 0100 + 1 ==> 1000 0101(2)
	
	123 ==> 0111 1011 
   -123 ==> 1000 0101 
   ----------------------
          1 0000 0000 ===> 0 (1 舍去)
4. 常量【伪重点】
4.1 生活中的常量
那些内容我们可以认为是常量???
	数值
		π E C G 
	文本
		先帝创业未半...
		北国风光,千里冰封
	文字
		A B C D 
		你 我 他
		1 2 3 
	
常量在生活中就是不能发生改变的量
	数值,文本,文字....
	
	开发来源于生活,最终高于生活,反馈于生活
4.2 开发中使用的常量
代码运行的过程中不会发生改变的数据就是常量!!!

开发中使用的常量
	整数
		1 2 3 4 5 
		-1 -2 -3 -4 -5
	小数(浮点型)
		3.14 0.618 9.8 1.0 0.0
	布尔类型(boolean)
		true 对/真  false 错/假
	字符常量
		【重点】
			使用【英文单引号】包含的【单个元素】
			'A' 'B' 'C' 'a' 'b' 'c'
            '你' '我' '他' '1'
            '123' 啥也不是 
			
	字符串常量
		【重点】
			使用【英文双引号】包含的所有内容
			"骚磊的锤子最骚..."
			"壮哉我大中华..."
			"1"
4.3 代码演示常量使用
class Demo1 {
	public static void main(String[] args) {
		/* 整数常量 */
		System.out.println(100);
		System.out.println(-100);
		
		/* 浮点数常量 */
		System.out.println(3.14);
		System.out.println(0.618);
		
		/* 布尔类型 */
		System.out.println(true);
		System.out.println(false);
		
		/* 字符常量 */
		System.out.println('A');
		System.out.println('1');
		System.out.println('a');
		
		/* 字符串常量 */
		System.out.println("条条大路通罗马");
		System.out.println("今日河南新冠肺炎清零");
	}
}
4.4 字符常量相关知识点
4.4.1 编码集
GB2312老国标
	支持中文简体字和一部分少数民族文字
GBK 新国标
	支持中文简体字和少数民族文字
UTF-8 万国码
	支持世界上通用文字,也是后期开发中会使用的到的编码
	JavaWEB项目 HTML前端页面 数据库软件编码集全部都是对应的UTF-8
BIG5 
	中文繁体字编码,主要流行于中国香港,中国澳门,中国台湾省,新加坡
ASCII码
	美国XXXXX协会制定的一个标准编码
	关注点:
		1. 大写英文字母编码集编号是小于小写字母
		2. 大写小写字母之间非连续
		3. 0 ~ 31字符是不可见字符 
		4. 【重点】任何时候使用字符常量有且只能是'字符本身'
		'A' true
		65 false

在这里插入图片描述
在这里插入图片描述

4.4.2 转义字符[了解]
代码中有些标点符号有特殊含义
	" ' 如果需要在代码中使用到" '作为其他操作,这里需要使用 \ 做转义字符

代码中也存在一些本身没有含义的字符,通过 \ 转义之后,变成有一定含义的字符
	\n 回车
	\t 制表符
	\r 换行
4.5 常量使用总结
	常量在代码中是无法修改的量,主要功能是提供给程序运行使用的数据,存在整数,小数,真假关系(布尔类型),字符常量,字符串常量。
	【重点】
		字符使用不允许使用字符对应的编码,有且只能使用字符本身!!!
5. 变量【伪重点】
5.1 生活中的变量
时间,温度,电量,发量,音量.....

变量特征:
	1. 可变性
	2. 存在一定的计量单位
	3. 会存在一个名字用来称呼
5.2 Java中定义变量的格式规范
规范:
	数据类型 变量名 = 对应数据类型的初始化数据;

数据类型:
	告知开发者,编译器,当前变量中保存的数据类型是什么?
	【数据类型一致化】

变量名:
	对于当前变量的称呼,可以更好的使用当前变量

=:
	赋值号!!!赋值号右侧的数据,赋值给左侧的【变量】

对应数据类型的初始化数据:
	考虑数据类型一致化的情况下,给予当前变量一个初始化数据。
5.3 数据类型【重点】

八大基本数据类型!!!

5.3.1 整型
整型占用内存空间大小数据范围
byte1字节(8bit)-128 ~ 127
short2字节(16bit)-32768 ~ 32767
int4字节(32bit)-2^31 ~ 2^31 - 1
long8字节(64bit)-2^63 ~ 2^63 - 1
5.3.2 浮点型
浮点型占用内存空间大小数据范围
float4字节(32bit)±3.4*10^38
double8字节(64bit)±10^308
5.3.3 字符型
字符型占用内存空间大小数据范围
char2字节(16bit)能够保存中文
5.3.4 布尔类型
布尔类型占用内存空间大小数据范围
boolean视情况而定true,false
5.4 变量名/标识符规范【重点】
在注册邮箱时,可以发现邮箱中有要求
	6~18字符,可以使用字母,数字,下划线,要求必须是字母开头

以下规范参考AJCG 阿里巴巴Java开发手册,码出规范,码出高效。

什么是标识符
	程序员自己对于代码中一些内容起的名字,变量名,方法名,类名...
	
规范
	1. Java中的标识符有且只能使用英文字母(A ~ Z a ~ z), 数字(0 ~ 9) 以及唯一可以使用的标点符号 下划线_ 。其他任何字符都不可以使用!!!
	2. 标识符要求英文字母开头。
	3. 标识符没有严格的长度限制,但是会根据实际的使用情况来约束标识符长度
	4. Java中的标识符严格区分大小写
	5. 标识符要符合【见名知意,动宾结构】
		推荐方式
			getStudentAge setStudentAge
        	studentScore studentGender
        不允许
        	lg lp yy nn ez gjz 采用拼音简写是不允许的!!!
        	laoGong 不行!!!
        
        	payTime peyBeiZhu 不允许!!!
	6. 标识符要求符合一定的命名要求
		a. 驼峰命名法:
			小驼峰
				一般用于变量名,方法名
				首字母小写,之后的每一个单词首字母大写
				getStudentAge setStudentAge
        		studentScore studentGender
			大驼峰
				一般用于类名,接口名
				所有单词首字母大写
				FirstJava Demo1 Person UserService
				StudentDao
				
		b. 下划线命名法:
        	一般用于Java中的常量
        	MAX_VALUE  最大值
        	DEFAULT_CAPACITY 默认容量
        	
	7. Java中已经被占用的关键字和保留字不能用于自定义标识符
		变颜色的都不可以使用
5.5 Java中定义变量使用
5.5.1 整型变量演示
/* 整型变量演示 */
class Demo3 {
	public static void main(String[] args) {
		/* 数据类型 变量名 = 初始化数据; */
		// 变量定义一行只定义一个,并且初始化操作
		
		byte byteNumber = 10;
		short shortNumber = 20;
		int intNumber = 30;
        // 40L是告知编译器这里是一个long类型
		long longNumber = 40L;
		
		// 使用对应变量,直接使用变量名即可!!!
		System.out.println(byteNumber);
		System.out.println(shortNumber);
		System.out.println(intNumber);
		System.out.println(longNumber);
	}
}
5.5.2 浮点型变量演示
/* 浮点型变量演示 */
class Demo4 {
	public static void main(String[] args) {
		float floatNumber = 3.14F;
		/*
		Demo4.java:4: 错误: 不兼容的类型: 从double转换到float可能会有损失
                float floatNumber = 3.14;
                                    ^
		1 个错误
		计算机保存数据,考虑第一原则是数据的精度,double类型精度
		是远远高于float类型,计算机会将所有的小数都看作是double
		类型数据。3.14默认为double类型,这里赋值给float是存在精度
		不一致报错。
		这里需要告知计算机,这里3.14是一个float类型,在3.14之后
		加上一个大写F
			float floatNumber = 3.14F;
		*/
		double doubleNumber = 0.618;
		
		System.out.println(floatNumber);
		System.out.println(doubleNumber);
	}
}
5.5.3 char字符类型变量演示
/* 字符类型变量演示 */
class Demo5 {
	public static void main(String[] args) {
		/* 要求字符类型的常量有且只能使用字符本身 */
		char ch1 = 'A';
		char ch2 = '我';
		
		System.out.println(ch1);
		System.out.println(ch2);
	}
}
5.5.4 boolean类型变量演示
/* boolean类型变量演示 */
class Demo6 {
	public static void main(String[] args) {
		boolean ret1 = true;
		boolean ret2 = false;
		
		System.out.println(ret1);
		System.out.println(ret2);
	}
}
5.5.5 错误演示
/* 错误情况演示 不用三遍 */
class Demo7 {
	public static void main(String[] args) {
		int num1 = 10;
		
		/*
		Demo7.java:14: 错误: 找不到符号
                System.out.println(num2);
                                   ^
		  符号:   变量 num2
		  位置: 类 Demo7
		1 个错误
		*/
		// System.out.println(num2);
		
		int num3;
		
		/*
		Demo7.java:24: 错误: 可能尚未初始化变量num3
                System.out.println(num3);
                                   ^
		1 个错误
		*/
		System.out.println(num3);
	}
}
5.6 变量定义总结
1. 变量定义一行只定义一个,并且初始化操作,赋予当前变量一个符合当前数据类型的初值

2. 使用对应变量,直接使用变量名即可!!!

3. double类型到float类型精度丢失问题
    Demo4.java:4: 错误: 不兼容的类型: 从double转换到float可能会有损失
            float floatNumber = 3.14;
                                ^
    1 个错误
    计算机保存数据,考虑第一原则是数据的精度,double类型精度
    是远远高于float类型,计算机会将所有的小数都看作是double
    类型数据。3.14默认为double类型,这里赋值给float是存在精度
    不一致报错。
    这里需要告知计算机,这里3.14是一个float类型,在3.14之后
    加上一个大写F
        float floatNumber = 3.14F;

4. 【推荐】
	保证数据类型一致化,在给long类型变量赋值时加上一个大写L,告知编译器这里使用的是一个long类型数据

5. 要求字符类型的常量有且只能使用字符本身

6. 变量名未定义不能使用

7. Java中变量未赋值不能使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值