Java SE 基础(二)Java编码以及变量规范
普通 Java 程序编译并运行(使用CMD命令行)
- 编写源代码;
- 编译源文件,将其转换为字节码文件;
- 运行字节码文件
IDE集成开发环境
- GitHub:“全球最大的同性交友网站,代码托管平台”;
- 精通 Spring Boot ,不如在GitHub上传一个 Spring Boot 的开源项目。
Java 编码规范
- 强制编码规范
必须执行,如果不执行,无法编译运行程序。
- Java 程序名的文件名和其类名必须一致;
- main 方法是程序的主入口,方法的定义必须按照严格的格式书写,例如:
public static void main(String args[]){...}
- 类是组织 Java 代码结构的,类中的方法是执行具体业务逻辑的,无论是类还是方法,都必须使用花括号({})来组织它的结构,并且花括号必须成对出现。
- 建议编码规范
非强制性执行,不按照规范编写代码不影响运行。此规范只是为了统一标准,提高代码的可读性。
- 通常情况下,一行代码只写一条语句,这样可以使代码的结构更加清晰,更加方便开发者阅读代码;
- 遵守一行只写一条语句的同时,还需要注意代码的缩进,不要每行代码都顶头写。
Java 代码注释
为了帮助开发者更好地读懂彼此的代码,编码规范只是规定一种统一的
标准,注释就是对每个程序员所写代码的进一步解释说明。
Java 注释就是用通俗易懂的语言对代码进行描述解释,方便自己和他
人阅读。
注释是开发者自己写的,可以是编程思路,也可以是功能的描述或者程
序的作用,总之就是对代码的进一步阐述。
Java 中的注释是不会被编译的,也就是或计算机不会读取注释,而是
直接跳过,注释专门写给开发者看的。
- Java 中的注释方法
- 单行注释:
public class Text(){
//这是主方法
public static void main(String args[]){
System.out.println("Hello World!!");
}
}
- 多行注释
public class Text(){
/*
这是主方法
输出Hello World
这是我的Text程序
*/
public static void main(String args[]){
System.out.println("Hello World!!");
}
}
- 文档注释
public class Text(){
/**
*
*@parm args
*/
public static void main(String args[]){
System.out.println("Hello World!!");
}
}
Java 关键字
-
Java 关键字的定义
-
Java 关键字的分类
关键字 | 含义 |
---|---|
abstract | 标识类或方法成为抽象 |
boolean | 紧绷数据类型 |
break | 跳出循环,结束整个循环 |
byte | 基本数据类型 |
case | 与switch搭配使用,控制流程 |
catch | 捕获异常 |
class | 表示类 |
continue | 跳出当前次数循环,执行下一次循环操作 |
default | 默认 |
do | 与while搭配使用, do while 循环 |
double | 基本数据类型 |
else | 流程控制 |
enum | 枚举 |
extends | 继承 |
final | 修饰常量 |
finally | 与 try catch 一起使用,捕获异常 |
float | 基本数据类型 |
for | 循环 |
if | 流程控制 |
implements | 实现接口 |
import | 倒入某个资源 |
int | 基本数据类型 |
interface | 接口 |
long | 基本数据类型 |
native | 本地方法 |
new | 创建对象 |
package | 包 |
private | 私有 |
protected | 访问权限修饰符 |
public | 公有 |
return | 表示返回 |
short | 基本数据类型 |
变量
-
什么是变量
变量是计算机语言中的一个概念,可以表示某个具体数值,并且这个数值是可以改变的。所以他叫变量,如果只不能被改变,则他叫产量(final修饰的变量是常量)。 -
变量的概念
使用变量是为了解决内存中读取数据比较麻烦这一问题。
因为计算机读取内存中数据时,是通过内存地址来读取的,但是内存地址比较难记住,他是十六进制数据,很难记住。
变量是一个概念,它存储在内存中。为了方便存取内存中的数据,可以自定义变量名,这样就不用去记系统分配的16进制内存地址。
变量三要素:
- 数据类型
- 变量名
- 变量值
- 为什么要使用变量
100 元购买了一款理财产品,年利率 3%,那么你的年底的收益是多少?
计算机如何存储数据?
计算机存储数据的地方叫做内存,内存会为不同的数据开辟不同的空间来存储,所以数据和数据之间是互相独立的,互不影响。
类似超市的储物柜,把不同的数据存储到不同的柜子中。
每一块内存区域都会有一个独一无二的内存地址,开发时需要记住这个内存地址,但是内存地址是没有规律系统自动分配,很难记住,如何解决?
使用变量来解决上述。
public class Text(){
public static void main(String args[]){
int money=100;//设置存入金额
float a=0.03;//设置年利率
int year=1;//设置存入时间
float result=0;//初始化利息
result=monet*a*year;//计算利息
System.out.println("利息是:"+result);//输出
}
}
如何使用变量
-
声明变量的数据类型和变量名
计算机会根据数据类型在内存中开辟对应大小的内存空间,变量名的定义要符合规范:
其可以包含字母、数字、下划线、$,不能包含空格、运算符,不能使用纯关键字命名。不能以数字开头、大小写可以混用、首字母应该小写(驼峰式命名法)。例如:userId、studentName。 -
给内存空间赋值,该值就是变量值
num1=100;
“=”不是数学概念中的等号。“=”在这里是一个赋值运算符,专门用来做赋值运算,将等号右边的值赋给左边。
int num1=100;
Java 的基本数据类型
Java 的八种基本数据类型(非引用类型):byte、short、int、long、double、float、boolean、char
其中根据整数、小数、字母、单词、汉字等,可以将其分为两大类:
- 数值类型:整数、小数
- 非数值类型:字母、单词、汉字
1 KB=1024 byte;
1 MB=1024 KB=1024*1024 byte
1 GB=1024 MB=1024*1024 KB=1024*1024*1024 byte
1 TB=1024 GB=1024*1024 MB=1024*1024*1024 KB=1024*1024*1024*1024 byte
分类 | 基本数据类型 | 占用空间 | 描述 |
---|---|---|---|
数值类型 | byte | 1 个字节(8 位二进制数) | 数据的最小单位,一个字节是八位二进制数 |
数值类型 | short | 2个字节(16位二进制数) | 短整型 |
数值类型 | int | 4个字节(32位二进制数) | 整数的最常用类型 |
数值类型 | long | 8个字节(64位二进制数) | 长整型 |
数值类型 | float | 4个字节(32位二进制数) | 单精度浮点数据 |
数值类型 | double | 8个字节(64位二进制数) | 双精度浮点数据 |
数值类型 | boolean | 1/8个字节(1位二进制数,1bit)1 byte=8bit | 判断逻辑成立的条件,true/false,1/0 |
数值类型 | char | 2个字节(16位二进制数) | 表示单个字符,可以是字母、数字、汉字、符号 |
实际开发中常用的数据类型:int、long、double、boolean
变量使用例子
使用程序输出信息:编号1、姓名张三、性别男、身高176、体重60.5,要求使用变量定义用户的各项基本信息,并进行输出。
public class Text(){
public static void main(String args[]){
//定义各项变量及其数据
int id=1;
String name="张三";
char sex='男';
int height=176;
float weight=60.5F;
//输出
System.out.println("编号:"+id);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("身高:"+height);
System.out.println("体重:"+weight);
}
}
数据类型转换
- 自动转换
原则上,相同的数据类型才能完成赋值运算,但是如果遇到数据类型不匹配的情况, Java 也是可以完成的。只不过在赋值之前需要进行数据类型转换。
- 小空间可以自动转换成大空间,但大空间不能自动转换为小空间。
- 低精度可以自动转换为高精度,但高精度不能自动转换为低精度。
- 强制转换
当两个数据不能完成自动转换的时候,我们可以通过强制手段让其完成类型转换。
语法:转换后数据类型 变量名=(转换后数据类型)变量名
float num1=10.321441F;
int num2=(int)num1;
注意:
如果浮点型和整形进行强制类型转换的话,必然造成精度损失。
boolean类型的数据与数值类型的数据不能进行转换(无论强制或自动)。
char类型的数据与数值类型的数据可以进行强制类型转换(ACSII)。
ACSII,计算机中的每个字符都有对应的一个数字对他进行表示,这就是ACSII码值。
部分ASCSII码表
码值 | 控制字符 |
---|---|
65 | A |
… | … |
90 | Z |
97 | a |
… | … |
122 | z |