一、今日收获
1.main()函数
作用:main()方法是程序的入口
语法:public static void main(String[] args){...} 类型 名称 (参数) {... }
- public:访问权限
- static:main函数是静态函数,不需要实例化即可使用,可用“类名.方法名()”调用
- void:空类型
- main:函数名
- String[] args:main函数的形参,这些值是在main函数启动时输入的
打印语句:System.out.println() //换行打印
System.out.print() //不换行打印
2.变量的认识
声明:类型 变量名; ( 变量必须先声明,再使用 )
初始化:类型 变量名; 或者 类型 变量名 = 值;( Java中的局部变量必须初始化才能使用 )
变量名 = 值;
命名:只能以$、字母、下划线、数字组合命名,且只能以$、字母、下划线开头,不能以数字开头
类型:byte、short、int、long、float、double、char、boolean(8种)
byte:字节,在-128~127之间的整数 short:短整型
int:整形(默认) long:长整型,需要在值的后面加上l或L
float:单精度浮点型,需要在值的末尾加上f或F
double:双精度浮点型,需要在值的末尾加上d或D(默认)
char:字符型,16位的Unicode编码,A—65,a—97
boolean:布尔型,只有两个值true和false
按照取值范围由小到大排列:byte->short->int->long->float->double
范围:即作用域,变量定义开始到块结束离开这个作用域,Java会自动回收该变量
3.注释
- 单行注释:语法://单行注释 ( 注释一行内容 )
- 多行注释:语法:/*多行注释*/ ( 注释多行内容 )
- doc注释:语法:/**
*doc注释
*/ ( 将注释代码生成帮助文档 )
4.常量
语法:public static final 类型 常量名
例:public static final PI=3.14;
5.数据类型
分类:基本数据类型(8种)、引用数据类型
转换:值域小的类型可以直接转换成值域大的类型
值域大的类型可以强转成值域大的类型,但是注意精度 强转语法:类型A 变量名=(类型A)变量名
引用类型之间也可以转换
引用类型:
- 定义:引用类型指向一个对象,不是原始值,指向对象的变量是引用变量
- 分类:类、接口、数组
6.Java关键字
定义的变量不能与关键字重名
7.标识符命名
标识符:类名、变量名、方法名、包名
只能以$、字母、下划线、数字组合命名,不能以数字开头
Java的规定:
-
包名:通常全部小写
-
类、接口:通常使用名词,且每个单词首字母要大写
-
方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词
-
常量:全部大写,单词之间用下划线分割
-
变量:通常使用名词,首字母小写,其后大写字母分割每个单词,避免使用$符号
8.转义字符
所有转义字符前面都要加“、”
常见转义字符:\n——回车 \t——水平制表符 \b——空格 \r——换行 \f——换页 \'——单引号 \"——双引号 \\——反斜杠 \ddd——三位八进制 \udddd——四位十六进制
9.运算符
9.1 算术运算符
加号(+) 减号(-) 乘号(*) 除号(/)(若是整数,则剔除小数,而非四舍五入;若是浮点数,可得到小数部分 ) 取余(%) 自增(++)(++a与a++)
9.2 赋值运算符: “=” 与 扩展赋值运算符 (+=)
9.3 关系运算符: > >= < <= == != 返回的是布尔类型的值:true或false
-
关系运算符与逻辑运算符常一起使用,作为流控制判断条件
-
关系运算不返回1或0
9.4 逻辑运算符 :与(&&)、或(||)、取反(!)
-
逻辑与(&&)必须两边表达式同时满足,才为真,若左边表达式为假,则右边表达式不执行,即为短路运算符
-
逻辑或(||)两边表达式只要一边为true,才为真,若左边表达式为真,则右边表达式不执行,即为短路运算符
-
逻辑与(&)必须两边表达式同时满足,才为真,若左边表达式为假,则右边表达式仍然执行,即为非短路运算符
-
逻辑或(|)两边表达式只要一边为true,才为真,若左边表达式为真,则右边表达式仍然执行,即为非短路运算符
-
&&和||的运算方式比&和|的效率高
9.5 位运算符 :~ & | ^ >> << >>>
9.6 其他运算符
-
instanceof(实例运算符)——测试一个对象是否是一个指定类的实例
-
new(内存分配运算符)——为对象分配内存
-
布尔表达式?值1 :值2(三目运算符)
9.7 优先级:按照由高到低的顺序书写
二、遇到问题
不太清楚main函数的String[] args参数,无法实现传递参数
三、明日学习
1.继续学习Java的流程控制(顺序、选择、循环)
2.数组完成综合实例和上机练习的例题,独立完成一个小程序