1 JAVA语法基础
1.1 标识符
标识符可以简单的理解成一个名字。
在Java中,我们需要给代码中的很多元素起名,包括类名、方法名、字段名、变量名.....
- 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
- 不能以数字开头
- 严格区分大小写
- 见名之意,并且不要使用拼音或者中英文夹杂的方式
- 不能使用关键字
1.2关键字
- 被Java提前指定好的全小写单词,一共有50个
- 2个保留字:const 与 goto ,目前还没有明确意义的关键字
- 还有3个不可以用作标识符的单词:true false null
1.3注释
用来解释代码,方便看看代码的人去理解代码的话
- 注释并不会影响程序的执行,会被编译器忽略掉
- 单行注释: // 可以注释一行的内容
- 多行注释:/ * * / 可以注释多行的内容
- 文档注释:/** */ 也可以注释多行内容,还可以添加一些额外的信息,比如:作者/时间/版本…
package cn.tedu.basic;
/**本类用于练习注释*/
public class CommentDomo {
//我是一个单行注释
/*
* 我是一个多行注释
* 可以
* 注释
* 多行
* 内容
*/
/**
* 我是一个文档DOC注释
* 我也可以注释多行内容
* 除此之外,我还可以添加一些作者/时间/开发版本......的信息
*/
{
}
}
1.4变量
- 定义的时候并且赋值:变量的类型 变量名 = 变量值; 比如:int a = 19;
- 先定义,后面再赋值:int a; a=99;
- 注意:=是赋值符号,等号右边的值交给等号左边的变量来保存
注意:
变量名必须是一个有效的标识符
变量名不可以使用java关键字
变量名不能重复
package cn.tedu.review;
/**本类用于完成个人信息输出案例*/
public class TestInfo {
public static void main(String[] args) {
/**1.定义变量的规则:变量的类型 变量的名字 变量的值*/
//2.创建变量
int age = 18;//表示变量年龄,值为18
double salary = 100000.99;//表示变量薪水,值为100000.99
/**2.一串字符,在Java中用String类型也就是字符串类型保存
* 注意:String类型的数据需要使用"包裹起来"*/
String name = "泡泡";
//3.可以通过打印语句查看变量的值
System.out.println(age);
//4.完成静态与动态数据的拼接
/**3.我们可以使用+把静态数据【"我是"】与动态数据【name】拼接起来*/
System.out.println("我是"+"name");
//5.需求:Java架构师XXX今年XXX岁,月薪XXX,感慨Java是世界上最好的语言
System.out.println("java架构师"+name+"今年"+age+"岁"+"月薪"+salary+"感慨Java是世界上最好的语言");
}
}
2.数据类型
2.1基本类型介绍8种:
引用类型
我们学习的是String字符串类型,这个类型的数据需要使用双引号包裹
3.基本类型的转换
箭头开始的地方是小类型,箭头指向的地方是大类型
我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦、
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
小到大,直接转 大到小,强制转 浮变整,小数没
- boolean类型不参与类型转换
- 小转大,直接转 – 隐式转换
- 大转小,强制转 – 显式转换,格式:byte b = (byte) a;
- 浮变整,小数没 – 浮点型转整形是直接舍弃所有的小数部分的,不会四舍五入
类型能否转换,取决于类型的取值范围,而不是字节数,字节数只能做大概的参考
5条字面值规则
整数默认为int类型
小数默认为double类型
byte short char 三种比int小的类型,可以使用范围内的值直接赋值
字面值后缀:L F D
字面值前缀:0b-2 0-8 0x-16
5条运算规则
运算结果的数据类型与最大类型保持一致
3种比int小的类型,运算时会自动提升成int再运算
整数运算溢出的问题,一旦溢出,数据就错误了
浮点数运算不精确
浮点数的特殊值 Infinity NaN