IDEA使用
1. 常用快捷命令
- pstm
public static void main(String[] args) {
}
- sout
System.out.println("Hello World!!");
- Ctrl+D:复制当前行到下一行
2. 建空工程过程
File -> New -> Module(模块)
Java -> Next -> 名字:xx -> Finish
出现src文件夹。
找项目结构方法:File -> Project Structure.
Java基础语法
1. 注释、标识符、关键字
-
注释:不执行,相当于笔记。
在java中有三种注释:单行注释、多行注释、文档注释。
文档注释:
/**开头,*/结尾
可以加参数
-
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
!!注意
所有标识符都应以字母(AZ或az),美元符($)或下划线(_)开始。
首字母之后,可以为字母、美元符、下划线或数字的任意字符组合。
标识符是大小写敏感的(即,区分大小写)。
不能用关键字作变量名或方法名。
可以使用中文命名,但不建议。
-
关键字
2. 数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义后才能使用。eg:Java,C语言,C++等。
弱类型语言:变量的使用可以不符合规定。eg:JS,VB等。
Java的数据类型分为两大类
(1)基本类型(primitive type)
八大基本数据类型:
整数: int //最常用
byte
short
long //Long类型数字后加L
浮点数:float //float类型数字后加F
double
字符: char
//字符串,String表示关键字,是类
布尔值: boolean //默认值:false
1). 整数拓展–各进制表示方法:
二进制0b 八进制0 十进制 十六进制0x
2). JDK7新特性:数字之间可用下划线分割。
eg:
int money = 10_0000_0000;
//且在输出时,下划线不会被输出。
3). 浮点数拓展–float与double的特性:
-
float、double:表示字长有限、离散、舍入误差、大约、接近但不等于
-
eg:
/* 1 */
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
/* 2 */
float d1 = 2323123213132313f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
结论:最好完全使用浮点数进行比较。
使用BigDecimal(数学工具类)没有误差。
4). 字符扩展–Unicode编码表&转义字符:
①. Unicode编码表:
- 使用Unicode编码表时,一个字符占两个字节(ASCII码中,一个字符占一个字节)。第一个字节上,都是0.
- 使用Unicode编码的字符通过转义字符来表示。区间范围:U000 ~ UFFF( 16进制 ).
- 以2进制储存,写16进制是为了方便看.
- ( a = 97, A = 65 ) 最大可表示2^16 = 65536 ( 现在更多了 )
②. 转义字符:
字符 | 含义 |
---|---|
\n | 换行 |
\t | 制表符,相当于Tab. |
… | … |
(2)引用类型(reference type)
5). 默认值
除了基本类型,其余默认值都是null。
布尔值,默认是false。
3. 类型转换
Java是强类型语言,所以要进行某些运算时,需要用到类型转换。
运算中,不同数据类型的数据计算前须转化为同一数据类型。
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出或精度问题
(1). 强制类型转换
高到低,需要强制转换。
(2). 自动类型转换
低到高,系统自动转换。
1). 转换优先级
低 ---------------------------------------------------------------> 高
byte, short, char -> int -> long -> float -> double
4. 变量、常量
(1). 变量
-
变量:可以变化的量。
-
java是一种强类型语言,每个变量都必须声明其类型
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
声明变量格式:
type varName [=value]