3.Java基础语法学习
3.1注释
- 平时我们编写的代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
- 注释并不会被执行,是给我们写代码的人看的。
- 书写注释是一个非常好的习惯。
- Java的注释有三种:
1)单行注释 // 内容 ,用于注释一行文字
2)多行注释 /* 内容 */ ,用于注释一段文字
3)文档注释 JavaDoc
/**
*第一行
*第二行
*/
- 创建一个空的项目,在项目中创建模块(module),再在模块下创建类文件。
- 有趣的代码注释
3.2标识符和关键字
- 标识符
- 关键字
- Java所有的组成部分都需要有名字。类名、变量名以及方法名都被称为标识符。
- 标识符注意点
- 所有的标识符都应该以字母(A-Z或a-z),美元符($)、或者下划线(_)开始。
- 首字符之后可以是字母(A-Z,a-z),美元符($)、下划线(_)或数字的任何字符组合。
- 不能使用关键字作为变量名或方法名。
- 标识符是大小写敏感的。
- 合法的标识符举例:age 、$Salary、 _value、 _1_value
- 非法的标识符举例: 123abc、-salary、 #abc
- 可以使用中文命名,但是不建议这样去使用,也不建议使用拼音,很Low。
3.3数据类型
1. 数据类型
- 强类型语言(Java)
1)要求变量的使用要严格符合规定,所有变量都必须先定义后才可以使用。 - 弱类型语言
- Java的数据类型分为两大类
1)基本类型(primitive type)
2)引用类型(reference type)
public class demo1 {
public static void main(String[] args) {
//八大数据类型介绍
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30l; //long 类型要在后面加一个L
//小数:浮点数
float num5 = 50.1f; //float 类型要在后面加一个f
double num6 = 3.1415926325566256;
//字符
char name = '吕';
//字符串 String 不是关键字,用于表示类
//String name1 = "张三";
//布尔型:用于表示是与否
boolean flag = true;
boolean flag1 = false;
}
}
2. 什么是字节
- 位(bit):是计算机内部 数据储存 的最小单位,11001100是一个八位的二进制数。
- 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示。
- 1 B(byte,字节) = 8 bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号。
- 1 bit 表示 1位
- 1 Byte 表示一个字节 1B=8b
- 1024 B = 1 KB
- 1024 KB =1MB
- 1024 MB = 1GB
- 1024 GB = 1TB
3.4数据类型扩展及面试题解析
1. 整数拓展
- 进制
1)二进制0b
2)八进制0
3)十进制
4)十六进制0x
public class demo2 {
public static void main(String[] args) {
//整数拓展:进制 二进制0b 八进制0 十进制 十六进制0x
int num1 = 10; //十进制 0~9
int num2 = 010; //八进制 0~7
int num3 = 0x10; //十六进制 0~9 A~F
int num4 = 0b10; //二进制 0和1
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
输出结果:
2. 浮点数拓展
- 先来看一个例子:
public class demo3 {
public static void main(String[] args) {
//浮点数扩展:
//银行业务怎么表示?(钱)
float a1 = 0.1f; //0.1
double a2 = 1.0/10; //0.1
System.out.println(a1==a2); //false?
System.out.println(a1); //0.1
System.out.println(a2); //0.1
System.out.println("===============");
float a3 = 12134442414f;
float a4 = a3+1;
System.out.println(a3==a4); //true
System.out.println(a3);
System.out.println(a4);
}
}
输出结果:
- 为什么会有这种情况发生呢?
1)因为float 位数是有限的,且是离散的,存在舍入误差,大约,接近但不等于的情况。
2)因此最好完全避免使用浮点数进行比较。 - 那么银行业务中的钱,又该如何表示呢?
1)不使用浮点数,而使用一个 类:BigDecimal 数学工具类
3. 字符拓展
我们来看一个例子:
public class demo4 {
public static void main(String[] args) {
//字符拓展
char a1 = 'a';
char a2 ='中';
System.out.println(a1);
System.out