Java基础01——基础知识1
注释、标识符、关键字
注释
-
书写注释是一个非常好的习惯*
-
单行 //一行文字
-
多行 /* 一段文字 */
-
文档注释 /** */
-
试着搜搜有趣的代码注释
标识符
- Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
- 所有的标识符都应以大小写字母、美元符($)、或者下划线(_)开始
- 首字母之后可以是任意字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 汉字也可以作为变量名(不建议使用,不规范)
关键字
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
详见关键字
数据类型
- Java是一种强类型语言,需要变量的使用要严格符合规定,所有的变量都必须先定义后才能使用
基本类型
-
整数类型
byte占一个字节范围:-128~127; short占2个字节范围:-32768~32767;
int(最常用) 占4个字节范围:-2147483648~2147483647;
long(使用时数值后要加L) 占8个字节范围;
-
浮点类型
float(使用时数值后要加F)占4个字节; double占8个字节;
-
字符类型
char占2个字节;
-
boolean类型
占1位 只有true和false两个值
-
String不是关键字,类
引用类型
类、接口、数组
拓展
-
整数拓展
二进制0b 十进制 八进制0 十六进制0x
int i = 10; int i2 = 010;//八进制0 int i3 = 0x11;//十六进制0x 输出时转变为十进制 -
浮点数拓展
浮点数存在有限、离散、舍入误差的特性,表示大约,接近但不等于
最好完全避免使用浮点数进行比较
eg:
float f = 0.1f;//0.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false,相同的数比较后得到假值 float d1 = 232331313123123f; float d2 = d1 + 1; System.out.println(d1==d2);//true,不相同的数却得到真值ps:BigDecimal 数学工具类, 可用于银行业务表示钱
-
字符拓展
//所有的字符本质还是数字 char c1 = 'a';//Unicode编码表示中 'a' 为 '\u0061' char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强制类型转换 System.out.println(c2); System.out.println((int)c2); //得到结果: a 97 中 20013 //编码 Unicode 表:(97 = a 65 = A) 2字节 0 ~ 65536 //U0000 UFFFF //转义字符 // \t 制表符(table) // \n 换行 // ... -
布尔值拓展
boolean flag = true; if(flag==true){}//等同于下面 if(flag){}//老手 //Less is More! 代码要精简易读
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
-
运算中,不同类型的数据先转化为同一类型,然后进行运算
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
再把高容量转换到低容量的时候,强制转换
-
转换的时候可能会存在内存溢出或者精度的问题
-
低 ————————————————高
byte,short,char -> int -> long -> float -> double
强制转换
-
高到低
System.out.println((int) 23.7); System.out.println((int)-45.89f); //输出 23 -45
自动类型转换
-
低到高
char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char) d); System.out.println("=================="); //输出 98 b
溢出问题
int i = 128;
byte b = (byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
//输出
128
-128
int money = 10_0000_0000;//数字间可以用下划线分割
int years = 20;
int total = money*years;//计算时会溢出
long total2 = money*years;//默认是int,转换前已经存在问题?
long total3 = money*((long)years);//先把一个数转换为long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
//输出
-1474836480
-1474836480
20000000000
-
命令行生成Doc文档 : javadoc 参数 Java文件
-
IDEA生成JavaDoc文档

浙公网安备 33010602011771号