赞
踩
一个梗: “当我们刚把代码写完,只有我跟上天能看得懂是什么意思;当过了一周,只有上天才能看得懂是什么意思了…"
代码注释的作用,是对程序中代码,进行解释说明;注释不参与编译,只是用作提高代码的可读性,辅助程序员记忆代码,辅助其他读者理解代码;
单行注释 与 多行注释
// 单行注释
/*
多行注释1
多行注释2
*/
文档注释
图片左侧是代码部分,图片右侧是通过下述代码自动生成的 API说明文档部分;
// 生成说明文档命令:
javadoc -d mydoc -author -version HelloWorld.java
字面量类型 | 说明 | 举例 |
---|---|---|
整数类型 | 不带小数点的数字 | -666, 99 |
小数类型 | 带小数点的数字 | 3.14, -5.12 |
字符串类型 | 双引号括起来的内容 | “HelloWorld”, “徐鸿铎”, " " |
字符类型 | 单引号括起来的内容 | ‘A’, ‘0’, ‘我’ |
布尔类型 | 就真假两个值 | true, false |
空类型 | null | 注意不能直接打印 null |
制表符 | /t | 在打印的时候,把前面的字符串的长度补齐到8位,最少补1个空格,最多补8个 |
// 制表符举例
public class HelloWorld {
public static void main(String[] args) {
System.out.println("name" + '\t' + "age");
System.out.println("tom" + '\t' + "23");
}
}
Java是强类型,在定义变量时,必须指定 变量类型、变量名,可以不指定 变量值;
// 制表符举例
public class HelloWorld {
public static void main(String[] args) {
int a = 1, b = 3;
System.out.println(a + b);
a = 2;
System.out.println(a);
}
}
类名、方法名、变量名、包名、常量名等都可以称为标识符;
long l1 = 123123123L;
// 注意long长整型需要最后带L字符。
float f1 = 12.3f;
// 注意浮点类型需要最后带f或者F字符。
// float以及double数据不适合用于精度要求高的领域,比如金融以及航天,如果需要高精度数字计算等,使用 BigDecimal 类;
char c1 = '\u0036'; // 支持Unicode
char c2 = '\n'; // 支持转义字符
char c3 = 97; // 输出内容为a,遵循的是ASCII码;
// char c4 = ''; // 不支持空
// char c5 = 'ab' // 不支持两个字符
boolean bo1 = true;
// boolean bo2 = 0; //错误,不支持除了true以及false的所有值
自动类型提升: 取值范围小的 --> 取值范围大的;
byte、short、char —> int —> long —> float —> double
byte、short、char 类型的变量之间做运算,结果为int类型;
byte b1 = 1;
short s1 = 2;
int i1 = b1 + s1;
char c1 = 'a';
byte b1 = 1;
int i1 = c1 + b1;
long l1 = 123123;
// 不加L也编译通过的原因是从int类型自动类型提升为long类型;
强制类型转换: 取值范围大的 --> 取值范围小的;
如果需要将容量大的变量类型转换为容量小的变量类型,需要使用强制类型转换
强制类型转换符号为:()
double d1 = 12.3;
// int i1 = d1; // 失败,原因为double类型比int类型取值范围大;
int i1 = (int)d1; // 强制类型转换为int类型
long l1 = 12;
// short s1 = l1; // 失败
short = (short)l1; // 强制类型转换为short类型
System.out.println(3+4+"Hello"); // 输出7Hello
System.out.println("Hello"+3+4); // 输出Hello34
System.out.println('a'+1+"Hello"); // 输出98Hello
System.out.println("a"+1+"Hello"); // 输出a1Hello
System.out.println("Hello"+'a'+1); // 输出Helloa1
System.out.println("*"+"\t"+"*");
System.out.println('*'+'\t'+'*'); // 注意上述两个结果不同
计算机数据的存储底层使用 二进制补码 的形式存储;
二、八、十、十六进制表示方法:
int num1 = 103; // 十进制
int num2 = ob10; // 二进制
int num3 = 023; // 八进制
int num4 = 0X23a; // 十六进制
取模
// 取模之后,结果与被除数的符号相同 int i1 = 12; int j1 = 5; System.out.println(i1 % j1); // 值为2 int i1 = -12; int j1 = 5; System.out.println(i1 % j1); // 值为-2 int i1 = 12; int j1 = -5; System.out.println(i1 % j1); // 值为2 int i1 = -12; int j1 = -5; System.out.println(i1 % j1); // 值为-2
自增
// ++a1 先自增,然后赋值
// a2++ 先赋值,然后自增
int a1 = 10;
int b1 = ++a1;
System.out.println(a1, b1); // a1: 11, b1: 11;
int a2 = 10;
int b2 = a1++;
System.out.println(a2, b2); // a2: 11, b2: 10;
保持原变量类型自增
byte b1 = 10;
// b1 = b1 + 1; // 错误,无法保持原类型自增;
b1++; // 保持原类型自增;
b1+=5; // 同样会保持原类型增加;
e . g . e.g. e.g.
int m = 2;
int n = 3;
n *= m++;
System.out.println(m); //3
System.out.println(n); //6
逻辑与 & 以及 短路与 &&
如果符号左侧是 true,&、&& 都会执行符号右侧的操作;
如果符号左侧是false,& 会继续执行符号右侧的操作,&& 不会执行符号右侧的操作;
开发中建议使用“短路与”以及“短路或”;
e . g . e.g. e.g.
boolean bo1 = (++a % 3 ==0) && (a++ % 7 ==0);
异或 ^
符号两边布尔值相同时,值为 false;
符号两边布尔值不同时,值为 true;
<< // 左移
>> // 右移,正数高位补0,负数高位补1
<<< // 无符号左移
& // 与
| // 或
^ // 非
~ // 取反
e . g . e.g. e.g. 三元条件运算符
double result = (2 > 1)? 1 : 2.0;
一个条件后跟一个问号( ? );如果条件为真值,则执行冒号( : )前的表达式;若条件为假值,则执行最后的表达式。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。