目录
1.计算机存储的所有数据都是0,1二进制数据存储 2.计算机程序运行主要是对存储数据做计算(广义) 3.计算 : 参与运算的数据,表示不同计算方式的运算符
a.参与运算的操作数
b.可以对参与运算的操作数,进行不同运算(不同的运算符)
1.给参与运算的操作数起名
2.注释
3.Java语言中的数据:常量变量
命名
1.关键字
被赋予特殊含义,全部小写,高亮效果public class package
2.标识符
我们自己起的名字其实就是标识符,就是给类,接口,方法,变量等起名字时使用的字符序列。
命名规则:
英文大小写,数字字符,$和_ ; 不能以数字开头,不能是Java中的关键字(保留字),严格区分大小写
例: int a; a是标识符。
int class; 报错(关键字)。 int Class; Class为标识符。
约定俗成的命名规则:
1.包命名:包是类似于操作系统中的文件夹,
在不同的文件夹中可以定义同名文件,可以在不同的包中定义同名的类。 减少了类的命名冲突 • 包(组织Java语言中的类,包含各种类) • 文件夹(组织文件)
a。单级 包名只包含一个单词,该单词全部小写 例:test b。多级包名 多个单词中的每个单词全部小写,同时单词语单词之间 以 . 分隔 例:student . name . age • 包的命名,通常使用**域名反转**的方式定义包名 www . baidu . com(唯一标识百度这个网站)域名具有唯一性 com . cskaoyan . identifier com . bh . test
2.类和接口的命名
单个单词:该单词首字母大写,其他字母全部小写 多个单词:每个单词的首字母大写,其他字母全部小写 例:MyStudent EditsLog
3.变量和方法命名
单个单词:全部小写 例:method 多个单词:第一个单词首字母小写,从第二个单词开始,每个单词首字母大写,其他字母全部小写 • 例:privateMethod
4.常量的命名
一个单词:该单词每个字母都大写 例:MAX,MIN 多个单词:每个单词全部大写,同时单词语单词之间用下划线链接 例:MAX-VALUE
注释
定义注释:
单行注释://main方法是我们程序执行的入口 多行注释:/*注释内容 注释内容*/ 文档注释:也是一种多行注释 /**文档注释内容 *文档注释 *文档多行注释**/ 可以针对源代码生成一份解释说明这个类的文档,凡是写在文档注释中的内容都会包含在文档中。 •
常量
在运行过程当中其值不会改变的量
常量的分类
1.字面值常量
2.自定义常量
字面值常量
分类
1.字符串常量:双引号引起来的内容 “wangdao” 2.整型常量:所有整数 1 4 100 3.小数常量:所有小数 1.1 5.0 6.6 • 4.字符常量:用单引号引起来的内容 ' a ' ' 我 ' • 5.布尔常量:只有true or false • 6.空常量:null
整数型常量的常见形式
1.二进制
2.十进制
变量
在程序运行期间,其值可以改变的量,在某个范围内改变 • 变量就是一片内存空间
变量定义的格式:
数据类型 变量名(标识符)=变量值(可以是常量值)
数据类型
一种数据类型,其实表示的就是一个数据集和基于该数据集的一组合法操作。
A.基本数据类型
整数默认:int 小数默认:double • a.整数类型:byte , short , int , long 1,2,4,8个字节 • b.小数类型:floot , double 4,8个字节 • c.字符型:char • d.布尔型:boolean
B.引用数据类型型
a.类:class • b.接口 :interface • c.数组:[ ]
使用变量的注意事项
1.变量的作用域问题:一个 { } 就是一个作用域,出了作用域变量失效,变量定义在那个 { } 中,该变量的作用域就是有他所在的那个 { } 所界定的范围内。
2.变量的初始值问题: 变量首次被赋予的值,
3.变量的定义方式
变量的数据类型的转换
1.不同类型的变量,能否同时参与加法运算?
jvm在做运算的时候,只能针对同种类型的数据做计算。在计算前,将不同类型的数据转化成同种数据类型。
1.默认的数据类型的转化规则:
byte,short,char相互之间不转化---> int---> long---> float---> double byte , short , char参与运算直接转化成int参与运算
2.boolean类型
boolean类型(布尔类型)的值 不能直接转化为其他数据的值
####
int a1 = 10 ; byte b1 = 20 ; //将byte变量b1的值赋值给int类型a1 a1 = b1; 可以 //将int类型的变量a1的值,赋值给byte类型的变量b1 b1 = a1 ; 不可以,报错 //虽然此时编译器不允许将大的数据类型的变量值,赋值给小的数据类型的变量,但10在byte的合法取值范围内,所以进行强转 b1 = (byte)a1; 可以
2.不同类型的变量可以相互赋值吗?
a.小的数据类型的值可以赋值给,大的数据类型的变量
b.大的数据类型的变量值是不能直接赋值给,小的数据类型变量
3.数据类型的强制类型转换
那句编译失败?为什么? byte b1 = 1, b2 = 2, b; b = b1 + b2; b = 1 + 2; /*第一句编译器没有报错,因为对于1 ,2这些字面值常量,他们所代表的含义是固定不变的,所以编译器是认识1 , 2常量值,编译器在赋值前,可以先检查一下,该值是否在变量的合法表示范围内*/ /*第二句编译器报错,因为编译器是无法知道,当前变量存储的值,而b1 , b2是byte型常量,做运算时转化为int型常量,即b1 + b2的值为int型常量,不能赋值给b这一byte型常量*/ /*第三句没有报错,因为1和2是字面值常量,编译器认识,所以编译器在赋值的时候可以做出判断*/
byte b = 129; //有问题, 如何完成上述赋值功能? byte bb = (byte)129; //-127 //我们可以利用强制类型转化,将大的数据类型的值,强行转化成小的数据类型的值 //强制类型转化,可能会丢失数据的精度(数据就不正确了)