一,基础概念的学习
1. 注释
概述:就是我们来对所写代码进行解释说明的内容格式,它不是写给计算机看的,是写给程序员看的。
特点:1. 编译的时候不会对注释进行格式和内容的编译
2. 运行的时候不会对内容进行运行
分类:
单行注释:[//] 符号后面书写解释说明的内容。特点:不可换行;可以套用
多行注释:[/**/] 是*号中间书写解释说明的内容。特点:可以换行;不可以套用
文档注释:[/***/] 第二个*与最后一个*中间来书写注释内容,给固定的注解配合使用能够生成对应的帮助文档
代码示例
/*书写一个入门案/*例达到在控制台上输出
* "金莲有想法,所以大朗倒了霉"*/
创建类
public class Demo01 {
/**在main方法中实现控制台
* 输出/**内容的效果*/
public static void main(String[] args) {
//在控制台上面输出一句话:"金莲有想法,//所以大朗倒了霉"
System.out.println("金莲有想法,所以大朗倒了霉");
}
}
2. 关键字
概述:在Java中有一些已经定义号的并给它赋予了特殊含义的单词,这样的单词在Java中是有50个。
特点:
1.单词的所有字母都是小写
2.关键字不能作为标识符使用
预留关键字:const和goto 是Java的预留关键字,就是现在Java语言中没有使用这两个单词,单词也没有特殊的含义,将来用不用不知道。
3. 标识符
3.1 概述:标识符就是名称,在Java中是用来给类,变量,常量,枚举,接口等一系列内容进行起名的内容,把这个内容叫做标识符。
3.2 组成内容:
1. 所有的英文字母包括大小写[52个英文字母]
2. 0到9阿拉伯数字
3. 英文符号_和 $
4. 其他国家语言的字符[不常用]
3.3 使用注意事项:
1.数字不能开头
2.不能是关键字
3.标识符中间不要出现空格
3.4 标识符的命名规则
3.4.1 总体规则: 做到见名知意
类名和接口名,枚举名称:标识符的首字母要大写,其他字母全部小写
标识符是一个单词,只需要首字母大写其他的字母小写
标识符是多个单词组合而成,每一个单词的首字母需要大写,其他所有字母小写
这样的规则叫做:大驼峰格式。例如:HelloWorld; Person
变量名,方法名:标识符的第一个单词全部小写,后面的单词首字母大写其他字母小写
标识符是一个单词:全部小写
标识符是多个单词组合而成的:第一个单词全部小写,后面其他字母小写
这样的格式:小驼峰格式。例如:age; getsum
常量:所有的单词字母都要大写,如果是多个单词,单词和单词时间使用_隔开
例如:AGE_MAX ; PI ; E
4. 包名
概述:包名就是用来统一管理书写的代码的文件夹,被编译器作为地址来传递
特点:可以有层级(类似于文件夹)
起名规范:
所有包名一般是一个单词组成而且全部小写
包名是可以分层,每个包之间使用·隔开
所有的层级包前两层是公司域名的反写 [保证包名独一无二]
二,常量
1. 概述:在Java代码运行过程中值不会发生任何改变的值,叫做常量,在Java中常量不能单独存在,必须要结合别的操作使用[一般结合输出语句和赋值运算或者逻辑运算等操作]
2.分类:
2.1 从表现形式上分为:
字面值常量:看到量就知道他的具体的数值,包括所有的数字和所有的字符串
符号常量:看到一个特定的符号,就知道他表示具体值
例如:圆周率[PI:3.1415926] 自然数[E:2.718]
2.2 根据数据类型分为
2.2.1 基本数据类型常量:
整数常量:所有的整数
小数常量:所有的小数
字符常量:被英文符号单引号包裹的单个字符的量
例:‘a' , ' 汉 '单引号里面必须有且只有一个字符内容
布尔常量:表示对错的量,只有两个值:true, false
2.3 引用数据类型常量
字符常量:被英文符号双引号包裹的字符序列。例如 “武汉加油”
空常量:只有一个值null不能被输出,空常量代表的含义是什么都没有,不能主动的使用它做事情,只能被动的把他赋值给其他的元素(变量)
代码:
public class Demo02 {
public static void main(String[] args) {
//常量的书写
//100 常量单独写在java代码中报错 常量不能单独使用
//结合输出语句来使用
//字面值常量
System.out.println(100);
//符号常量 PI
System.out.println(Math.PI);//3.1415926
//基本数据类型常量
System.out.println(500);
System.out.println(13.14);
System.out.println('a');
System.out.println(true);
System.out.println(false);
//引用数据类型常量
System.out.println("武汉加油,武汉必胜");
//System.out.println(null);
}
}
三,变量
1. 变量的相关知识
概述:Java代码在运行过程中值会发生变化的量叫做变量
理解:变量就是Java中用来存储常量的容器。,在运行过程中可以在不同的时间段存放不一样的常量值,所以他的值就会变化。
注意:变量中每次只能存放一个常量值。
1.1 变量的声明:只用来定义变量,但是没有给变量任何的常量值
1.2 格式:数据类型,变量名;
1.3 特点:变量只有给他存放了数值之后才可以使用
1.4 变量声明机赋值:定义变量的同时把常量值放到变量中
格式:数据类型 变量名 = 常量值
代码示例
public class Demo03 {
public static void main(String[] args) {
//声明变量
int age ;
//赋值的过程
age = 18;
System.out.println(age);
//声明和赋值
int salary = 20000;
System.out.println(salary);
}
}
变量在内存[jvm的内存]中的体现
jvm的内存划分[ jvm运行时的数据区划分]
寄存器: 存放执行程序的指令地址[基本上时系统来管理]
本地方法栈:为执行本地的方法来服务的资源[由系统来管理]
栈内存:加载Java方法的相关信息并执行方法的区域
堆内存:加载类对象的相关信息的
方法区:加载类的相关信息。静态信息,常量池等信息
2. 数据类型
概念:定义变量时定存放变量的内存空间大小的依据,数据类型修饰变量的。
分类:
2.1 基本数据类型:
概念:用于存储值的类型
1个 byte(字节) = 8 个bit (比特)
整数类型:
byte: 在内存占据的空间 1 个字节, 存放数据 -128~127 -2^7~2^7-1
short: 在内存占据的空间 2 个字节, 存放数据 -2^15~2^15-1
int: 在内存占据的空间 4个字节, 存放数据 -2^31~2^31-1
long: 在内存占据的空间 8 个字节, 存放数据 -2^63~2^63-1
浮点类型:float [单精度],在内存占据的空间是4个字节,[要比整数类型的8个字节还大]
double [双精度],在内存中占据的是8个字节,[IEEE754]
注意事项:浮点类型采用的标准是IEEE754标准比整数类型的标准大
字符类型:char,在内存中占据的空间是2个字节(标准和整数类型的标准一致,char 和short占据的空间一样大)0~65535(2^16-1)
布尔类型:boolean,在内存中占据空间是未知,只能存放 true / false
代码示例
public class Demo04 {
public static void main(String[] args) {
//使用基本数据类型定义对应的变量
//整数类型
byte a = 123;
//a = 128;放不进去 128超出了byte存放数的范围
System.out.println(a);//123
short s = 1024;
System.out.println(s);//1024
int i = 100000;
System.out.println(i);//100000
long l = 123L;
System.out.println(l);//123
long l2 = 123456789340L;//long类型的变量赋值的时候建议大家给数加上L
System.out.println(l2);//123456789340
//浮点
float f = 3.14F;
System.out.println(f);//3.14
double d = 32.109;
System.out.println(d);//32.109
//字符类型
char c = 'a';
System.out.println(c);//a
//布尔类型
boolean boo = true;
boolean boo1 = false;
System.out.println(boo);//true
System.out.println(boo1);//false
//字符串变量
String ss ="武汉加油";
System.out.println(ss);//武汉加油
}
}
2.2 引用数据类型( 类;数组;接口)
概念:用于存储地址(内存地址)的类型
基本数据类型排序: byte <short<char<int<long<float<double
整数常量值运行中默认的数据类型是:int [细节注意]
小数常量值运行中默认的数据类型是:double [细节注意]
3. 字符和数字的转换
3.1 概述:计算机存储资源都是用数字来存储的,而我们大部分的资源都是使用字符来构成的,想要存储字符,想办法把字符编程一个一个的数字存储。
3.2 编码:把字符转换成为对应的数字,这个过程叫编码。
3.3 解码:把数字转换成为对应的字符,这个过程叫解码
3.4 ASCII 表,英语中所有字符和其对应的数字整理的表
字符常量和字符变量是可以直接进行相关数字运算的。
四,编码表
万国码:Unicode 编码表。
utf-8: 他是Unicode编码表的一种,它也是程序员比较喜欢用的一种编码。
英文中这个编码表中占1个字节,中文中这个编码表中占3个字节。
gdk: 国内系统比较喜欢使用这种编码表。
代码示例
public class Demo05 {
public static void main(String[] args) {
//字符变为数字
int a = 'a';
System.out.println(a);//97
//数字变为字符
char c = 48;
char cc = 100;
System.out.println(c);
System.out.println(cc);//d
}
}
英文中这个编码表中占1个字节,中文在这个编码表中占2个字节。
五,数据类型的转换
5.1 换分类:从大到小,把大的数据类型的常量值放到小的数据类型变量中。
5.2 格式:小数据类型 变量名=(小数据类型)大数据类型常量值也叫做数据的强制转换。
小类型到大类型: long 1 = 1234;
大类型到小类型: short b = 128;
注:强制转换会有数据丢失的风险,一般情况不要轻易的去强制转换。
代码示例
public class Demo06 {
public static void main(String[] args) {
//小到大
long l = 1234;
System.out.println(l);//1234 数值没有变化,在内存中的占据空间变大了
//大到小【数据类型的强制转换】
short s =(short)1234L;
System.out.println(s);//1234 值没有发生变化但是在内存中的空间变小了。
short ss = (short)3.14;
System.out.println(ss);//3 值会发生变化,同时内从空间的占用变小了
}
}