今日课程内容
一、基础概念的学习
1、注释
2、关键字
3、标识符
二、常量
三、变量
变量的相关知识
数据类型
四、运算符
算术运算符
比较运算符
赋值运算符
逻辑运算符
三元运算符
位移运算符
一、注释
概述:就是我们来对所写代码进行解释说明的内容格式。他不是写给计算机看的他是写给我们程序员看。
特点:
1、编译的时候不会对注释进行格式和内容的编译
2、运行的时候不会对改内容进行运行
分类:
单行注释:【//】符号后面书写我们要解释说明的内容
特点:
1、不可以换行
2、可以套用
多行注释:【/* */】星号中间书写我们的解释说明的内容
文档注释:【/** */】第二个星号和最后一个星号中间来书写我们的注释内容
特点:
1、可以换行的
2、不可以套用的
结合固定的注解配合使用能够生成对应的帮助文档
代码示例:
package com.ujiuye.demo;
/*书写一个入门案/*例达到在控制台上输出
* "金莲有想法,所以大朗倒了霉"*/
public class Demo01 {
/**在main方法中实现控制台
* 输出/**内容的效果*/
public static void main(String[] args) {
//在控制台上面输出一句话:"金莲有想法,//所以大朗倒了霉"
System.out.println("金莲有想法,所以大朗倒了霉");
}
}
二、关键字
概述:在java中有一些已经定义好的并给他赋予了特殊含义的单词
这样的单词在java中是有50个。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5QKymJGG-1593604994270)(E:\就业班\java97班(北京)\day02\笔记\关键字.png)]
特点:
1、单词的所有字母都是小写
2、关键字不能作为标识符使用
预留关键字:【面试题】
const goto是Java的预留关键字。就是现在java语言中没有使用这两个单词,单词也没有特殊的含义。将来用不用不知道。
三、标识符
概述:标识符就是名称。在Java中是用来给类,变量、常量、枚举、接口等一系列内容进行起名的内容,把这个内容叫做标识符。
组成内容:
1、所有的英文字母包括大小写【52个英文字母】
2、0到9 阿拉伯数字
3、英文符号 _和$
4、其他国家语言的字符【不常用】
使用注意事项:
1、数字不能开头
2、不能是关键字
3、标识符中间不要出现空格
四、标识符的命名规范
总体规则:做到见名知意
类名和接口名、枚举名称:标志符的首字母要大写,其他字母全部小写
1、标识符是一个单词,只需要首字母大写其他的字母小写
2、标识符是多个单词组合而成,每一个单词的首字母需要大写,其他所有字母小
写
这样的规则叫做:大驼峰格式
比如:HelloWorld Person
变量名、方法名:标识符的第一个单词全部小写,后面的单词首字母大写其他字母小
写
1、标识符是一个单词:全部小写
2、标识符是多个单词组合而成的:第一个单词全部小写,后面单词首字母要大写
其它字母小写
这样的格式:小驼峰格式
比如:age 【年龄】 getSum
常量:所有的单词字母都要大写,如果是多个单词单词和单词之间使用_隔开
比如:AGE_MAX PI E
包名:
包:其实就是用来统一管理书写的代码的文件夹,被编译器作为地址来传递
特点:可以有层级
起名规范:
1、所有包名一般都是一个单词组成而且全部小写
2、包名是可以分层,每个包之间使用 . 隔开
3、所有的层级包前两层是公司域名的反写。【保证包名独一无二的】
五、常量
概述:在java代码运行过程中值不会发生任何改变的值,叫做常量。
在java中常量不能单独存在,必须要结合别的操作使用【一般结合输出语句和赋值运算或者逻辑运算等操作】
分类:
1、从表现形式上分为:
字面值常量:看到量就知道他的具体的数值,包括所有的数字和所有的字符串
比如:1 “我不是潘金莲”
符号常量:看到一个特定的符号,就知道他表示具体值。比如:而立 30 古稀 70 圆周率【PI : 3.14159265358】 自然数【E :2.718】
2、根据数据类型分为
基本数据类型常量:
整数常量:所有的整数
小数常量:所有的小数
字符常量:被英文符号单引号包裹的单个字符的量 比如:‘a’ ‘汉’
单引号里面必须有且只有一个字符内容
布尔常量: 表示对错的量 只有两个值: true false
引用数据类型常量:
字符串常量:被英文符号双引号包裹的字符序列 比如:“武汉加油”
空常量:只有一个值 null 不能够被输出,空常量代表的含义是什么都没有
不能主动的使用它做事情,只能被动的把他赋值给其他的元素【变量】
代码示例
package com.ujiuye.demo;
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);
}
}
六、变量
概述: java代码在运行过程中值会发生变化的量叫做变量。
理解:变量就是java中用来存储常量的容器,在运行过程中可以在不同的时间段存放不
一样的常量值,所以他的值就会变化。注意:变量中每次只能存放一个常量值。
6.1、变量的定义
1、变量的声明:只来定义变量,但是没有给变量任何的常量值
格式:数据类型 变量名;
特点:变量只有给他存放了数值之后才可以使用。
2、变量声明及赋值:定义变量的同时把常量值放到变量中
格式: 数据类型 变量名 = 常量值;
代码示例
package com.ujiuye.demo;
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运行时的数据区划分】:
1、寄存器:存放执行程序的指令地址【基本上是系统来管理我们不用操心】
2、本地方法栈:为执行本地的方法来服务的资源【由系统管理的】
3、栈内存:加载java的方法的相关信息并执行方法的区域
4、堆内存:加载类对象的相关信息的
5、方法区:加载类的相关信息、静态信息、常量池等信息
6.2、数据类型
概述:定义变量时决定存放变量的内存空间大小的依据。数据类型就是用来修饰变量。
分类:
基本数据类型
四类:
整数类形:
byte: 在内存中占据 空间是 1个字节
存放的数据范围: -128到127
short:在内存中占据 空间是 2个字节
存放的数据范围: -215到215-1
int: 在内存中占据 空间是 4个字节
存放的数据范围: -231到231-1
long: 在内存中占据的 空间是 8个字节
存放的数据范围: -263到263-1
浮点类型:
float【单精度】: 在内存占据的空间是 4个字节【要比整数类型的
8个字节还大】
double[双精度]:在内存中占据的是 8个字节【IEEE754】
注意事项:浮点类型采用的标准是IEEE754标准比整数类型的标准大。
字符类型:
char:在内存中占据空间是 2个字节 【标准和整数类型的标准
是一致,char和short占据的空间是一样大的】
布尔类型:
boolean :在内存中占据空间是 未知 只能存放true和false
引用数据类型:
类、数组、接口
代码示例
package com.ujiuye.demo;
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);//武汉加油
}
}
基本数据类型排序:byte<short=char<int<long<float<double
整数常量在运行中默认的数据类型是:int【细节注意】
小数常量在运行中默认的数据类型是:double【细节注意】
引用数据类型
String : 字符串 属于类,
6.3、字符和数字的转换:
概述:计算机存储资源都是使用数字来存储的。而我们大部分的资源都是使用字符来构成的,想要存储字符,想办法把字符编程一个一个的数字来存储。
编码:把字符转换为对应的数字,这个过程叫做编码
解码:把数字转换为应的字符,这个过程叫做解码
ASCII表:英语中所有字符和对应的数字的整理的表
在ASCII表中需要记住的A 对应的数字 65 a对应的数字是 97 字符0 对应的数字是48
字符常量和字符变量时可以直接进行相关数学运算。
编码表
万国码:Unicode编码表
utf-8:他是Unicode编码表的一种,他也程序员比较喜欢用的一种编码。
英文在这个编码表中占1个字节,中文在这编码表中占3个字节。
gbk:国内系统比较喜欢使用这种编码表。
英文在这个编码表中占1个字节,中文在这编码表中占2个字节
代码示例:
package com.ujiuye.demo;
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
}
}
6.4、数据类型的转换
常用数据类型的范围[从小到大]
byte -> short -> char -> int -> long -> float -> double
转换分类:
从小到大:把小的数据类型的常量值放到大的数据类型变量中
从大到小:把大的数据类型的常量值放到小的数据类型变量中
小类型到大类型: long l = 1234;
大类型到小类型: short b = 128;错误的方面不进去
格式:小数据类型 变量名 = (小数据类型)大数据类型常量值
也叫作数据的强制转换。
注意:强制转换会有数据丢失的风险。一般情况下不要轻易的去强制转换。
代码示例
package com.ujiuye.demo;
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 值会发生变化,同时内从空间的占用变小了
}
}