目录
1 预备知识
1.1 进制转换
二进制与十进制基础知识(过)
1.1.1 十进制转二进制
除2取余,逆序排列
1.1.2 二进制转十进制
权相加法
1.2 注释
-
单行注释://
-
多行注释:/*开始 */结束,比较灵活
-
文档注释
1.3 标识符
标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name等,标识符需要遵守一定的规则:
-
标识符必须以字母、下划线、美元符号开头
-
标识符其他部分可以是字母、下划线、美元符和数字任意组合
-
Java标识符大小写敏感,且长度无限制
-
标识符不可以是Java关键字
-
驼峰原则:多个单词首字母大写,大驼峰、小驼峰(过)
2 变量
变量是一个”可操作的存储空间”,Java是强类型。
2.1 变量的声明
格式
type varName[=value];
//[]中的内容为可选项,可有可无
数据类型 变量名 [=初始值];
示例1:声明变量
double salary; //8个字节大小
long earthPolulation; //8个字节大小
int age; //4个字节大小
示例2:声明变量同时初始化
int age=18;
double e=2.718281828;
2.2 变量分类
类型 | 声明未知 | 从属于 | 生命周期(作用域) |
---|---|---|---|
局部变量 | 方法或语句块内部 | 方法/语句块 | 从声明位置开始,直到方法或语句块执行完毕,局部变量消失 |
成员变量(实例变量) | 类内部,方法外部 | 对象 | 对象创建,成员变量也跟着创建,对象消失,成员变量也跟着消失 |
静态变量(类变量) | 类内部,static修饰 | 类 | 类被加载,静态变量就有效,类被卸载,静态变量就消失 |
2.3 常量
常量是一个固定的值,一般用final修饰,声明格式
final type varName = value;
示例
public class TestContants{
public static void main(String[] args){
final double PI = 3.14;
//PI = 3.15会报错,常量只能初始化一次
double r = 4;
double area = PI*r*r;
double circle = 2*PI*r;
System.out.println("area=" + area);
System.out.println("circle=" + circle);
}
}
3 基本数据类型
Java中定义了3类8种数据类型
-
数值型 - byte、short、int、long、float、double
-
字符型 - char
-
布尔型 - boolean
3.1 整型
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 | -2^7~2^7-1(-128~127) |
short | 2字节 | -2^15~2^15-1(-32768~32767) |
int | 4字节 | -2^31~2^31-1(-2147483648~2147483647)约21亿 |
long | 8字节 | -2^63~2^63-1 |
整型常量四种表示形式
-
十进制:如0,1,99,-100
-
八进制:要求以0开头,如015
-
十六进制:要求以0x或0X开头,如0x15
-
二进制:要求以0b或0B开头,如0b0111011
public class Testint{
public static void main(String[] args){
byte a = 100;
int b = 500;
int c = 05; //八进制
int d = 0x15; //十六进制
int e = 0b101011; //二进制
long f = 555555;
long f1 = 5555555555555555L; //整数太大加L,否则默认int类型
System.out.println(e);
}
}
3.2 浮点型
浮点型表示小数,是不精确的,有误差的。
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float | 4字节 | -3.403E38~3.40E38 |
double | 8字节 | -1.798E308~1.798E308 |
浮点型两种表示形式:
-
十进制数形式:如3.14,41.0
-
科学记数法形式:如3.14e0,3.14E2,3.14E-1
示例
double f = 314e2; //314*10^2-->31400
double f1 = 314e-2; //314*10^(-2)-->3.14
注意,浮点数是不精确的,尽量不要直接比较,可能会有问题。
示例
public class Testint{
public static void main(String[] args){
float d3 = 0.1F;
double d4 = 1.0/10;
System.out.println(d3==d4);
}
}
// 结果为false
3.3 字符型
Java采用Unicode字符集,在内存中占用2个字节。
示例
public class TestChar{
public static void main(String[] args){
char c1 = 'a';
char c2 = '中'; //Java中没有字符串类型
System.out.println(c1);
System.out.println(c2);
//Java内部字符串不是基本数据类型,而是一个独立的类
String str = "我爱中国";
System.out.println(str);
}
}
转义字符
转义符 | 含义 |
---|---|
\b | 退格 |
\n | 换行 |
\r | 回车 |
\t | 制表符 |
\ " | 双引号 |
\ ' | 单引号 |
\\ | 反斜杠 |
public class TestChar{
public static void main(String[] args){
char c1 = 'a';
char c2 = '中'; //Java中没有字符串类型
System.out.println(c1);
System.out.println(c2);
//Java内部字符串不是基本数据类型,而是一个独立的类
String str = "我爱中国";
System.out.println(str);
System.out.println("a\nb\na\tb\t");
}
}
/*
输出
a
b
a b
*/
3.4 boolean型
两个值,true和false,在内存中占用1个字节或4个字节。Java中不能使用0或非0代表true和false。
示例
public class Testbool{
public static void main(String[] args){
boolean b1 = true;
boolean b2 = false;
if(b1/*或者b1==true,一样*/){
System.out.println("b1是true");
}else{
System.out.println("b1是false");
}
}
}