从这里开始,正式进入正轨
1、关键字
2、main
main是关键字吗? 不是,他只是一个标识符,只不过有点特殊,虚拟机可以识别。 main(主函数)的作用
1:可以保证程序的独立运行
2:是程序的入口
3:被java虚拟机所识别
注意:main方法不是必须要在类中定义的 如果想要运行这个类,则需要添加,否则不需要
3、标识符
在程序中自定义的一些名称。 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1,数字不可以开头。 2,不可以使用关键字。
Java中严格区分大小写。 注意:在起名字的时候,为了提高阅读性,要尽量有意义。
Java中的名称规范:
包名:多单词组成时所有字母都小写。 xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。 XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。 xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。 XXX_YYY_ZZZ
4、注释
用于解释程序功能的文字就是注释。 注释的作用 提高了代码的阅读性 可以帮助调试代码,把不确定的代码注释掉帮助排查问题
Java中的注释格式:
单行注释 格式: //注释文字
多行注释 格式: /* 注释文字 */
文档注释 格式:/** 注释文字 */
对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。 对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档(说明书)。 注释是一个程序员必须要具有的良好编程习惯。 初学者编写程序可以养成习惯:先写注释再写代码。 将自己的思想通过注释先整理出来,在用代码去体现。 因为代码仅仅是思想的一种体现形式而已。
5、常量与变量
常量表示不能改变的数值。
Java中常量的分类:
1,整数常量。所有整数
2,小数常量。所有小数
3,布尔型常量。只有两个数值。true false。
4,字符常量。将一个数字、字母或者符号用单引号( ' ' )标识。单引号只能存储一个字符
5,字符串常量。将一个或者多个字符用双引号("")标识。字符串中的字符个数没有限制。
6,null常量。只有一个数值就是:null,这是一个特殊的常量
变量的概念: 内存中的一个存储区域 该区域有自己的名称(变量名)和类型(数据类型) 该区域的数据可以在同一类型范围内不断变化
为什么要定义变量: 用来不断的存放同一类型的常量,并可以重复使用 例如:假设我有两个常量,想对这两个常量进行加法运算,并且获取结果,后面还需要对这个结果进行其他处理,所以就需要把这个结果存储起来方便后面使用,存储的话就需要存储到一个变量里面
使用变量注意: 变量的作用范围(一对{}之间有效) 需要初始化值,否则无法使用
定义变量的格式: 数据类型 变量名(标识符) = 初始化值(常量);
注:格式是固定的,记住格式,以不变应万变。 理解:变量就如同数学中的未知数。
相同类型变量相加和不同类型变量相加 int + int 和 int + byte 的区别
自动类型转换(也叫隐式类型转换) int = int + byte 正确 byte = int + byte 错误
强制类型转换(也叫显式类型转换) byte = (byte)(int + byte) 什么时候要用强制类型转换?
表达式的数据类型自动提升 所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型; 如果一个操作数是float型,计算结果就是float型; 如果一个操作数是double型,计算结果就是double型。
自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。 byte < short < int < float < long < double
实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。
强制类型转换我们再清楚不过了,即强制显示的把一个数据类型转换为另外一种数据类型。
自动类型提升 byte b = 3; int x = 4; x = x + b;//b会自动提升为int类型进行运算。
强制类型转换 byte b = 3; b = b + 4;//报错
b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
总结:小的往大的运算,自动类型提升;大的往小的运算,强制类型转换
System.out.println(‘a’)与System.out.println(’a’+1) (单引号表示一个字符,自动转化成ASCALL码)
System.out.println(“a”+1)与System.out.println(“a”+1+1)
注意:字符串和任何数据做+运算,都不是加法的含义,这个+号是一个连字符,任何数据和字符串相连接,都会变成一个新的字符串 单引号是代表字符 而不是字符串,'a'.
问题:下面哪句会编译失败? int x,y,z; z=x+y;//编译时无法确定b1 和b2的值 数据类型相同加一起会超出所在类型 b=3+4;//编译时就可以确定3+4的值