基本语法
一、注释
- 注释的作用
- 提高可读性
- 调试的时候屏蔽暂时不用的代码
- 生成文档
- 说明
- 提高通用性,最好用英文来写
- 不加没有额外价值的注释
- Java有3种注释
二、java的字符集
- 采用Unicode码
- 跨平台移植性好
- 包括普通字符和转义字符两类
三、java关键字
- 关键字用英文小写,约50个
- 用于数据类型的关键字
- 用于语句的关键字
- 用于修饰的关键字
- 用于方法、类、接口、包的关键字
- 53个关键字解释
四、java的标识符
- 定义:以字母、下划线或者$号开头,中间可以带数字,也可以带美元号
- 用途:作为变量名、方法名、接口名和类名
- 要求:
- 严格区分大小写
- 见名知意,可读性好(循环变量可以用单字符)
- 用户自己取的标识符不能和系统预定义标识符同名,约定用户定义标识符也不用下划线开头
- 习惯约定:
- 变量名对象名方法名,首字母小写,从第二个单词开始每个单词首字母大写
- eg:writeDouble、drawLine、getName等
- 类名、接口名首字母大写
- eg:WindowsEvent
- 常量名所有字母均大写、单词之间用下划线分隔
- 包名全部小写
- 变量名对象名方法名,首字母小写,从第二个单词开始每个单词首字母大写
- 严格区分大小写
数据类型
一、基本类型
- 学习的时候注意:使用的场合、取值范围、可以进行的运算操作
- 分类:
- 基本(简单)类型:
- 整型、浮点型、字符型、布尔型
- 与面向过程语言类似,可以简化编程
- 引用类型:
- 数组、类、接口
- 对应基本的double类型,还存在一个类Double(功能更强)
- 对应char还有一个Character(功能更强)
- 严格的面向对象语言种不应该有基本数据类型存在
- java继承了面向过程的一些东西,故非严格意义上的完全面向对象编程语言
- 数组、类、接口
- 基本(简单)类型:
- 说明:
- 不支持c种的指针、结构、联合、枚举
- 增加了两种数据类型:byte字节型和Boolean布尔型
- java没有sizeof运算符,各种数据类型占用固定的内存长度,与平台无关,跨平台移植性好
- java的每种数据类型都有一个缺省值,安全稳定性好
类型 | 默认值 | 取值范围 | 大小 |
---|---|---|---|
Byte | 0 | -2^7——2^7-1 | 1byte=8bit |
char | ‘\u0000’ | 0——2^16-1 | 2byte |
short | 0 | -2^15——2^25-1 | 2byte |
int | 0 | -2^31——2^31-1 | 4byte |
float | 0.0f | -2^31——2^31-1 | 4byte |
long | 0L | -2^63——2^63-1 | 8byte |
double | 0.0d | -2^63——2^63-1 | 8byte |
boolean | false | true\false | 1byte/4byte |
所有引用数据类型 | null |
- 注意:
- 增加byte目的是解决不同计算机上多字节存储顺序不一致的问题
- java中没有无符号整数
- 布尔类型不能直接和其他数据类型转换,true和false均为小写
- 例:
byte j = 123
public class HelloWorld
{public static void main(String[]args)
{
System.out.println("Float.MAX_VALUE="+Float.MAX_VALUE);//用于测试float数据类型支持的最大值
System.out.println("Float.MIN_VALUE="+Float.MIN_VALUE);//用于测试float数据类型支持的最大值
}
}
结果:
Float.MAX_VALUE=3.4028235E38
Float.MIN_VALUE=1.4E-45//这里不代表没有复数,而是最小精度,都是可以带负号的
二、常量
- 字符串常量
"A","Hello\n world!"
- 符号常量的优点:
- 提高可读性:见名知意,见名知用途
- 便于程序修改:一改全改(最好全部大写)
- 常量定义格式:
final 类型符 符号常量名=常量值;//必须要初始化,java语言不支持宏
三、变量
- 变量的三个属性:名字、类型和值
- 定义变量的格式
- 类型符 变量名[=变量名];
- 注意:
- 声明变量的地方有两处,一处在方法内,另一种实在类中方法外
- 方法内定义的变量叫做局部变量,也成自动变量、临时变量或者栈变量
- 类中方法外定义的变量叫做成员变量
- 局部变量必须显式初始化(赋值)
public class A
{
int x=2;//Member variable
public void f() {
System.out.println("x1="+x);//member variable
int x = 3;//local variable
System.out.println("x2="+x);//local variable
}
public static void main(String[] args) {
A a=new A();//新建一个a对象
a.f();
System.out.println("a.x="+a.x);//用对象访问的时候,只能访问menber variable
}
}
- 位置:java.lang.Math
- 常用函数:
- Math.max(560,289)
- Math.min(560,289)
- Math.pow(5,2)
- Math.random()//随机数
- Math.sin(0)
- Math.cos(0)
- Math.sqrt(144)
- Math.round(6.6)//四舍五入
- 使用是可以不带Math,而写做*.max(560,289)
运算符和表达式
一、赋值运算符
- =,+=,-+,*=,/=,%=等
- 格式:
变量名 = 表达式;
- 注意
- eg1:
- int a=3,b=5,c;
- a *= 2+3;
- a=b=c=0//error: int a=b=c=0;
- eg2:
- 交换ab
- 法1:t=a;a=b;b=a;
- 法2:x=x+y;y=x-y;x=x-y;
二、算术运算符
- / %
- 运算符重载“+”
- 2+3=5
- “2”+”3”=”23”
- “abc”+”de”=”abcde”
三、关系运算符
= <= > < != ==
- 关系运算符结果为true或false
- ==为关系运算符,=为赋值运算符
四、逻辑运算符
- && || !
- 满足短路运算条件
五、条件运算符
- A:B?C