前言
Java基础学习笔记,仅供参考
一、注释
public class HelloWorld {
public static void main(String[] args) {
// 单行注释
/*
多行注释
加油
saf
safa
*/
// JavaDoc:文档注释
/**
* @deprecated HellWorld
* @author anxiaosong
*/
System.out.println("Hello, World!");
}
}
二、标识符
Java所有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符。
1.关键字
关键字是Java开发者使用的,基础方法的使用名。
2.标识符注意点
三、数据类型
分为基本数据类型(Primitive Type)和引用数据类型(Reference Type);基本类型有八种:整数(byte、short、int、long)、浮点数(float、double)、字符(char)、布尔值(boolean)。引用类型有类(如String)、接口、数组。
int默认值为0,double默认值为0.0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值
1.基础数据类型详解
public class Day2 {
public static void main(String[] args) {
// 八大基本数据类型
//整数 范围不同而已
int num1 = 10; //最常用 占四个字节 -*2^31~2^31-1
byte num2 = 20; // 占一个字节范围 -128~127
short num3 = 30; // 占两个字节范围 -32768~32767
long num4 = 45453; // 占8个字节 -*2^63~2^63-1
//小数:浮点数
float num5 = 50.111F; // float 后面要加F 占四个字节 3.402823e+38 ~ 1.401298e-45
double num6 = 3.1415926; // 占八个字节 1.797693e+308 ~ 4.9000000e-324
// 字符
char num7 = 'a'; // 单引号 一个字符占两个字节
//字符串Srting不是关键字,而是一个类,双引号表示,属于引用数据类型
String name = "slkajhfa";
// 布尔值
boolean flag = true; // 占1位 0/1
System.out.println(flag);
}
}
2.基础数据类型扩展
public class Day3 {
public static void main(String[] args) {
// 整数扩展:进制 二进制(0b开头) 十进制 八进制(0开头) 十六进制(0x开头)
int num1 = 10;
int num2 = 010; //八进制0 转化为十进制 1*8^1 + 0*8^0 = 8
int num3 = 0x10; //十六进制0x 0~9 A~F 16 转化为十进制 1*16^1 + 0*16^0 = 16
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println("=============================================");
// 浮点数扩展 银行业务如何表示钱? 使用BigDecimal 数据类工具
// float 有限 离散 舍入误差 大约 接近但不等于
// double
float f = 0.1f; // 0.1
double d = 1.0/10; // 0.1
System.out.println(f==d); // false
float d1 = 2312312112312f;
float d2 = d1 + 1;
System.out.println(d1==d2); // True
// 结论: 最好完全避免使用浮点数去比较
// 字符扩展
System.out.println("=============================================");
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制转换
System.out.println(c2);
System.out.println((int)c2); //强制转换
// 结论: 所有的字符本质还是数字 强制转换可以把字符变成数字
// 原因: 编码问题 Unicode 编码表:如 a=97 (ASCLL码)
// U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);
System.out.println("=============================================");
// 转义字符 /t 缩进 /n 换行
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
System.out.println("=============================================");
String sa = new String("hello word");
String sb = new String("hello word");
System.out.println(sa==sb);
String sc = "hello word";
String sd = "hello word";
System.out.println(sc==sd);
// 不相等原因:对象 从内存分析
}
}