文章目录
Java 小基础
Java 运行机制
- 编译型(读一本外文书,一次翻译全部,快(操作系统))
- 解释型(读一本外文书,读一句翻译一句,慢())
- Java即是编译型也是解释型,JAVA程序先经过预编译,形成字节码class文件,class文件被发送到JVM虚拟机类装载器,校验,后成为可执行的JAVA.class文件,然后通过解释器翻译一次执行一次。
Java注释
public class demo01 {
public static void main(String[] args) {
//单行注释
System.out.println("Hello world!");
/*多行注释*/
/*
我是多行注释
我是多行注释(Ctrl+D是复制上一行)
*/
//JavaDoc:文档注释 /** */
/**
* @Description Hello World(描述)
* @Author 狂神说Java(作者)
**/
}
}
Java标识符和关键字
- 关键字
标识符注意
Java 数据类型
- 强类型语言
- 要求变量的使用要严格符合规定,所有变量必须先定义后使用(安全)
- 弱类型语言 (例如js “12”+1可为 数字123或者“123”,没有区分,容易写错
基本类型: 数值(整数、浮点数、字符)、布尔。
引用类型: 类、接口、数组。
八种数类型实现:看注释
public class demo2 {
public static void main(String[] args) {
//8大基本数据类型
int num1=10;//整数
byte num2 =100 ;//大于127报错,在-128-127之间
short num3 = 30;
long num4= 30L ;//加大写L
//小数
float num5 = 50.1F; //float后面加F
double num6 = 3.1415926;
//字符
char name = 'A'; //只能是一个字符
String namea = "chenqq"; //String不是一个关键字,是一个类
//布尔
boolean flag1 = true;
boolean flag2 = false;
}
}
什么是字节?
扩展及面试
- 二进制 0b 十进制 八进制 0 十六进制 0x 使用
- 银行业务如何表示?浮点数的比较问题(float 有限、离散 舍入误差 大约 接近但是不等于)
- 强制转换可以将字符变成数字,所有的字符本质还是数字
- 编码 Unicode表 占2字节 (0-65535)
- 其中 执行 char c3 = ‘\u0061’; 如果在后面加注释则会报错:“java: 非法的 Unicode 转义”
public class demo3 {
public static void main(String[] args) {
//整数拓展
// 进制 二进制 0b 十进制 八进制 0 十六进制 0x
int i = 10;
int i2 = 010; //八进制 在数字前面加0 0~7(0-7) 010(8)
int i3 = 0x10; //十六进制 在数字前面加0x 0~9(0-9) A~F(10-15) 0x10(16)
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("===============================");
//=========================================
//浮点数怎么扩展? 银行业务怎么表示?钱 不用浮点数比较
//BigDecimal 数学类的工具,能精确的比较,不有误差
//=========================================
//因为 float 有限、离散 舍入误差 大约 接近但是不等于
//double
//最好完全使用浮点数进行比较
float f = 0.1f;
double d = 1.0/10; //按道理都是0.1
System.out.println(f==d); //输出值false?
float d1 = 23243253545444f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //输出值true 因为 float 有限、离散 舍入误差 大约 接近但是不等于
//=========================================//
//字符拓展?
//=========================&